24.06.2015

Работа исследовательской группы из Университета Шеффилда (The University of Sheffield, UK) посвящена разработке программного обеспечения для построения крупномасштабных пешеходных агент-ориентированных моделей с использованием графических процессоров (Graphics Processing Unit, GPU), которые потенциально обеспечивают высокую производительность приложений. Это особенно важно для визуализации городской среды, представляющей собой сложную пространственную структуру с большим количеством движущихся объектов.

Разработанное программное обеспечение позволяет описывать поведение агентов, а также изменение их данных на высоком уровне (в виде написания соответствующих скриптов) – без непосредственной работы с памятью GPU. Такая возможность обеспечивается специальной функцией (‘F’), отображающей информацию агентов в набор двухмерных упорядоченных 32 битных текстур с данными четырех каналов (три цветных – красный (Red), зеленый (Green), синий (Blue) и альфа-канал (Alpha), или RGBA), см. рис. 1.

Pedestrians1.JPG

Рис. 1. Пример отображения трех переменных агента в двухмерную текстуру

Расширение OpenGL – Frame buffer object (FBO) предоставляет возможность внеэкранного рендеринга сцен в несколько текстур (за счет применение метода одновременного рендеринга MRT (Multiple Render Targets)).

Как правило, части пространства используются либо для непосредственного хранения данных агентов, либо они содержат указатели на данные в пространстве самого агента. В соответствии с этой методологией моделируемое пространство делится на подпространства, размер которых пропорционален радиусу видимости агентов, содержащихся в подпространстве. Затем вычисляются все связи каждого агента внутри собственного и внешних подпространств.

Определение поведения агентов

Поведение агентов задается с использованием соответствующего API в виде скриптов на языке Си, а также путем переопределения функций базового класса. Приведенное ниже уравнение рассчитывает силу, являющуюся результирующей нескольких других сил, действующую на каждого агента и определяющую параметры его движения (скорость и направление):

Fi = Ri + Cri +Gi +Mi                                                                (1)

В этом соотношении Ri – переменная, характеризующая воздействие на агента со стороны социума, Cri – сила, действующая на близком расстоянии (корректирующая движение для избегания столкновений), Gi – сила, зависящая от цели движения агента и приближающая его к ней, Mi – сила, воздействующая на агента со стороны окружающей среды.

У агентов в тестируемой модели ограниченный горизонт видимости, который упрощает межагентное взаимодействие, т.к. исключает из расчетов невидимых для агента членов моделируемого социума. Уравнение (2) описывает силу, воздействующую на агента со стороны видимых для него агентов:

Pedestrians_f1.JPG,                                          (2)

где S – регулируемый параметр, определяющий силу воздействия, Pi и Pj – пространственные координаты агентов, λ – значение угла между линией движения агента i и линией, связывающей координаты агентов i и j, а переменная I регулирует уровень влияния расстояния между агентами на силу воздействия.

Сила Cri, в отличие от Ri, не зависит от направления движения агентов, но проявляет себя в случае повышенной концентрации агентов и позволяет предотвращать столкновения между ними.

Визуализация

Рендеринг агентной модели достигается двумя различными методами. Первый – использование треугольных примитивов, каждый из которых представлен текстурными координатами, обрабатываемыми вершинным шейдером, вычисляющим окончательные параметры объектов. Поскольку пешеходы это не статичные объекты, важно анимировать их передвижения реалистично, с учетом телодвижений. Для этого была использована технология создания анимации по ключевым кадрам, с одной стороны упрощающая визуализацию, а с другой – снижающая вычислительную нагрузку.

Посредством первого метода каждый пешеход анимируется с одинаковым уровнем детализации. С целью экономии вычислительных ресурсов в рендеринге агентной модели применяется второй метод – LOD (Levels Of Detail – уровни детализации), заключающийся в создании несколько вариантов одного и того же объекта с разными уровнями детализации. Эти уровни меняются в зависимости от степени удаленности виртуальной камеры (находящиеся на далеком расстоянии объекты подробно не детализируются).

У каждого агента есть переменная, используемая для хранения соответствующего ему номера уровня LOD, значение которой обновляется на каждом шаге.

Результат применения второго метода показан на рис. 2, где пешеходы окрашены согласно их принадлежности уровням LOD.

Pedestrians2.JPG

Рис. 2. 65 000 взаимодействующих агентов-пешеходов, анимированных с использованием LOD

Производительность и результаты

Для всех расчетов поведение агентов определялось уравнением 1. На рис. 3 отображена используемая в модели карта Садов Мира (Peace Gardens), расположенных в Шеффилде (Англия) с обозначенными для агентов препятствиями, а результаты моделирования, в сравнении с полученными со спутника данными, показаны на рис. 4.

Pedestrians3.JPG

Рис. 3. Используемая в модели карта

Pedestrians4.JPG

Рис. 4. Спутниковый снимок Садов Мира Шеффилда (слева) и результат симуляции (справа)

На рис. 5 показана зависимость между горизонтом видимости у агентов, измеряемым в метрах и количеством пешеходов, входящих в систему поиска (lookups) для возможной связи (communications). Соотношение между состоявшимися связями у агентов и количеством видимых агентов, потенциально готовых к взаимодействию для всех случаев составляет примерно 35%.

Pedestrians5.JPG

Рис. 5. Зависимость между горизонтом видимости агентов, их потенциальными контактами и связями

График производительности приложения, показывающий зависимость между количеством агентов и кадровой частотой (Frames Per Second) с учетом различных горизонтов видимости приведен на рис. 6. Отметим, что в случае более дальнего горизонта (32 метра) производительность тестируется с учетом большего объема данных для планирования движения агентов.

Вообще говоря, применение двух упомянутых выше методов рендеринга агентной модели показало вполне удовлетворительные результаты. Так, при видимости агентов равной 4 метрам, производительность модели для 262 144 агентов составляет 13 кадров в секунду, а для 65 536 агентов – 42 кадра в секунду.

Pedestrians6.JPG

Рис. 6. Производительность рендеринга для примитивных агентов с горизонтом видимости в 4 и 32 метра

Далее оценка рендеринга осуществлялась посредством использования различных уровней детализации (нулевой уровень – самая низкая степень детализации, а второй уровень – самый высокий). Рис. 7 показывает, что для 16 384 агентов при высокой степени детализации второго уровня (1000 полигонов) производительность составляет менее 20 кадров в секунду, а при детализации первого уровня (400 полигонов) составляет уже 40 кадров в секунду. В свою очередь, применение алгоритма интеллектуального рендеринга с использованием LOD, позволяет увеличить производительность до 50 кадров в секунду. С другой стороны, применение такого алгоритма не оправдано при незначительном числе агентов (ниже 1 024).

Pedestrians7.JPG

Рис. 7. Производительность рендеринга агентной модели для различных уровней детализации

Дальнейшее развитие модели авторы видят в увеличении численности пешеходов до размеров среднего города с одновременным усложнением ландшафта. Помимо этого, предполагается настройка агентов путем разработки индивидуальной походки для отдельных пешеходов, а также усложнение и разнообразие их внешнего вида.

Более подробно про модель можно прочитать на сайте разработчика, а также на сайте компании NVIDIA (в разделе с примерами моделей, разработанных с помощью программно-аппаратной архитектуры CUDA).

rss
Назад

Статьи
Суперкомпьютерные технологии Демография Cуперкомпьютерные технологии Агент-ориентированные модели БРИКС METIS Высокопроизводительные вычисления Транспортные модели пешеходная модель МЁБИУС Монография Parallel computing Параллельные вычисления Биомедицина Axum SWAGES Публикации CUDA Microsoft Social Simulation Conference ГИС Междисциплинарное исследование Новости Революция Экономические процессы цунами Case HPS POLARIS TSUBAME Методология запуска О проекте Социальная сеть Эксафлопная производительность XAXIS Иерархическая платформа Механизм раделяемой памяти Пандемия Ссылки Эпидемия D-MASON Repast Исследования Моделирование мира Пандора Стратегии распараллеливания Ядерная атака на США FuturICT Russian Supercomputing Days Агент-ориентированный подход Исторические процессы Моделирование эпидемий Суперкомпьютерная Академия автоматическое распараллеливание GPU SEGMEnT Клеточные автоматы Модель экономики Евросоюза Пространственно-распределенные агентные модели Суперкомпьютерные дни агентная модель HPABM SSC Контакты Мониторинг планеты Пространственные модели большие данные