В настоящее время эффективное решение значительных научных задач требует использование высокопроизводительных вычислений, в том числе использования распределенных вычислительных сред различного назначения. Такие среды организуются, как правило, на основе интеграции разнородных ресурсов:
— суперкомпьютеров;
— вычислительных кластеров;
— высокопроизводительных серверов;
— персональных компьютеров;
— компонентов облачных инфраструктур;
— центров обработки больших данных.
Цель имитационного моделирования состоит в воспроизведении поведения исследуемой системы на основе результатов анализа наиболее существенных взаимосвязей между ее элементами или разработке симулятора исследуемой предметной области для проведения различных экспериментов.
Для интеграции средств используется широкая гамма коммуникационных технологий, а также различное промежуточное программное обеспечение.
Стремление развития современных распределительных вычислительных систем состоит в стремительном росте их производительности, который часто достигается путем повышения числа их вычислительных элементов и приводит к существенному росту степени трудности управления такими средами. Одним из приоритетных направлений в области развития и применения распределительных вычислительных сред является исследование эффективности и устойчивости их функционирования.
Эталонные средства управления распределительными вычислениями, не позволяют в полной мере решить проблемы, связанные с динамичностью и неполнотой описания интегрируемых в распределительных вычислительных средах ресурсов, а также наличием различных категорий пользователей, преследующих свои цели и задачи использования вычислительной среды. Для решения вышеизложенных проблем требуется разработка специальных инструментальных средств, обеспечивающих возможность исследования эффективности и надежности работы, предметно-ориентированных распределительных вычислительных средств.
С позиции теории очередей распределительные вычислительные средства описывают систему массового обслуживания. В этом случае одним из эффективных подходов к ее исследованию является имитационное моделирование.
Имитационное моделирование — способ исследования систем, основанный на создании компьютерной модели, отражающий структуры и процессы функционирования реальной системы, а также на результате вычислительных экспериментов на этой модели.
В настоящее время существует широкий спектр мер и инструментальных средств, предоставляющих возможность исследования разнообразных аспектов функционирования распределительных вычислительных сред. Тем не менее, такие средства считаются узкоспециализированными, обеспечивающие анализ вычислительной среды.
Важным компонентом инструментальной поддержки имитационного моделирования становится средство построения и способы исследования моделей, предметно-ориентированных распределительных вычислительных сред.
При использовании вышеизложенного компонентом предполагается, что в качестве узлов среды выступают вычислительные кластеры которые организуются на базе как выделенных, так и невыделенные вычислительных машин. Вследствие усложнения инфраструктуры современных кластеров выделенных машин, вероятность сбоев в процессе решения задач существенно возрастает. Проблемы происходят в случайные моменты времени.
Важными характеристиками решаемых в системе задач являются:
— место размещения программы, используемой для решения задачи;
— число прогонов программы и наличие взаимосвязанных подзадач;
— вид параллелизма алгоритма решения задачи;
— степень ресурсоемкости вычислений;
— способ решения задачи;
— необходимость управления процессом вычислений в интерактивном или пакетном режимах;
— срочность вычислений.
Средства имитационного моделирования базируются на следующих видах программного обеспечения:
— программные библиотеки;
— системы имитационного моделирования;
— языки программирования.
Основными преимуществами применения систем имитационного моделирования, включающих специализированные языки имитационного программирования, по сравнению с использованием программных библиотек и универсальных языков программирования являются:
— обеспечение сбора и обработки статистических данных;
— поддержка среды выполнения разрабатываемых моделей;
— наличие языковых средств более высокого уровня, включающих готовые конструкции для предоставления в модели исследуемых объектов и процессов;
— оперирование понятными свойственными теории очередей.
Вместе с этим системы можно условно поделить на следующие группы:
— узкоспециализированные системы;
— системы общего назначения.
Системы имитационного моделирования общего назначения, в отличие от узкоспециализированных могут быть использованы при моделировании любой предметной области, что дает систему более универсальной и в то же время более сложной в освоении и применении. К таким системам можно отнести: Micro Saint, Simplex3, Simulink, AnyLogic.
AnyLogic получила широкую известность при создании моделей в различных предметных областях экономической, производственной и социальной сфер человеческой деятельности. Одним из достоинств данной системы является возможность разработки многомерных имитационных моделей, которые при необходимости могут быть интегрированы с базами данных а также поддержку 2 и 3D анимацию, позволяющую наблюдать процессы моделирования в режиме реального времени.
Еще одной системой общего назначения является Simplex3 которая предоставляет имитационную среду для проведения экспериментов. Данная система является многоформенной с возможностью использования внешних модулей на языке C++. Помимо своих явных достоинств система обладает рядом недостатков заключающиеся в приближенных характеристиках некоторых элементов блок схемы, а также отклонении вычислений с помощью функций пакета MATLAB, связанные с несовершенством методик заложенных в этот пакет.
В то же время узкоспециализированные системы имитационного моделирования напротив нацелены на решение конкретного класса задач или применяются для моделирования строго определенных предметных областей, для которых они были созданы. Такой подход делает узкоспециализированные системы более доступными для изучения и использования. К таким системам относят NetSIM, QualNet, EXata и многие другие.
Интерфейс подобных программ направлен на пользователей, владеющих терминами моделируемой предметной области, что позволяет разработчику модели не отвлекаться на особенности системы моделирования в целом, а ускорить процесс разработки.
NetSIM — используется для проектирования и анализа сетей. Данная система имеет мощную графическую среду для создания моделей из набора графических элементов. Помимо этого, данная система поддерживает моделирование широкого спектра коммуникационных технологий благодаря библиотеки протоколов коммуникационных технологий, которые доступны в виде исходных кодов на языке С.
QualNet — еще одна узкоспециализированная система имеющая на борту мощный графический инструмент использующийся для тестирования, планирования и изучения функционирования телекоммуникационных сетей позволяющие имитировать поведение реальной сети. Данная система обеспечивает комплексную среду для разработки протоколов, создания и анимации сетевых сценариев.
EXata — система применяется для предсказания поведения сетей с возможностью реального проектирования сетей, а также анализа процессов управления сетями. EXata предоставляет пользователям возможности проектирования новых сетевых технологий и беспроводных сетей в масштабах реального мира с возможностью проведения экспериментов для анализа производительности сети и оптимизации ее с реальными параметрами.
Системы имитационного моделирования принято подразделять на следующие классы:
— бизнес-аналитика;
— моделирование производственных систем и процессов;
— моделирование компьютерных систем;
— моделирование распределительных вычислительных систем.
В аспекте с проблемой моделирования распределительных вычислительных сред наибольший интерес привлекают системы моделирования вычислительных систем и компьютерных сетей.
К сожалению, большинство систем имитационного моделирования компьютерных сетей чаще всего не позволяют учитывать процессы работы приложений и управления ими при разрешении вопроса.
Для моделирования вычислительных систем используется индивидуальный класс программных средств. С учетом способа воспроизведения процессов функционирования распределенных вычислительных сред они подразделяются на;
— симуляторы;
— эмуляторы.
Симулятор — программное обеспечение, способствующий моделировать реальные системы, отображая часть реальных явлений и свойств в виртуальной среде.
Эмулятор — это программа или аппаратное обеспечение, имитирующее поведение другой системы в режиме реального времени.
Инструментальные средства имитационного моделирования распределительных вычислительных сред недостаточно соответствуют ряду критерий их функционирования, к группе таких критериев можно отнести:
— автоматизированная и быстрая подготовка отчетов о результатах экспериментов с моделями, аккумулируемых в базах данных;
— —возможность использования кроссплатформенного программного комплекса для разработки и применения моделей;
— поддержка автоматизации всех необходимых этапов разработки модели в рамках одной среды имитационного моделирования;
— интеграция и комплексное использование распределенных баз данных с описанием предметных областей исследуемых систем и расчетных баз данных имитационных моделей этих систем.
Инструментальные комплексы средств имитационного моделирования применяют концептуальные модели среды при образовании и применении ее имитационных моделей, позволяющие расширить предел исследуемых архитектур, а также автоматизация разработки имитационной моделей по принципу каркасного подхода к конструированию программ.
Таким образом средства имитационного моделирования — программные средства, призванные упростить процесс создания имитационных моделей, при этом некоторые системы позволяют ускорить процессы создания моделей за счет использования различных компонентов их которых строится модель и графический интерфейс. Имитационные модели принято разделять на системы узкоспециализированного и общего назначения, каждая из систем которых призвана помогать в своей области действия.