Иерархическая платформа для параллельной реализации пространственно-распределенных агент-ориентированных моделей
21.10.2015

Иерархическая платформа для параллельной реализации пространственно-распределенных агент-ориентированных моделей (A Hierarchical Parallel Simulation Framework for Spatially-explicit Agent-based Models, HPABM).

Разработанная в Национальном центре суперкомпьютерных приложений (National Center for Supercomputing Applications, NCSA) Иллинойского университета иерархическая платформа позволяет реализовывать агент-ориентированные модели, построенные на базе геоинформационных систем с использованием высокопроизводительных вычислительных ресурсов. При расчетах исходная агентная модель декомпозируется на несколько субмоделей, каждая их которых представляет собой отдельный блок для параллельных вычислений, содержащий набор агентов, имеющих географическую привязку.

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

HPABM-1.png                                           (1)

при условиях:
HPABM-2.pngHPABM-3.png;
HPABM-4.png;
HPABM-5.png;
HPABM-6.png;
HPABM-7.png;

где

HPABM-8.png – графы, содержащие супер- и субмодели;

SuperM, SubM – наборы супер- и субмоделей (будут определены позже);
V, E – вершины и ребра графа G, содержащего супермодели;
HPABM-9.png – вершины и ребра графа HPABM-10.png, содержащего субмодели;
HPABM-11.png – субграф, содержащий субмодели i-ой супермодели; HPABM-12.png;
HPABM-13.png – вершины и ребра субграфа HPABM-11.png;
HPABM-14.png;
HPABM-15.png;
HPABM-16.png – матрицы смежности для соответствующих графов;
HPABM-17.png – вершины соответствующих графов;
HPABM-18.png – супермодели i и j в наборе супермоделей;
HPABM-19.png – общее количество супер- и субмоделей;
HPABM-20.png – субмодели в i-ой супермодели HPABM-21.png;
HPABM-22.png – количество субмоделей в i-ой супермодели;
HPABM-23.png – субмодели, входящие в набор субмоделей.

HPABM-24.png

Рис. 1. Концептуальное представление агент-ориентированной модели, разработанной в HPABM и реализуемой в параллельном режиме (A – распределение супер- и субмоделей; B – граф, показывающий топологию супермоделей)

Упрощенно каркас HPABM может быть также представлен четырьмя уровнями (с соответствующими графами): модель, субмодель, супермодель, процессор (рисунок 2). Агентам, связям между ними и среде их функционирования соответствует граф, представляющий динамику всей системы. Процессоры могут быть организованы в граф отображающий аппаратную архитектуру, и, в свою очередь супер- и субмодели представляются графами, связывающими агентную модель с вычислительными ресурсами. При использовании решеток для отображения набора субмоделей (см. рис. 1), набор вершин графа субмоделей может быть определен следующим образом:

HPABM-25.png                (2)

где HPABM-26.png – вершина в наборе HPABM-27.png; HPABM-28.png – субмодель, находящаяся в i-ом ряду и j-ом столбце решетки набора субмоделей, nr(nc) – количество рядов (столбцов) решетки.

HPABM-29.png

Рис. 2. Архитектура HPABM

Супермодели

Каждая супермодель организует порядок вычислений набора субмоделей, а также межпроцессорную связь и обмен информацией с другими супермоделями. Набор супермоделей SuperM (см. соотношение 1) может быть определен таким соотношением:

HPABM-30.png                              (3)

где HPABM-21.png – i-я супермодель, представляющая собой шестикомпонентную структуру, HPABM-31.png – общее количество супермоделей, spid – идентификационный номер супермодели, определяемый набор субмоделей HPABM-32.png. Далее, HPABM-33.png обозначает супермоделей, являющихся соседями HPABM-21.png, а ps хранит информацию о процессоре, с которым супермодель связана. Processors – набор процессоров, используемых для вычисления агентной модели и он может динамически обновляться в процессе расчетов. Buffersp является буфером обмена информацией относительно состояния агентов и их среды между супермоделями.

Таким образом, супермодели обеспечивают механизм связывания между процессорами суперкомпьютера и агент-ориентированными моделями. Супермодели могут быть представлены в виде направленного графа (рис. 1), в котором каждая супермодель является вершиной, а отношения между ними – ребрами.

Субмодели
Выше было сказано, что субмодели являются основными вычислимыми единицами HPABM, и при этом соотношение (4) определяет набор субмоделей SubM (упомянутый в соотношении 1). Каждая субмодель связана с соответствующей супермоделью посредством информации modelsp. Используя информацию о своих соседях, хранящуюся в NBsb, субмодель может сообщить, информация от какой супермодели ей нужна для дальнейшей оптимизации межпроцессорного сообщения.

HPABM-34.png      (4)

где

HPABM-35.png – k-я субмодель из набора субмоделей;

sbid – идентификационный номер субмодели;
AG, EN – наборы агентов и их среда, рассматриваемые в субмодели;
modelsp – супермодель к которой соотносится HPABM-35.png;
NBsb – набор субмоделей, являющихся соседями HPABM-35.png;
nsb – общее количество субмоделей.

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

HPABM-36.png

Рис. 3. Набор субмоделей, разработанных в HPABM (A – распределение субмоделей; B – граф субмоделей, где супермодели дифференцированы по цвету)

Субмодели в рамках супермодели также могут быть представлены в виде субграфа (см. HPABM-11.png в соотношении 1 и рис. 4) более общего графа всех субмоделей. Таким образом, может быть получена иерархическая структура всех элементов, входящих в агентную модель. 

HPABM-37.png

Рис. 4. Субграф, связывающий суб- и супермодели.

Техническая реализация иерархическая платформа для параллельной реализации агентных моделей.

Реализация параллельных агентных моделей в HPABM осуществляется следующим типовым алгоритмом (листинг 1). В силу того что агенты и их среда динамически изменяются, синхронизация и обмен данными между процессорами в значительной степени определяют производительность агентной модели. HPABM представляет возможность разработчикам распараллеливать модели на уровне супер- и субмоделей не касаясь программирования на более низком уровне вычислительных ресурсов.


Начало алгоритма
1. Инициализация модели
      1.1. Определение степени необходимой детализации модели
      1.2. Дезагрегирование модели на субмодели
      1.3. Построение топологии субмоделей
      1.4. Присваивание субмоделей к супермоделям
      1.5. Построение топологии супермоделей
2. Выполнение модели
      For на каждой итерации выполняется проверка
             If Is_ReBuild_SuperModel_Topology() == True Then
                     Перепостроение топологии супермоделей
                     Перенос субмоделей между супермоделями
             EndIf
             For супермодели sp, рассчитываемой на процессоре p
                     For каждой субмодели sb, входящей в супермодель sp
                              Обновление субмодели sb
                     End For
             End For
             Синхронизация модели
      End For
3. Получение результатов от супермоделей
4. Окончание работы модели
Окончание алгоритма


Листинг 1. Алгоритм реализации агентной модели, разработанной в HPABM

Пример использования

В качестве примера использования HPABM разработчиками была реализована простая пространственная агентная модель «Хищник-жертва». Пространство задано двухмерной решеткой, ячейки которой содержат различное количество ресурсов, изменяемое в единицу времени. Агенты модели отличаются несколькими характеристиками (размер, возраст и др.), а также правилами поведения, что по-разному влияет на отношения «агент-среда». Представленная на решетке модель разделена на области (содержащие агентов и часть среды), каждая из которых обрабатывается субмоделью. В свою очередь субмодели объединены в супермодели (рисунок 5).

HPABM-38.png

Рис. 5. Реализация простой агентной модели в HPABM (Слева – агенты и среда, справа – супер- и субмодели; размер ландшафта 1 200×1 200, количество агентов – 10 000; пространство субмоделей 8×8, ландшафт, обрабатываемой одной субмоделью 150×150, количество супермоделей – 5).

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

Эксперименты
Для расчетов авторы использовали суперкомпьютер Mercury, расположенный в Национальном центре суперкомпьютерных приложений Иллинойского университета. Платформа HPABM реализована на C с использованием программного интерфейса MPI (Message Passing Interface) для распараллеливания. При проведении экспериментов с упомянутой выше моделью отслеживалось влияние детализации пространства на производительность параллельной версии с использованием двух вычисляемых характеристик – ускорение (Snp, уравнение 5) и эффективность (Enp, уравнение 6).

Snp = T1/Tn                                                (5)

Enp = Snp / n                                               (6)

где T1 – время выполнения последовательной версии алгоритма, Tn – время выполнения параллельной версии на n процессорах.

Для оценки влияния детализации пространства были проведены расчеты по четырем сценариям G1, G2, G3, G4, которые отличаются размером решетки (см. таблицу 1). Размер ландшафта в тестируемой модели 12 800×12 800, количество агентов – 409 600, а количество итераций 200. В рамках каждого сценария модель запускалась с различным числом процессоров от 2 до 16, изменяемым с шагом 2, со средним числом прогонов равным 10 (для получения усредненных оценок). 

В таблице 2 приведено время выполнения агентной модели для четырех сценариев. Как видно, время расчетов уменьшается в зависимости от использования дополнительных процессоров. Отметим, что для последовательной версии модели среднее время вычислений составило 1126,3 секунд. 

Таблица 1

Параметры сценариев для получения оценок производительности

Сценарии

Размер решетки субмоделей

Размер ландшафта для субмоделей

Количество агентов на одну субмодель

G1

8×8

1 600×1 600

6 400

G2

16×16

800×800

1 600

G3

32×32

400×400

400

G4

64×64

200×200

100

Таблица 2

Время выполнения агентной модели для четырех сценариев, в секундах

Число процессоров

G1

G2

G3

G4

2

1 009,6

962,1

1 026,5

2 162,7

4

569,6

530,7

519,5

735,7

6

458,7

437,0

415,6

492,8

8

447,3

402,5

389,7

422,3

10

411,6

383,2

365,2

384,9

12

407,5

376,5

366,1

358,3

14

390,3

367,4

350,2

333,9

16

385,4

359,3

349,2

318,5

На рис. 6 показаны результаты оценок производительности модели, рассчитанные по формулам (5) и (6). Как видно, ускорение увеличивается, а эффективность расчетов снижается в зависимости от прироста числа процессоров.

HPABM-39.png

Рис. 6. Результаты оценки производительности для параллельной версии модели (A: ось абсцисс – число процессора, ось ординат – ускорение; B: ось абсцисс – число процессора, ось ординат – эффективность)

Далее были проведены два эксперимента (Exp1 и Exp2) для оценки масштабируемости модели в зависимости от размера пространства и количества агентов. В таблице 3 приведены параметры для экспериментов – для каждого сценария размер решетки для субмоделей составляет 32×32, а количество супермоделей для всей агентной модели – 16. Число прогонов для каждого сценария 10, а количество итераций в рамках каждого прогона 200.

Таблица 3

Параметры для проведения экспериментов

Эксперименты

Параметры для субмоделей

Параметры для всей модели

Размер ландшафта

Количество агентов

Размер ландшафта

Количество агентов

Exp1

200×200

400

6 400×6 400

409 600

400×400

400

12 800×12 800

409 600

600×600

400

19 200×19 200

409 600

800×800

400

25 600×25 600

409 600

1 000×1 000

400

32 000×32 000

409 600

Exp2

400×400

200

12 800×12 800

204 800

400×400

400

12 800×12 800

409 600

400×400

600

12 800×12 800

614 400

400×400

800

12 800×12 800

819 200

400×400

1 000

12 800×12 800

1 024 000

400×400

1 200

12 800×12 800

1 228 800

На рис. 7 и 8 показаны результаты расчетов для параллельной версии агентной модели. Как видно, ускорение и эффективность прирастают в зависимости от увеличения ландшафта и снижаются при увеличении числа агентов.

HPABM-40.png

Рис. 7. Оценки производительности агентной модели в зависимости от размера ландшафта

HPABM-41.png

Рис. 8. Оценки производительности агентной модели в зависимости от числа агентов

В таблице 4 приведены результаты оценки производительности модели с размером ландшафта 12 800×12 800, числом агентов 409 600 и размером решетки для субмоделей 16×16 в зависимости от изменения числа процессоров. При этом отслеживаемые величины ведут себя вполне ожидаемо.

Таблица 4

Производительность параллельной версии модели

Число процессоров

Время выполнения

Ускорение

Эффективность

1

5 291

1,00

1,00

10

990

5,34

0,53

20

495

10,69

0,53

30

346

15,29

0,51

40

269

19,67

0,49

50

232

22,81

0,46

HPABM также использовалась для агентных моделей большой размерности, техническая реализация которых была аналогична описанной выше и во всех случаях показала свою эффективность. Более подробно про HPABM можно прочитать в публикациях автора – Wenwu Tang.


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 Контакты Мониторинг планеты Пространственные модели большие данные