10.06.2013
В суперкомпьютерном центре Барселоны (Barcelona Supercomputing Centre) разработано высокопроизводительное программное обеспечение для построения крупномасштабных агент-ориентированных моделей – Пандора (Pandora). Также Пандора обеспечивает полную поддержку геоинформационных систем в том случае, если для функционирования моделей необходима географическая привязка агентов.

Результат каждой симуляции хранится в иерархическом формате данных (Hierarchical Data Format, HDF), предназначенном для хранения большого количества цифровой информации. Этот формат поддерживается большинством ГИС.

Пандора дополняется программой Кассандра (Cassandra), позволяющей визуализировать процесс выполнения симуляции с использованием 2D и 3D графики.

Ниже перечислены ключевые особенности Пандоры и Кассандры:
  • все возможности C++ для разработки, выполнения и анализа агентных моделей и клеточных автоматов;
  • параллельное выполнение программного кода, используя интерфейсы MPI/OpenMP;
  • высокая масштабируемость;
  • поддержка ГИС;
  • возможность разработки распределенных агентов, построенных с использованием технологий искусственного интеллекта. 
Разработчики предлагают использовать Пандору для следующих исследовательских направлений:
  • социальные явления, анализ социальных сетей и межличностные взаимодействия;
  • сложные социально-экономические системы;
  • миграционные процессы и др.

Механизм работы Пандоры отображен на рис. 1. После концептуального определения каркаса создаваемой модели, ее первая реализация может быть разработана с помощью скриптов языка Python, а полученные результаты затем обрабатываются с использованием нескольких инструментов анализа. Если для реализации модели потребуются дополнительные аппаратные ресурсы, Пандора может конвертировать программный код в C++ версию, при этом автоматически его распараллелив. Таким образом, по заверению разработчиков, от пользователя не требуется дополнительных усилий по адаптации программного кода для узлов суперкомпьютера.

pandora1.jpg
Рис. 1. Механизм реализации агентных моделей с использованием Пандоры

Среда функционирования агентов в Пандоре определяется как набор слоев, содержащих растровые карты, соответствующие стандартам ГИС. В процессе симуляции, моделируемая среда, а также населяющие ее агенты, равномерно распределяются по узлам суперкомпьютера.

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

Разработанные модели являются хорошомасштабируемыми, хотя есть проблема с синхронизацией действий агентов. В Пандоре она решается путем разделения каждого узла на четыре равные части (0, 1, 2 и 3). Программный код всех агентов, обрабатываемых в части 0 выполняется одновременно и без конфликтов, поскольку эта часть узла не является смежной по отношения к аналогичной части другого узла (рис. 2). Полученные в результате выполнения кода результаты далее передаются для последовательного выполнения соседним частям (1, 2 и 3). После этого, данные всех узлов синхронизуются и выполнение модели переходит на следующий шаг.

pandora2.jpg
Рис. 2. Схема типового узла, поделенного на четыре раздела, последовательно выполняющих вычисления

Синхронизация в Пандоре осуществляется с помощью интерфейса MPI. Кроме того, директивы OpenMP используются для распределения вычислительной нагрузки по различным процессорам внутри узла. При анализе разных пакетов для разработки агентных моделей было выявлено, что наиболее ресурсоемкими участками кода являются моменты сбора информации и решения о порядке выполнения программных инструкций на следующем шаге. В Пандоре, для одного процессора выполняемый шаг модели содержит в себе три составляющих метода. В рамках первого из них (updateKnowledge) агенты собирают информацию, но не могут изменять параметры среды и состояния других агентов. Второй метод (SelectAction) позволяет агентам принимать решения и генерировать последовательность дальнейших действий, но по-прежнему не разрешает проводить какие-либо изменения. Наконец во время третьего метода (updateState) агенты меняют свое состояние. В случае использования множества процессоров, Пандора равномерно распараллеливает между ними объем вычислений первых двух методов (наиболее ресурсоемких). Что касается процедур третьего метода, то они выполняются последовательно с тем, чтобы избежать возможных конфликтов.

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

pandora3.jpg
Рис. 3. Программная реализация агента в рамках цикла

Более подробно про проект можно прочитать здесь и в следующей статье: [Wittek P., Rubio-Campillo X. (2012): Scalable agent-based modelling with cloud HPC resources for social simulations. IEEE 4th International Conference on Cloud Computing Technology and Science (CloudCom), December 3-6, Taipei, Taiwan].

Дистрибутив Пандоры можно скачать отсюда.

rss
Назад

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