Использование суперкомпьютеров для работы с агент-ориентированными моделями1




Скачать 37.63 Kb.
Дата08.09.2016
Размер37.63 Kb.
Использование суперкомпьютеров для работы с агент-ориентированными моделями1
Компьютерное моделирование – широчайшая, интереснейшая и интенсивно развивающаяся область, востребованная сегодня практически во всех областях человеческой деятельности. Агент-ориентированный подход к моделированию очень универсален и удобен для прикладников в силу свой наглядности, но его также отличает и требовательность к вычислительным ресурсам. Очевидно, что прямое моделирование достаточно длительных социальных процессов в масштабах страны в целом требуют весьма значительной вычислительной мощности.

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

В марте 2011 г. на суперкомпьютере «Ломоносов» была запущена модель, имитирующая развитие социально-экономической системы России на протяжении последующих 50 лет. Эта агент-ориентированная модель основана на взаимодействии 100 млн. агентов, условно представляющих социально-экономическую среду России. Поведение каждого агента задано набором алгоритмов, которые описывают его действия и взаимодействие с другими агентами в реальном мире.

Проект задействовал 5 человек: 2 специалистов ЦЭМИ РАН (В.Л. Макаров, А.Р. Бахтизин) и 3 со стороны МГУ (В.А. Васенин, В.А. Роганов, И.А. Трифонов). Данные для моделирования были предоставлены Федеральной службой государственной статистики и российским мониторингом экономического положения и здоровья населения. Модель для обычного компьютера была построена в 2009 г., а в 2011 году она была конвертирована в «суперкомпьютерную» версию.

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

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

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

Так, при начальной разработке сложного прикладного программного обеспечения в первую очередь стараются сократить издержки на программирование, обучение персонала, повысить переносимость между платформами и т д, а оптимизацию откладывают «на потом». И это вполне разумно, так как на ранних стадиях приоритетом разработки является исключительно функционал.

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

При грамотно проведенной работе значительное повышение эффективности обычно достигается на трех уровнях: 1) распараллеливание счета; 2) специализация вычислительных библиотек по специфике задачи; 3) низкоуровневая оптимизация.

Таким образом, на суперкомпьютере запускалась уже оптимизированная версия модели. Задействование 200 процессоров суперкомпьютера позволило сделать прогноз на 50 модельных лет для среды объемом 100 млн. агентов. Все вычисления заняли 1 минуту 30 секунд. Также была предпринята попытка запуска модели с помощью 1000 процессоров. В этом случае на решение той же задачи было потрачено примерно 16 секунд. Кроме «Ломоносова» (414 TFlops), модель была опробована еще на 2 суперкомпьютерах: МВС-100К (123 TFlops) и «Чебышев» (60 TFlops).

Эксперименты с моделью показали, что одни и те же параметры (рождаемость, продолжительность жизни и т.д.) могут приводить к различным результатам в зависимости от размера социума. При запуске одной и той же версии модели с разным количеством агентов результаты отличались на 4,5%. В первом случае моделирование велось для 100 млн. агентов, а во втором – 100 тыс. агентов.



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

1 Работа выполнена при поддержке гранта Президента РФ МД-1456.2011.6


База данных защищена авторским правом ©infoeto.ru 2016
обратиться к администрации
Как написать курсовую работу | Как написать хороший реферат
    Главная страница