Синхронизация времени в распределенном имитационном моделировании
Download 110.54 Kb.
|
Сам.работа-1 (копия)
- Bu sahifa navigatsiya:
- Управление временем в распределенном моделировании
- Парадоксы времени
МИНИСТЕРСТВО РАЗВИТИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ И СВЯЗИ РЕСПУБЛИКИ УЗБЕКИСТАН САМАРКАНДСКИЙ ФИЛИАЛ ТАШКЕНТСКОГО УНИВЕРСИТЕТАИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ИМЕНИ МУХАММАДА АЛЬ-ХОРЕЗМИЙ Самостоятельная работа №-1. Предмет: Распределенные алгоритмы и системы.
Группа: 405 «КИ» Студент: Хурсанмуродов Ж План: Управление временем в распределенном моделировании Парадоксы времени Консервативное управление временем Алгоритм с нулевыми сообщениями Использование lookahead (Забегания вперёд) Использование дополнительной информации о временной метке следующего события Оптимистическое управление временем Выбор алгоритма для реализации системы моделирования Управление временем в распределенном моделировании Управление временем в распределённом моделировании должно обеспечивать выполнение событий в правильном хронологическом порядке. Более того, на алгоритмы синхронизации возлагается обязанность корректно выполнять повторные имитационные прогоны. При повторном моделировании пользователь должен быть уверен, что он получит те же результаты, что и в первый раз, если входные данные останутся неизменными. Обеспечение следования событий в правильном порядке и проблемы повторного имитационного прогона для моделирования тренажёров несущественно. Поэтому речь о дискретно-событийном моделировании. Сделаем предположение, что имитационная модель представляет собой совокупность логических процессов (LPi), которые взаимодействуют друг с другом, посылая друг другу сообщения с временной меткой (time stamped) или события. Логические процессы являются отражением физических процессов PPj. События логического процесса должны выполняться в хронологическом порядке. Это требование называют ограничением локальной каузальности (local causality constraint). Можно показать, что если игнорировать события с одинаковыми временными метками и если процесс поддерживает ограничение локальной каузальности, то выполнение имитационной программы на параллельном компьютере даст такие же результаты, как и выполнение на последовательном, где все события выполняются в соответствии с их временными метками. Кроме того, это свойство позволяет убедиться в том, что выполнение имитационного прогона повторяемо (даёт те же результаты при одном и том же наборе исходных данных). Будем рассматривать каждый логический процесс как последовательный симулятор, поддерживающий дискретное событийное моделирование. А это означает, что каждый логический процесс содержит локальную информацию о состоянии объектов моделирования и список событий, которые были запланированы для этого процесса, но ещё не были выполнены (pending event list). Этот список необработанных событий включает локальные события (т.е. запланированные самим процессом LPi) и события, запланированные для него другими процессами. Работа симулятора заключается в том, чтобы выбрать из списка необработанных событий событие с минимальной временной меткой и обработать его. Так выполнение процесса можно рассматривать как выполнение последовательности событий. Выполнение событие сопровождается изменением переменных, которые определяют состояние моделируемого объекта. Кроме того, логический процесс при выполнении очередного события может запланировать выполнение нового события ej для самого себя или для другого логического процесса. Каждый логический процесс имеет локальные часы. Локальные часы указывают на время выполнения самого последнего обработанного симулятором события. Время, на которое запланировано логическим процессом любое событие должно быть больше, чем значение его локальных часов. Итак, m = {LP, ME}, где LP – это множество процессов, ME – коммуникационная среда для передачи сообщений от одного процесса другому. В свою очередь, LPi = {Q, E, Sch, Ch, T}, где T – линейно-упорядоченное абстрактное множество с отношением порядка <. Множество T называют множеством моментов времени. Q – множество состояний, E – множество событий, . Ein – это множество внутренних событий процесса. Em –множество событий, полученных процессом i процессом от j -того процесса. Если процесс LPi получит сообщение (событие, которое запланировано для него процессом LPj), то он должен переупорядочить очередь локальных событий (или календарь событий) C = ((e1, t1), (e2 , t2),…,(en , tn)), включив в неё пару (ej , tj). Очередь С упорядочена по возрастанию временных меток событий. Sch – преобразование планирования событий процесса ei, Sch: E x Q x T -> E; Ch – преобразование изменения состояния Сh: E x Q x T -> Q, Tloc – локальное время логического процесса (время последнего обработанного события из множества E). Текущее модельное время . Парадоксы времени Алгоритм управления временем должен следить за тем, чтобы события выполнялись в хронологическом порядке. Эта задача не является тривиальной. Действительно, логический процесс заранее не может знать о том, на какое время будет запланировано событие, которое он получает от другого логического процесса. Пусть в списке необработанных событий хранится событие с временной меткой 10. Может ли симулятор логического процесса выбрать его для обработки. Это можно было бы сделать, если бы логический процесс каким-нибудь образом знал о том, что другой логический процесс не запланировал для него события, со временем меньшим, чем 10. Рассмотрим другой пример. Пусть модель представляет собой совокупность трёх процессов. Один процесс отображает поведение покупателя, второй – магазина, в котором покупатель совершает покупки, а третий процесс – деятельность банка, со счёта которого покупатель снимает деньги. Предположим, что покупатель приобрёл товары в магазине на определённую сумму N (в кредит) (событие e1, произошло в момент времени t1 = 9). Магазин уведомил об этом банк (e2, t2 = 10) Сумма на счёте уменьшается: S = S – N. Покупатель посещает банк с целью снять деньги со счёта (e3, t3=11). Если денег на счёте достаточно, то банк выдаёт клиенту (которым является покупатель) запрошенную им сумму. Если счёт меньше запрошенной суммы, то покупателю будет отказано. Хронологический порядок событий: e1, e2, e3 (рис. 1).
Download 110.54 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling