Полная версия

Главная arrow Информатика arrow ИМИТАЦИОННОЕ МОДЕЛИРОВАНИЕ СИСТЕМ

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>

Необходимость перехода к параллельному и распределенному имитационному моделированию

В настоящее время наметилась тенденция перехода от последовательного имитационного моделирования к параллельному и распределенному имитационному моделированию.

Параллельное имитационное моделирование предполагает, что компьютерный эксперимент с имитационной моделью выполняется на нескольких процессорах многопроцессорной ЭВМ. Это может быть многопроцессорная ЭВМ с МРР-архитектурой (massive parallel processing — массивно-параллельная архитектура) или многопроцессорная ЭВМ с общей памятью. Например, в системе моделирования AnyLogic может параллельно выполняться столько независимых прогонов модели, сколько процессоров имеется в компьютере.

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

Причины перехода к параллельному и распределенному имитационному моделированию обусловлены следующим.

  • 1. Исследователь, который использует ресурсы N процессоров многопроцессорной ЭВМ (или N компьютеров, объединенных в сеть), в конечном счете пытается добиться того, чтобы время выполнения имитационного эксперимента сократилось в N раз.
  • 2. Задачи, которые стоят перед имитационным моделированием, становятся все более сложными и требуют не только больших временных затрат, но и больших ресурсов памяти. Исследователь, использующий ресурсы нескольких процессоров или компьютеров, предполагает, что локальная память этих процессоров или компьютеров также будет использована для решения его задачи.
  • 3. Другим важным стимулом использования распределенного моделирования является необходимость объединения нескольких имитационных систем в одну распределенную среду имитационного моделирования. Примером может служить объединение нескольких тренажеров, имитирующих управление самоходным орудием, пусковой установкой, танком, самолетом, и других имитаторов (военные приложения). Их объединяют с целью создать распределенную виртуальную среду для обучения человека действиям по возможным сценариям в нештатных ситуациях. Другим примером может служить необходимость в объединении нескольких изучаемых подсистем (их моделей) в одну с той целью, чтобы можно было проанализировать их взаимодействие. Так, например, моделирование транспортной инфраструктуры города следует рассматривать неразрывно с подсистемой его электроснабжения и с другими коммуникационными инфраструктурами. В данном случае речь идет о том, что гораздо более экономичным является подход, когда имитационные модели (в военных приложениях или при моделировании инфраструктур) объединяются с помощью дополнительных программных средств (high level architecture, HLA). В противном случае возникает необходимость в разработке новой имитационной модели.
  • 4. Еще одной причиной для перехода к распределенному моделированию является возможность работы нескольких исследователей над одним и тем же имитационным проектом через Интернет. Проект может выполняться на суперкомпьютере или на вычислительной системе с кластерной архитектурой, и, таким образом, исследователи используют вычислительные ресурсы суперкомпьютера, наблюдают за ходом имитационного эксперимента и просматривают результаты, находясь в разных городах или странах.
  • 5. Кроме того, используя распределенную систему моделирования с удаленным доступом через Интернет, можно сдать в «аренду» неиспользуемые в данный момент времени вычислительные ресурсы.
  • 6. Важно и такое преимущество использования распределенных систем, как надежность: под надежностью будем подразумевать продолжение выполнения имитационного эксперимента, несмотря на то что какой-либо из процессоров (компьютеров) выходит из строя. В этом случае его работа распределяется на другие процессоры.

Распределение является одной из основных тенденций компьютерных технологий настоящего времени (другой тенденцией является интеграция). Это проявляется и в базах данных, и в искусственном интеллекте (например, мультиагентные системы), и в операционных системах. Появление распределенных систем имитационного моделирования — еще одно проявление этой тенденции.

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

  • SMP — симметричные мультипроцессорные системы;
  • МРР — массово-параллельные системы;
  • NUMA — системы с неоднородным доступом к памяти;
  • PVP — параллельные векторные системы.

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

Термин «распределенная система» обозначает набор независимых компьютеров.

Пользователи представляют их единой объединенной системой. В этом определении подчеркиваются два момента.

Во-первых, все машины автономны.

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

В некоторых работах под распределенной системой подразумевают взаимосвязанный набор автономных компьютеров, процессов или процессоров. Компьютеры, процессы или процессоры упоминаются как узлы распределенной системы. Будучи определены как автономные, узлы должны быть по крайней мере оборудованы своим собственным блоком управления. Таким образом, параллельный компьютер с одним потоком управления и несколькими потоками данных (S7MD) не подпадает под определение распределенной системы.

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

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

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

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

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

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

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

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

 
<<   СОДЕРЖАНИЕ ПОСМОТРЕТЬ ОРИГИНАЛ   >>