Балансировка загрузки распределенной имитационной модели

В одной из предыдущих лекций мы рассматривали вопросы реализации распределенных систем имитации. Балансировку необходимо выполнять и при проведении распределённого моделирования. Первоначальная цель параллельного дискретно-событийного имитационного моделирования – быстрое выполнение больших и сложных моделей. В частности, PDES (Parallel Discrete Event Simulation) пытается увеличить скорость выполнения путём распределения модели на нескольких процессорах, которые работают параллельно. Однако распределение объектов моделирования оказывает большое влияние на скорость выполнения имитационного эксперимента, поскольку некоторые процессоры (или компьютеры в сети) оказываются сильно загруженными, другие слабо или вообще могут простаивать. Перераспределение нагрузки на менее загруженные процессоры (компьютеры) является выходом в этом случае. Чаще всего в параллельном дискретно-событийном имитационном моделировании компоненты моделируемой системы представляют собой логические процессы (LPj, j = 1¸n) которые могут функционировать параллельно. Логические процессы распределяются между физическими процессорами, взаимодействие процессов осуществляется путём посылки сообщений от одного процесса другому.

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

Алгоритм динамической балансировки в SPEEDES предполагает пересылку (перенос, миграцию) объектов с процессора на процессор во время моделирования.

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

SPEEDES - это объектно-ориентрованное программное обеспечение, реализующее дискретное моделирование, управляемое событиями. Поскольку данная система была разработана для распределённого моделирования, оно реализует три стратегии синхронизации (TIME WARP, Breathing Time Buckets и Breathing Time Warp). Стратегии синхронизации могут быть выбраны пользователем при выполнении имитационного прогона.

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

Статическая балансировка не может дать хороших результатов, поскольку характеристики моделирования могут периодически меняться (об этом уже говорилось ранее).