Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Пример . Лабораторная работа №2. Моделирование отказов вычислительной системы на языке GPSS. Теоретический материал для лабораторной работы №2




Пример 

Пусть необходимо смоделировать дискретную случайную переменную, заданную в таблице 14.

Таблица 14.

Значение случайной переменной Относительная частота Суммарная частота Диапазон Интервал
2 0, 15 0, 15 [0, 0-0, 15]
0, 20 0, 35 (0, 15-0, 35]
0, 25 0, 60 (0, 35 – 0, 60]
0, 22 0, 82 (0, 60 – 0, 82]
0, 18 1, 00 (0, 82 – 1, 0]

 

GPSS-функцию можно определить таким образом:

Графическая интерпретация функции показана на рисунке 7.

 

 

Рисунок 3.

 

ЛАБОРАТОРНАЯ РАБОТА №2

Моделирование отказов вычислительной системы на языке GPSS

Модель работы компьютера задействованного в управлении технологическим оборудованием (модель разработана в Л. Р. №1), дополнить ситуацией возникновения отказов.

Периодически c интенсивностью λ =0, 005 мин-1 и экспоненциальным распределением возникает аварийный режим работы оборудования, при котором немедленно запускается на выполнение задача четвертого типа, выводящая оборудование из аварийного режима. Она прерывает работу процессора, выгружает активную задачу из памяти. Прерванная задача после восстановления оборудования получает более высокий приоритет, загружается в память и продолжает выполняться с момента прерывания.

1. Промоделировать работу компьютера в течение пяти суток и оценить размер очереди к памяти, ее загрузку и загрузку процессора.

2. Собрать статистику и построить диаграммы:

- появления задач(1, 2, 3 типа),

- времени обслуживания основных задач,

- времени обслуживания прерванных задач после прерывания.

 

Таблица – Параметры задач

 

Параметры  задачи

Тип задачи

Вероятность возникновения 0, 4 0, 35 0, 25 -
Объем памяти, Кбайт
Время обработки ЦП, мин
Время вывода в БД, мин

 

Теоретический материал для лабораторной работы №2

Отказ моделируется как прерывание в обслуживании транзакта и занятие обслуживающего прибора на время отказа. В языке GPSS для моделирования прерывания в обслуживании используются блоки PREEMPT и RETURN.

 

Во многих случаях возникает необходимость организации обслуживания в устройстве c прерываниями (например, при выполнении некоторой операции на станке произошла его поломка). Такую ситуацию можно смоделировать, считая, что отказ оборудования представляет собой транзакт, приоритет которого выше, чем у транзакта, обрабатываемого станком. В этом случае более приоритетный транзакт должен прервать обслуживание менее приоритетного транзакта, т. е. выгрузить его из устройства. Отсюда понятен дословный перевод c английского слова preempt выгрузить, но c точки зрения работы одноканальной CMO принято использовать термин ЗАХВАТИТЬ устройство. Для организации обслуживания в устройстве c прерываниями используют пару блоков PREEMPT (ЗАХВАТИТЬ) – RETURN (ВЕРНУТЬ) так же, как для обычного устройства без прерываний использовались блоки SEIZE – RELEASE.

Блок PREEMPT имеет следующий формат:

PREEMPT   A, [B], [C], [D], [E]

 

Таблица

Операнд Значение Результат по умолчанию
А Имя устройства (числовое или символьное) Ошибка
В Возможность захвата по приоритету Режим прерывания
С Имя блока (числовое или символьное), в который переходит прерванный транзакт См. объяснение ниже
D Номер параметра (числовое или сим­вольное имя) у прерванного транзакта См. объяснение ниже
Е Возможность снятия с обслуживания См. объяснение ниже

 

Блок PREEMPT позволяет транзакту в зависимости от условий, заданных в операндах блока, занять устройство. Блок PREEMPT может также задержать транзакт на входе.

Операнд А определяет номер или имя устройства, на котором генерируется прерывание. Операнд может быть именем, положитель­ным целым, СЧА или CЧA*CЧA.

Операнд В задает приоритетный режим (если B =PR) или режим прерывания (если этот операнд опущен). При работе в приоритетном режиме транзакт, уже занимающий устройство или генерирующий на нем прерывание, может быть прерван только транзактом, приоритет которого выше приоритета данного транзакта. Прерванные транзакты претендуют на дополнительное использование устройства, когда прервавший их транзакт войдет в соответствующий блок RETURN. Прерванные транзакты помещаются в список задержки в порядке приоритета.

Операнд C задает номер или имя блока, в который в этот же момент времени должен попытаться войти прерванный транзакт. Прерванный транзакт теряет управление устройством, но претендует на право его использования, если только не задан аргумент операнда Е. В приоритетном режиме работы желательно задавать операнд C, если прерывающий транзакт имеет более высокий приоритет, чем прерываемый. Операнд может быть именем, положительным целым, СЧА или CЧA*CЧA.

Операнд D задает номер параметра, связанного c прерванным транзактом. Если прерываемый транзакт в момент прерывания направляется в список будущих событий, тогда остаток времени записывается в заданный параметр. Если такой параметр не существует, то он создается. В приоритетном режиме работы операнд D задают только в том случае, если прерывающий транзакт имеет более высокий приоритет, чем прерываемый транзакт. Операнд может быть именем, положительным целым, СЧА или CЧA*CЧA.

Операнд Е задает либо не задает режим удаления ( RE ). B режиме удаления RE прерванный транзакт более не претендует на исполь­зование устройства и пытается войти в блок, заданный операндом C (если в операнде Е стоит RE, то должен быть определен и опе­ранд C ). В приоритетном режиме работы режим RE используется только в том случае, если приоритет прерывающего транзакта больше приоритета прерываемого транзакта. При использовании RE прерванный транзакт не должен входить в блоки RELEASE или RETURN, связанные устройством, в котором обслуживался прерванный транзакт. Если режим RE не задан (операнд E опущен), то прерванный транзакт по возвращении в список текущих событий будет вновь пытаться занять устройство.

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

Прерванный транзакт борется за устройство, даже если он перемещен операндом C (если RE не используется в операнде E ). Если прерванный транзакт все еще борется за устройство, то попытка транзакта войти в блок TERMINATE приводит к ошибке. Такой транзакт перед входом в блок TERMINATE должен войти в блоки RELEASE или RETURN

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

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

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

Транзакт не может войти в блок, если устройство находится в недоступном состоянии. Такие транзакты помещаются в список задержки устройства в соответствии c приоритетом, авнутри приоритета – по правилу FIFO.

Следует обратить внимание, что при задании операндов D и (или) E, операнд C также должен быть задан.

Если приоритетный режим не задан (нет PR в операнде В ), то операнды C, D и (или) E игнорируются. Однако возможен вариант, когда для прерванного транзакта выбирается альтернативный выход, причем приоритет транзакта не учитывается. Этот случай возникает тогда, когда задан операнд C (а иногда и операнды D и (или) E ), но в операнде В не задан приоритетный режим. Такое использование опе­рандов приводит к тому, что занимающий устройство транзакт прерывается и направляется по альтернативному пути. В данном случае многоуровневые прерывания не происходят.

Пары блоков SEIZE – RELEASE   и PREEMPT – RETURN могут использовать одни и те же имена занимае­мых устройств. В зависимости от логики работы модели пользователь должен сам определить, в каком случае разрешать прерывания, А в каком – нет.

Блок RETURN является парным к блоку PREEMPT, также как блок RELEASE к блоку SEIZE, и предназначен для освобождения ранее захваченного устройства. Он имеет следующий формат:

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...