КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Альтернативные подходы к созданию имитационных моделей
Разработчики моделирования изначально направляли свои усилия на поиск новых и более совершенных способов моделирования систем, используя при этом существующее компьютерное оборудование и программное обеспечение.
5.1. Параллельное и распределенное моделирование
Большинство моделей действуют приблизительно одинаково. Часы модельного времени взаимодействуют со списком событий, в результате чего определяется, какое событие будет обрабатываться следующим. Часы переводятся на время возникновения этого события, а компьютер выполняет логику события, которая может потребовать: обновить переменные, обработать списки очередей и событий, сгенерировать случайные числа и величины, собрать статистику. Данная логика выполняется в соответствии с модельным временем возникновения событий, то есть в этих случаях моделирование является последовательным. В последние годы компьютерная технология позволила связывать отдельные компьютеры или процессоры в параллельную или распределенную вычислительную среду. Например, несколько относительно недорогих мини-компьютеров (или даже микрокомпьютеров) могут быть связаны друг с другом с помощью сети, а в более крупном компьютере можно разместить несколько процессоров, которые будут работать как сами по себе, так и во взаимодействии друг с другом. Такая вычислительная среда позволяет распределять различные части задачи между отдельными процессорами, работающими одновременно или параллельно, и таким образом уменьшать общее время, необходимое для решения данной задачи. Конечно, такая возможность во многом зависит от сути самой задачи, а также от доступного компьютерного оборудования и программного обеспечения. В настоящее время распределенная и параллельная обработка используется во многих областях, например при оптимизации и проектировании баз данных. Существует много способов разделить динамически моделируемые системы на части, то есть распределить работу между различными процессорами. Пожалуй, самый прямой способ — это распределение отдельных «функций поддержки» (например, генерирования случайных чисел, генерирования случайных величин, обработки списка событий, обработки списков и очередей, а также сбора статистики) по различным процессорам. Логическое выполнение моделирования все же остается последовательным, однако теперь «главная» моделирующая программа может передавать выполнение функций поддержки другим процессорам и продолжать свою работу. Другой способ распределения имитационной модели между различными процессорами — декомпозиция модели на отдельные подмодели, которые выполняются несколькими процессорами. Например, производственное оборудование очень часто моделируется как сеть взаимосвязанных станций обслуживания, каждая из них представляет отдельный тип операций. Отдельные подмодели (или их группы) распределены между различными процессорами, и каждый из них моделирует свою часть системы. Необходимость обеспечивать соответствующие логические отношения между подмоделями предусматривает обмен информацией между процессорами. В примере с производственным оборудованием это происходит, когда деталь покидает одну станцию и переходит к другой станции, моделируемой на другом процессоре. Но не следует забывать о необходимости соблюдать правильную временную последовательность выполнения операций, то есть о синхронизации обработки подмоделей различными процессорами для правильного представления общих действий модели. Одно из основных преимуществ такого вида распределенного моделирования заключается в отсутствии глобальных часов модельного времени и полного списка событий. Поскольку обработка списка событий при традиционном имитационном моделировании может занять много времени, возможность выполнения программы без списка событий — весьма привлекательная идея. Место часов модельного времени и списка событий занимает система для передачи сообщений между процессорами, где каждое сообщение содержит «отметку времени». Недостаток такого метода заключается в том, что при моделировании может возникнуть тупик — два процессора будут вынуждены ожидать сообщения друг от друга для продолжения работы (даже если в реальной моделируемой системе такое не произойдет). Аналогичная ситуация может привести к остановке моделирования, поэтому должен применяться метод нахождения и устранения тупиков (или возможность их избегать). Другая концепция, связанная с распределением подмоделей между параллельными процессорами, известна как концепция виртуального времени, реализованная через механизм изменения шкалы времени. Выше указывалось, что каждый процессор моделирует свою часть системы по времени, но не ожидает получения сообщений от других процессоров, обладающих возможностью работать одновременно с ним, хотя и с различной скоростью. Такое ожидание неизбежно при описанном подходе с передачей сообщений. Если подмодель, создаваемая отдельным процессором, получает сообщение, которое она должна была получить ранее (и оно потенциально влияет на ее действия с того момента времени), для этой подмодели выполняется откат путем возвращения ее времени к более раннему моменту получения сообщения. Например, подмодель Б моделировалась до момента времени 87, и в это время поступило сообщение от подмодели А, которое модель Б должна была получить в момент времени 61. Тогда часы для подмодели переводятся назад на момент времени 61, а моделирование подмодели Б между моментами времени 61 и 87 отменяется, поскольку без учета сообщения от момента времени 61 оно могло быть выполнено неправильно. При этом к отмененной части моделирования могут относиться сообщения другим подмоделям, теперь каждое из них аннулируется посредством отправки соответствующего антисообщения. Антисообщения, в свою очередь, могут генерировать вторичные откаты в получающих подмоделях и т. д. Подход, когда, во-первых, работа, выполненная между моментами времени 61 и 87, утрачивается, а во-вторых, в связи с откатом моделирования возникают дополнительные расходы, может показаться неудачным. Однако при этом процессоры все время заняты моделированием (за исключением времени отката), вместо того чтобы бездействовать в ожидании, сообщения перед дальнейшим «правильным» продвижением моделирования по времени. В стохастическом моделировании нельзя точно определить, понадобится ли откат, поэтому механизм изменения шкалы времени называют «рулеткой». Его недостаток заключается в возникновении расходов на дополнительную память и обработку возможных откатов, а преимущество состоит в том, что откаты могут быть редкими, и все процессоры будут продолжать продвижение вперед в моделировании. Более того, при использовании механизма изменения шкалы времени не появляются тупики. Вопросы разработки и оценки распределенной обработки при моделировании активно исследуются. Однако уже теперь ясно, что, насколько удачным окажется тот или иной метод (и будет ли он работать вообще), зависит от структуры и параметров модели, а также от доступной компьютерной среды. Например, если модель можно поделить на подмодели, слабо связанные между собой (в частности сеть очередей, в которой требования редко переходят из одной очереди в другую), тогда любая из схем распределения моделирования, описанных выше, может предоставлять некоторые преимущества.
Дата добавления: 2014-01-04; Просмотров: 972; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |