Моделирование ЭВМ

160

И1

170

И2

180

И3

ЭВМ

Рис 2. Временные диаграммы работы системы

В машинный зал с интервалом 100 emb приходит один из пользователей.

В начале приходит первый, и начинает подготовку своего задания на это ему потребуется 160 emb. Через 100 emb приходит второй пользователь и тоже начинает подготовку задания на это ему отведено 170 emb. Вскоре после прихода 2-го пользователя (через 60 emb) заканчивает подготовку задания первый пользователь и выполняет его на ЭВМ в течении 8 emb. Через 100 emb после прихода второго пользователя приходит третий пользователь, при этом второй продолжает подготовку. Спустя 70 emb после прихода третьего пользователя заканчивает подготовку второй и выполняет свое задание на ЭВМ за 8 emb. Третий пользователь заканчивает подготовку спустя 180 emb после своего прихода, в это время

снова приходит первый пользователь на этом заканчивается первый цикл работы системы и все повторяется снова.

Таким образом за каждый цикл с периодом Т=300 emb выполняется три задания от каждого пользователя. Все они выполняются сразу же после подготовки и не задерживают друг друга, т. к. ЭВМ к моменту поступления этих заявок свободна. Все время работы очередь остается пустой. За время цикла выполняется одно задание от 2-го пользователя, следовательно процент выполненных заданий, поступивших от второго пользователя равен 33,3 %.

Нам нужно смоделировать выполнение 500 заданий, следовательно общее время работы системы равно (500/3)*300=50.000 emb. За это время ЭВМ проработала 500*8=4000 emb , следовательно загрузка ЭВМ равна 8%.

Алгоритмизация модели и ее машинная реализация

1. Выбор программных средств моделирования

Для написания программы мы выбираем язык программирования Borland C++. Этот язык хорошо зарекомендовал себя эффективностью, лаконичностью, стройностью программ. Во многих случаях программы, написанные на языке С++ сравнимы по скорости с программами, написанными на языке Ассемблера, при этом они более наглядны и просты в сопровождении. В системное окружение языка С++ входит много библиотек, в том числе библиотеки нужных нам стандартных функций.

Программа для детерминированной модели приведена в Приложении № 1.

2. Описание моделирующей программы для

детерминированного варианта модели

Параметры и переменные данной программы описаны в пункте 2.2.

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

В программе организуем очередь ocher[50] в ячейках которой мы запоминаем адрес заявки (номер сетевой машины). Также вводим ряд вспомогательных переменных ( ztgz1, ztgz2, ztgz3, ztm, zk ) необходимых для хранения значений исходных параметров системы.

Данная моделирующая программа работает следующим образом:

Вначале программа запрашивает значения параметров системы. Далее организуется основной цикл, который выполняется k раз. Первым действием в цикле является оператор прибавления единицы машинного времени t=t+emb. После проверяем не пришел ли пользователь, если пришел то определяем какой ( конструкция switch (cikl) ). Далее в программе идет конструкция switch (nz) устанавливающая соответствующие флажки подготовки задания. После идет группа условий выполняющая уменьшение времени подготовки задания. Если задание подготовлено то подается запрос на выполнение. В этом блоке программы определяется не пуста ли очередь, если не пуста то выполняем задание из очереди иначе выполняем заявку с сетевой машины. Перед выполнением заявки проверяем занята ли ЭВМ, если занята то ставим заявку в очередь. Далее если на ЭВМ выполняемся задача то уменьшаем время выполнения этой задачи. После чего цикл повторяется. После завершения цикла производим подсчет процента выполненных заданий, поступивших от второго пользователя.

3. Проверка достоверности программы

Смоделируем работу системы с параметрами указанными в задании.

Протокол работы программы:

Введите интервал между приходами пользователей 100

Введите время подготовки задания 1-ым пользователем 160

Введите время подготовки задания 2-ым пользователем 170

Введите время подготовки задания 3-ым пользователем 180

Введите время выполнения задания на ЭВМ 8

Введите количество промоделированных на ЭВМ заданий 500

Процент вып. заданий, поступ. от 2-го польз.= 33%

Вывод:

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

Определим оптимальную структуру вычислительной системы: оптимальная структура вычислительной системы обеспечивающая минимальное время простоя оборудования достигается при следующих параметрах: интервал между приходами пользователей 2

время подготовки задания 1-ым пользователем 1

время подготовки задания 2-ым пользователем 1

время подготовки задания 3-ым пользователем 1

время выполнения задания на ЭВМ 1


Страница: