Реферат: Моделирование микропроцессорной системы в GPSS, SMPL - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

Моделирование микропроцессорной системы в GPSS, SMPL

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Архив Zip, 810 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

32 Министерство образования РФ. Московский Государственный Институт Электроники и математики (МГИЭМ) Технический университет Кафедра ВТ. Пояснительная записка к курсовой работе По дисциплине Моделирование Проверил: Выполнила: Преподаватель: Студентка группы С-73: Курилов И.Д. Бондарева А Москва 2005 год. Содержание: 1. Моделирование микропроцессорной системы 3 1.1. Описание объекта моделирования 3 1.2. Аналитическая модель 3 1.3. Имитационная модель на SMPL 9 1.4. Имитационная модель на GPSS 14 1.5. Сравнение моделей и их применимость для проектирования 26 2. Моделирование подсистемы дисковой памяти 27 2.1. Описание объекта моделирования 27 2.2. Иммитационная модель на SMPL 27 2.3. Имитационная модель на GPSS 30 2.4. Сравнение моделей и их применимость для проектирования 31 3. Заключение 36 1. Моделирование микропроцессорной системы 1.1. Описание объекта моделирования Многопроцессорная система - вычислительная система, состоящая из нескольких процессоров, использующих общую оперативную память, и обеспечивающая параллельную обработку данных. Обобщенная структура МПС представлена на рис. 1. Рис. 1. Из-за использования общей оперативной памяти процессорами, могут возникать конфликты системы в случае, когда процессор обращается к блоку памяти, занятому другим процессором. Задачей моделирования является нахождение наиболее производительного соотношения количества процессоров и отношения количества блоков памяти к их производительности. Способ построения многопроцессорных систем отличается по построению коммутирующей подсистемы. В качестве системы для исследований была выбрана многопроцессорная система с многовходовой памятью. 1.2. Аналитическая модель 1.2.1 Как определить коэффициент r для конкретного процессора с определенной памятью. Коэффициент использования памяти r определяется по формуле где – среднее время обращения к памяти, – среднее время обработки данных процессором. Допустим, мы хотим определить коэффициент r при выполнении одной какой-то команды. Из документации на процессор для каждой команды можно определить количество тактов, затрачиваемых на ее выполнение. Среди этих тактов есть такты обращения к памяти: один или несколько в зависимости от используемого способа адресации. Tm -количество тактов обращения к памяти, Tc -общее количество тактов. А так как шина памяти медленнее чем процессор, то на одно обращение к памяти уходит несколько (Р) тактов процессора(это можно посмотреть в BIOS ). То есть: Чтобы определить коэффициент r общий для всех команд процессора, нужно найти средние значения Tm и Tc по всем командам. Также можно учитывать последствия конвейерной обработки команд, когда чтение данных из памяти для выполнения команды происходит во время выполнения предыдущей команды. Скалярная обработка, когда одновременно выполняется несколько команд, также нужно учесть, как и неравномерное распределение команд в различных программах, зависимость времени доступа к памяти от внешних условий и тд. Но все это невозможно учесть в формуле, нужно строить имитационные модели. 1.2.2. Разработать программу, вычисляющую T по формулам (*) и (**), построить графики. Графики были построены в программе MathCad . Сравнение графиков, построенных по формулам (*) и (**). Графики разницы между значениями, рассчитанными по формуле (*) и по формуле(**). 1.2.3. Провести эксперименты с программными моделями и сделать выводы: · насколько применима формула (*) или надо использовать формулу (**), · как используются эти модели для разработки многопроцессорных систем. а) Формула (*) применима, так как расхождение между этими формулами небольшое и составляет менее 10%. б) Эти модели используются, чтобы определить, сколько блоков памяти и какого быстродействия нужно взять при заданном количестве процессоров, при условии достижения оптимальной производительности системы. 1.2.4. Преобразовать модели для определения производительности системы в предположении, что 50% обращений ЦП идет к одному блоку памяти, а остальные 50% обращений с равной вероятностью распределены между оставшимися М-1 блоками памяти. Вероятности выбора блоков памяти равны соответственно: Вероятности того, что блоки памяти заблокированы, равны соответственно: А вероятности того, что они свободны, равны: А для N процессоров соответственно: А вероятность того, что память заблокирована: Тогда производительность системы с М блоками памяти будет равна: T / N – отношение скорости выполнения команд процессора с учетом конфликтов к скорости без учета конфликтов. Скорость выполнения команд процессора с учетом конфликтов: , а без учета конфликтов: Подставив выражение для r в формулу для T получим: 5. Преобразовать модели для определения производительности: а) системы на основе общей шины Для системы на общей шине все блоки памяти можно рассматривать как один, поэтому M =1: б) системы на основе матричного коммутатора 1.3. Имитационная модель на SMPL Разработать план проведения эксперимента. Расчет аналитической модели и построение графиков, отражающих результаты моделирования производится в программе MathCad 11.0а. Программа для стохастической имитационной модели реализована на SMPL и транслируется с помощью среды Turbo Pascal 7.1. Расчеты и графическое оформление производится в программе MathCad 11.0а. Одной из целей данной работы является сопоставление результатов аналитического и имитационного моделирования, представленных в виде графиков. Но результатом аналитического моделирования является Т (производительность всей системы) в относительных единицах, а в качестве результатов имитационного моделирования получаем проценты использования каждого отдельного процессора. Поэтому для сравнения результатов аналитического и имитационного моделирования, представленных в одной системе координат, необходимо от процентов использования процессоров P i перейти к производительности системы Т. Для этого воспользуемся соотношением: Таким образом, мы рассчитываем Т по результатам каждого прогона имитационной модели (каждый прогон имеет свое значение М для фиксированного N , где N – число процессоров, М – число блоков памяти в системе). Но в аналитической модели мы получали зависимость Т от M / r , где r – коэффициент использования памяти (в аналитической модели мы приняли r =1/2). Поэтому в случае имитационной модели абсциссой для данного Т является не М, а М/ r . В итоге, по результатам каждого прогона имитационной модели для фиксированного N и данного М при r =1/2 получаем на графике точку с координатами: Например, в результате прогона имитационной модели для N =3, М=5 ( r =1/2) получим следующие результаты: Проанализировав результаты, получим: по ординате откладываем: по абсциссе: Таким образом, на графике получили точку с координатами (10; 2.715) В результате прогонов имитационной модели для разных М при фиксированном N получим зависимость производительности системы от числа процессоров (вернее, от М/ r , где r =1/2) в графическом виде, которая пригодна для сопоставления с результатами аналитического моделирования: Определить время имитационного моделирования. Для получения содержательных результатов имитационного моделирования необходимо использовать статистические методы. Данный подход требует многократного повторения имитируемого процесса при изменяющихся значениях случайных факторов с последующим статистическим усреднением (обработкой) результатов отдельных однократных расчетов. Таким образом, чем больше время моделирования, тем точнее результаты, но тем больше вычислительных ресурсов и машинного времени требуется для их получения. Поэтому необходимо, произведя несколько прогонов модели, определить минимальное время моделирования, при котором результаты будут достоверными. При этом зададимся следующими критериями: - количество запроса к каждому блоку – не менее 100; - отклонение количества запросов от среднего (дисперсия) – 2,5%. Итак, минимальное время, при котором результаты удовлетворяют заданным критериям – 9000. Оценить применимость имитационной модели для проектирования многопроцессорных систем. Имитационное стохастическое моделирование используется, чтобы определить, какое количество блоков памяти M и какой производительности нужно взять при данном количестве процессоров N , чтобы достичь приемлемой производительности системы. При этом необходимо учесть, что для каждого количества процессоров начиная с определенного числа М дальнейшее увеличение блоков памяти дает всё меньший и меньший прирост в производительности, увеличивая при этом стоимость разработки. Поэтому при определении оптимального числа блоков памяти и их производительности необходимо учитывать соотношение бюджета разработки и требований к ней. Так, например, из графика для N =3 при r =1/2 видно, что при небольшом бюджете и не очень критических требованиях к производительности оптимальным можно назвать число блоков памяти, лежащее в пределах от 4 до 6 Сравнить аналитическую и имитационную модели многопроцессорной системы Построим графики, отражающие результаты аналитического моделирования при помощи приближенной формулы (*) и точной формулы (**) при помощи программы MathCad . По формуле (*) построим графики для N =3, N =5, N =7, N =15, N =50 и N =100: По формуле (**) построим графики для N =3, N =5, N =7 и N =15: Аналогично строим графики, отражающие результаты имитационного моделирования при N =3, N =5, N =7 и N =15: Здесь и далее y ( M , N ) – приближенная формула (*), p j – точное значение (**), q k – значения, полученные в результате имитационного моделирования, d h – отклонение q k от p j в процентах. N =3 Отклонение от точного значения N =5 N=7 N=15 N=50 N=100 1.4. Имитационная модель на GPSS Построение модели. *** параметры модели *** ProcNum EQU 10 MemNum EQU 4 TimeProc EQU 10 TimeMem EQU 10 *** переменные *** Processor VARIABLE 1+(RN1@ProcNum) Memory VARIABLE 1+ProcNum+(RN2@MemNum) ************************ GENERATE (TimeProc/ProcNum) ASSIGN Proc,V$Processor ASSIGN Mem,V$Memory Gate NU P$Proc QUEUE P$Mem SEIZE P$Mem DEPART P$Mem SEIZE P$Proc ADVANCE (Exponential(1,0,TimeProc)) RELEASE P$Mem ADVANCE (Exponential(2,0,TimeProc)) RELEASE P$Proc TERMINATE 1 Выбор времени моделирования. В имитационных стохастических моделях большое значение для достоверности результата играет набор статистики, т.е. количество прогонов модели. Число прогонов модели в нашем случае определяется временем моделирования. Для определения нужного времени моделирования следует сделать несколько пробных прогонов модели. Сравнить полученные данные и сделать вывод об их достоверности. Наиболее достоверными являются данные, полученные из прогона с максимальным временем моделирования, т.к. в нем собрана наибольшая статистика. Но для нас важно выбрать минимальное время моделирования, при котором данные остаются все еще достоверными. При этом нужно обращать внимание на количество запросов к блокам памяти и на их дисперсию (запросов к каждому блоку должно быть не менее 100). Рассмотрим на примере с 10 процессорами и 4 блоками памяти. START 1 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 4.360 13 6 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY 2 1 0.541 2.360 1 2 0 0 0 0 6 1 0.312 1.360 1 3 0 0 1 0 9 1 0.771 3.360 1 0 0 0 0 0 11 1 0.204 0.890 1 0 0 0 0 0 13 1 0.312 1.360 1 3 0 0 0 0 14 1 0.336 1.466 1 0 0 0 0 0 START 100 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 410.679 13 14 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY 1 11 0.502 18.757 1 0 0 0 0 0 2 10 0.473 19.411 1 125 0 0 13 1 3 9 0.231 10.535 1 113 0 0 0 0 4 13 0.554 17.500 1 112 0 0 12 0 5 9 0.316 14.412 1 0 0 0 0 0 6 12 0.588 20.117 1 0 0 0 0 0 7 12 0.501 17.155 1 104 0 0 0 0 8 11 0.456 17.026 1 0 0 0 0 0 9 9 0.324 14.773 1 0 0 0 0 0 10 8 0.480 24.633 1 0 0 0 0 0 11 30 0.931 12.747 1 112 0 0 0 85 12 24 0.978 16.737 1 97 0 0 0 59 13 25 0.993 16.307 1 125 0 0 0 67 14 26 0.989 15.621 1 113 0 0 0 69 START 1000 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 5150.637 13 14 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY 1 108 0.462 22.023 1 0 0 0 8 0 2 94 0.332 18.202 1 1113 0 0 2 1 3 105 0.409 20.080 1 0 0 0 0 0 4 111 0.425 19.741 1 0 0 0 0 0 5 95 0.342 18.535 1 0 0 0 0 0 6 93 0.378 20.908 1 0 0 0 0 0 7 103 0.371 18.530 1 974 0 0 4 0 8 94 0.351 19.235 1 0 0 0 0 0 9 93 0.380 21.053 1 0 0 0 0 0 10 107 0.414 19.933 1 997 0 0 4 0 11 254 0.995 20.167 1 974 0 0 0 1040 12 238 0.998 21.604 1 1008 0 0 0 1011 13 261 0.999 19.723 1 1113 0 0 0 1044 14 251 0.999 20.502 1 997 0 0 0 1033 START 5000 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 25733.473 13 14 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY 1 529 0.401 19.489 1 5145 0 0 3 0 2 485 0.389 20.656 1 0 0 0 0 0 3 486 0.392 20.772 1 4863 0 0 2 0 4 518 0.411 20.401 1 0 0 0 0 0 5 489 0.363 19.098 1 4815 0 0 0 0 6 514 0.413 20.672 1 0 0 0 0 0 7 475 0.354 19.200 1 4810 0 0 3 2 8 514 0.406 20.312 1 0 0 0 0 0 9 492 0.377 19.698 1 0 0 0 0 0 10 503 0.381 19.472 1 5201 0 0 2 0 11 1298 0.999 19.804 1 5163 0 0 0 5146 12 1268 1.000 20.287 1 5206 0 0 0 5078 13 1231 1.000 20.902 1 4863 0 0 0 5180 14 1210 1.000 21.264 1 4815 0 0 0 5312 START 10000 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 51815.391 13 14 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY 1 1004 0.382 19.702 1 0 0 0 0 0 2 984 0.380 19.997 1 0 0 0 0 0 3 997 0.391 20.315 1 0 0 0 0 0 4 1031 0.404 20.289 1 10121 0 0 6 0 5 982 0.370 19.536 1 9569 0 0 7 1 6 1029 0.404 20.327 1 10332 0 0 7 0 7 973 0.365 19.460 1 0 0 0 0 0 8 994 0.383 19.978 1 0 0 0 0 0 9 1006 0.396 20.385 1 10124 0 0 0 0 10 1004 0.388 20.026 1 0 0 0 0 0 11 2526 0.999 20.502 1 10124 0 0 0 10387 12 2549 1.000 20.324 1 10332 0 0 0 10395 13 2453 1.000 21.122 1 9569 0 0 0 10442 14 2477 1.000 20.917 1 9994 0 0 0 10566 START 30000 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 154018.595 13 14 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY 1 2994 0.388 19.954 1 29891 0 0 1 1 2 3002 0.390 19.999 1 0 0 0 0 0 3 2978 0.388 20.074 1 0 0 0 0 0 4 3052 0.395 19.949 1 0 0 0 0 0 5 3016 0.384 19.601 1 0 0 0 0 0 6 3033 0.405 20.548 1 29614 0 0 4 1 7 3013 0.387 19.764 1 0 0 0 0 0 8 2891 0.376 20.046 1 0 0 0 0 0 9 2983 0.389 20.072 1 0 0 0 0 0 10 3040 0.386 19.537 1 0 0 0 0 0 11 7496 1.000 20.543 1 29891 0 0 0 31019 12 7446 1.000 20.684 1 30030 0 0 0 30930 13 7588 1.000 20.297 1 30581 0 0 0 30875 14 7474 1.000 20.607 1 29614 0 0 0 31185 Если посмотреть на столбец ENTRIES , в котором указывается число заявок, поступивших на данное устройство, то мы увидим, что приемлемым временем моделирования будет время = 5000 для систем с малым количеством элементов, а лучше брать 10000 для получения более точного результата. Для систем с большим числом элементов лучше брать большее время моделирования, обращая внимание на число заявок, прошедших через каждое устройство. План проведения исследований. Для сравнения данных, полученных в имитационной модели на основе описания в виде процессов с данными из аналитической модели и имитационной модели на основе событийного подхода, их необходимо преобразовать. Модели будем сравнивать для большей наглядности на графиках. Т.е. по результатам прогонов имитационной модели на GPSS нам необходимо построить график. Из каждого прогона мы получаем одну точку графика. В аналитической модели мы получали зависимость производительности многопроцессорной системы(Т) от числа блоков памяти(М) и их коэффициентов использования( r ). В имитационной модели у нас нет этих данных в явном виде. Производительность системы, соответствующую данному числу блоков памяти М и процессоров, мы можем получить, сложив проценты использования каждого процессора и поделив эту сумму на 100%: Т = (%исп1 + %исп2 + … + %исп N ) / 100%. Процент использования в выходных данных имитационной модели на GPSS обозначается Util ( Utility ). Чтобы получить зависимость не просто от М – числа блоков памяти, а еще и учесть их коэффициенты использования (как это было в аналитической модели), необходимо для каждой точки графика значение М разделить на r (в аналитической модели мы брали r = 0,5). Таким образом, мы получаем точку, необходимую для построения зависимости Т от М/ r . Можно построить и более простую зависимость Т от М без учета r . Покажем построение зависимости Т от М/ r по результатам имитационного моделирования на конкретном примере. После проведения имитационного моделирования многопроцессорной системы с 3-мя процессорами и 2-мя блоками памяти мы получили данные следующего вида: FACILITY ENTRIES UTIL AVE. TIME AVAIL. OWNER PEND IN TER RETRY DELAY 1 261 0,389 21,985 1 717 0 0 80 1 2 374 0,52 20,492 1 0 0 0 0 0 3 366 0,506 20,385 1 0 0 0 0 0 4 518 0,996 28,351 1 777 0 0 0 1656 5 484 0,996 30,335 1 717 0 0 0 1685 Производительность системы вычисляем по формуле, приведенной выше: Т = (%исп.1 + %исп.2 + … + %исп. N ) / 100% = (38,9 + 52 + 50,6) / 100 =1,415 Так же вычисляем производительность системы при разных количествах блоков памяти – соответственно получаем разные точки графика. Чтобы эта модель была сравнима с аналитической моделью, нам необходимо учесть коэффициент использования памяти r , которая в аналитической модели была = 0,5. Для этого М делим на r , и получаем соответствующую точку на оси абсцисс. В результате у нас получается следующий график: Сравнение данной модели с предыдущими моделями многопроцессорных систем. Сравнение результатов моделирования сделаем с помощью построения графиков. Ниже приведены результаты имитационного моделирования после дополнительного преобразования, где Xi – число блоков памяти М с учетом их производительности r , Yi – производительность системы при таком М, i – число процессоров в многопроцессорной системе. Данные предыдущих моделей. Данные полученные при моделировании на GPSS Сравнительный график аналитической модели(представлена двумя формулами: R (3,0.5) – менее точная модель, X (3,0.5) – более точная модель) и 2-х имитационных моделей( Xg , Yg – на GPSS и X , Y - на SMPL ) для многопроцессорной системы с 3-мя процессорами. Сравнительный график аналитической и 2-х имитационной моделей для многопроцессорной системы с 3-мя, 5-ю и 10-ю процессорами. Сравнительный график 3-х моделей для 100 процессоров. Применимость модели для проектирования многопроцессорных систем. Маркером указана аппроксимация. Без аппроксимирования функции показывает неверные результаты. Погрешность в сравнении с предыдущими моделями достигает 40% на наиболее интересных участках графика. Но при аппроксимировании функции погрешность модели снижается до 0,5-2%. Построение этой модели показывает себя как наиболее простое, но затруднена интерпретация результатов неудобной формой отчета, к тому же продукт GPSS (этой версии) не позволяют построить график внутренними средствами. Модель можно применять, если определяющим параметром моделирования является не точность модели, а время ее построения. 1.5. Сравнение моделей и их применимость для проектирования В настоящее время широко применяется два вида математического моделирования: аналитическое и имитационное. Аналитическое моделирование позволяет получать более точное решение, формируя математические законы, связывающие объекты системы, записанные в виде некоторых функциональных соотношений. Задачей аналитического моделирования является решение уравнений для получения теоретических результатов и сопоставление этих результатов с практикой. К достоинствам аналитического моделирования можно отнести большую силу обобщения, многократность использования, но наиболее полное исследование процесса функционирования системы можно провести, если известны явные зависимости связывающие искомые характеристики с начальными условиями, параметрами и переменными системы. Однако такие зависимости удается получить для сравнительно простых систем. Чтобы использовать аналитический метод необходимо существенно упростить первоначальную модель, чтобы иметь возможность изучить общие свойства системы. Более сложные задачи можно решать методом имитационного моделирования при условии, что не существует законченной математической постановки данной задачи, либо еще не разработаны аналитические методы решения сформулированной математической модели, либо если аналитические модели имеются, но процедуры столь сложны и трудоемки, что имитационное моделирование дает более простой способ решения задачи. Имитационные модели позволяют достаточно просто учитывать случайные воздействия и другие факторы, которые создают трудности при аналитическом исследовании. Данная модель позволяет проводить эксперименты, меняя при этом условия протекания процесса, и, в конечном счете, определить такие условия, при которых результат удовлетворяет требованиям. Имитационное моделирование, как правило, осуществляется при помощи компьютеров и воспроизводит процесс функционирование системы во времени, имитируя явления, составляющие процесс с сохранением их логической структуры. Данные модели осуществляют прогон программы с заданными параметрами. Имитационное моделирование имеет ряд недостатков. Исследования с помощью этого метода обходятся дорого - для построения данной модели и экспериментирования необходимы высококвалифицированные специалисты-програмисты; необходимо большое количество машинного времени, поскольку метод основывается на статистических испытаниях и требует многочисленных прогонов программ; модель разрабатывается для конкретных условий и, как правило, не тиражируется. В целом же отклонение от точных результатов при имитационном моделировании относительно невелико при большом количестве блоков памяти, а для N <=15 – менее 10% для любого количества блоков памяти, поэтому его целесообразно применять в сложных системах, где аналитическую модель рассчитать затруднительно, а также в системах, где М>> N . Для простых систем или когда требования к точности высоки, а бюджет разработки, вычислительные ресурсы, машинное время жестко неограниченны, целесообразно применять аналитическое моделирование. 2. Моделирование подсистемы дисковой памяти 2.3. Описание объекта моделирования При поступлении запроса на обмен данными начинается установка головки чтения-записи диска на требуемую дорожку. После установки происходит обмен данными, который состоит из двух элементарных операций: - ожидание требуемого сектора, - передача данных из этого сектора. Время передачи данных складывается из времени ожидания требуемого сектора со временем передачи данных с этого сектора: Время ожидания случайная величина, равномерно распределенная от 0 до времени полного оборота диска. Время передачи - постоянная - время оборота диска, деленное на количество секторов. 2.2. Имитационная модель на SMPL Построение модели для моделирования с использованием SMPL . program DKSim; uses SMPL; const UnitQnt = 15; кол - во дисков Treq = 10.0; среднее время между запросами Rate = 3.0; время передачи данных Tseek = 50; максимальное время установки Trev = 15; время оборота Tlimit = 2.5 E 5; время моделирования ReqAct = 1; SeekInit = 2; SeekEnd = 3; Transfer = 4; SimulEnd = 5; MaxReq = 10000; type ReqData = record Active : Boolean; Num : Integer; Size : Integer end; var Fl, Done : Boolean; N, R, Event : Integer; Tchnl : real; Chnl : PEquip; ChQueue : PQueue; DK : array [1..UnitQnt] of PEquip; DKQueue : array [1..UnitQnt] of PQueue; Req : array [1..MaxReq] of ReqData; begin InitSim; Chnl := Equip; ChQueue := Queue; for N := 1 to UnitQnt do begin DK[N] := Equip; DKQueue[N] := Queue end; for N:=1 to MaxReq do Req[N].Active := false; Schedule (ReqAct, 0, 0); Schedule (SimulEnd, 0, Tlimit); Done := false; repeat case Cause (Event, R) of ReqAct: begin R:=0; Fl:=true; while Fl and (R < MaxReq) do begin Inc(R); Fl:=Req[R].Active end; if Fl then SimError (' Ошибка '); Req[R].Active := true; Req[R].Num := IntRan (1,UnitQnt); Req[R].Size := 1; Schedule (ReqAct, 0, ExpRan(Treq)); Schedule (SeekInit, R, 0) end; SeekInit: begin if Busy (DK[Req[R].Num]) then Enqueue (DKQueue[Req[R].Num],R) else begin Reserve (DK[Req[R].Num],R); Schedule (SeekEnd,R,Random(Tseek)) end end; SeekEnd: begin if Busy (Chnl) then Enqueue (ChQueue, R) else begin Tchnl := Random(Trev)+Rate*Req[R].Size; Reserve (Chnl, R); Schedule (Transfer, R, Tchnl) end end; Transfer: begin Free (Chnl); Free (DK[Req[R].Num]); Req[R].Active := false; if not Empty (DKQueue[Req[R].Num]) then Schedule (SeekInit, Head (DKQueue[Req[R].Num]), 0); if not Empty (ChQueue) then Schedule (SeekEnd, Head (ChQueue), 0) end; SimulEnd: Done := true end; until Done ; Report; end. Выбор времени моделирования. В имитационных стохастических моделях большое значение для достоверности результата играет набор статистики, т.е. количество прогонов модели. Число прогонов модели в нашем случае определяется временем моделирования. Для определения нужного времени моделирования следует сделать несколько пробных прогонов модели. Сравнить полученные данные и сделать вывод об их достоверности. Наиболее достоверными являются данные, полученные из прогона с максимальным временем моделирования, т.к. в нем собрана наибольшая статистика. Но для нас важно выбрать минимальное время моделирования, при котором данные остаются все еще достоверными. При этом нужно обращать внимание на количество запросов к дискам и на их дисперсию (запросов к каждому диску должно быть не менее 100). Выбор времени моделирования для модели на основе SMPL . Рассмотрим на примере с 5 дисками. Отчет о моделировании Время = 100.00 Средство Среднее время Использование, Число запросов занятости % 1 8.75 35.00 4 2 48.58 48.58 1 3 37.00 74.00 2 4 0.00 0.00 0 5 0.00 0.00 0 6 35.34 35.34 1 Отчет о моделировании Время = 1000.00 Средство Среднее время Использование, Число запросов занятости % 1 10.03 87.30 87 2 44.23 84.04 19 3 44.15 97.14 22 4 47.16 80.18 17 5 50.99 61.19 12 6 42.15 71.66 17 Отчет о моделировании Время = 10000.00 Средство Среднее время Использование, Число запросов занятости % 1 9.82 94.74 965 2 47.38 88.61 187 3 46.48 89.71 193 4 47.66 98.18 206 5 48.75 86.78 178 6 48.27 97.03 201 Отчет о моделировании Время = 100000.00 Средство Среднее время Использование, Число запросов занятости % 1 9.99 96.90 9703 2 50.36 98.10 1948 3 50.91 97.04 1906 4 49.91 98.63 1976 5 50.36 98.50 1956 6 50.44 96.69 1917 Отчет о моделировании Время = 300000.00 Средство Среднее время Использование, Число запросов занятости % 1 9.98 97.29 29255 2 50.66 99.36 5884 3 51.12 99.02 5811 4 50.84 99.55 5874 5 50.95 99.49 5858 6 50.91 98.90 5828 Если посмотреть на столбец ЧИСЛО ЗАПРОСОВ , в котором указывается число заявок, поступивших на данное устройство, то мы увидим, что время моделирования лучше брать не менее 100000 для получения более точного результата. Для систем с большим числом элементов лучше брать большее время моделирования, обращая внимание на число запросов, прошедших через каждое устройство. 2.3. Имитационная модель на GPSS Построение модели для моделирования с использованием GPSS . UnitQnt EQU 10 Treq EQU 8.0 Rate EQU 3.0 Tseek EQU 50 Trev EQU 15 DKnum VARIABLE 1+(RN1@UnitQnt) GENERATE (Exponential (1,0,Treq)) ASSIGN Num,V$DKnum QUEUE P$Num SEIZE P$Num DEPART P$Num ADVANCE (RN2@Tseek) QUEUE Channel SEIZE Channel DEPART Channel ADVANCE (Rate+RN3@Trev) RELEASE Channel RELEASE P$Num TERMINATE 1 Выбор времени моделирования для модели на основе GPSS . Рассмотрим на примере с 5 дисками. START 1000 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 69570.858 13 6 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY 1 196 0.932 330.714 1 1007 0 0 0 30 2 190 0.904 331.061 1 1067 0 0 0 9 3 210 0.980 324.668 1 937 0 0 0 37 4 200 0.943 327.861 1 1105 0 0 0 6 5 209 0.985 327.918 1 965 0 0 0 37 CHANNEL 1001 0.997 69.297 1 1067 0 0 0 2 START 10000 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 691978.858 13 6 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY 1 1996 0.993 344.303 1 9852 0 0 0 283 2 1992 0.990 344.031 1 9971 0 0 0 274 3 2014 0.998 342.894 1 10256 0 0 0 185 4 1991 0.989 343.801 1 9957 0 0 0 286 5 2012 0.999 343.411 1 9922 0 0 0 277 CHANNEL 10001 1.000 69.170 1 9971 0 0 0 3 START 100000 START TIME END TIME BLOCKS FACILITIES STORAGES 0.000 6944856.858 13 6 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY 1 20001 0.999 346.988 1 100958 0 0 0 2981 2 19998 0.999 346.944 1 98890 0 0 0 3526 3 20012 1.000 346.965 1 100683 0 0 0 3026 4 19985 0.999 347.130 1 99671 0 0 0 3111 5 20009 1.000 347.035 1 99621 0 0 0 3229 CHANNEL 100001 1.000 69.446 1 99621 0 0 0 3 Если посмотреть на столбец ENTRIES , в котором указывается число заявок, поступивших на данное устройство, то мы увидим, что лучше брать не менее 10000 для получения более точного результата. Для систем с большим числом элементов лучше брать большее время моделирования, обращая внимание на число заявок, прошедших через каждое устройство. 2.4. Сравнение моделей и их применимость для проектирования План проведения исследований. Необходимо построить зависимость загруженности канала от числа дисков при заданных скоростях передачи данных, которые определяются временем передачи данных. Время передачи данных равно времени оборота диска деленное на количество секторов на дорожке диска. Мы взяли диски, на дорожке которых находится по 5 секторов. Для построения кривой при заданном времени передачи данных и времени оборота диска мы смотрели % использования канала в зависимости от числа дисков. Для построения других кривых выбиралось другое время оборота диска и соответственно зависящее от него время передачи данных, при этом число секторов на дорожке диска оставалось неизменным. То есть по оси Y у нас откладывается загруженность канала, по оси X – число дисков, а разные кривые показывают зависимости для разных скоростей передачи данных. Процент использования канала в выходных данных имитационной модели на GPSS обозначается в столбце Util ( Utility ) для устройства Channel . Процент использования канала в выходных данных имитационной модели на SMPL обозначается в столбце %использования для первого устройства. Из каждого прогона одной модели мы получаем одну точку графика. Сравнение моделей подсистемы дисковой памяти на основе SMPL и GPSS . Имитационное стохастическое моделирование используется, чтобы определить, какое количество дисков M нужно взять при данной скорости оборота (скорости диска), чтобы достичь приемлемой производительности подсистемы дисковой памяти. При этом необходимо учесть, что для каждой скорости диска начиная с определенного числа М дальнейшее увеличение количества дисков дает всё меньший и меньший прирост в производительности, увеличивая при этом стоимость разработки. К тому же при дальнейшем увеличении числа М канал оказывается перегруженным и очереди к нему растут, что свидетельствует о неэффективности такой системы. Поэтому при определении оптимального количества дисков и их скорости необходимо учитывать соотношение бюджета разработки и степень загруженности канала. Так, например, из графика для времени оборота диска Trev =20 и времени передачи данных Rate =5 обратим внимание на загруженность канала (максимальную длину очереди к нему и время ожидания транзакта: для М=1: для М=2: для М=3: для М=4: Из результатов SMPL видно, с увеличением количества дисков очереди к дискам (и время ожидания транзактов) уменьшаются, но возрастает очередь к каналу. Дальнейшее увеличение количества дисков производительность системы фактически не увеличивает, зато приводит к перегрузке канала, что приводит к снижению эффективности данного решения: например, при М=50: Подобные тенденции наблюдаются и в системах с более "быстрыми" дисками, поэтому при небольшом бюджете эффективным можно назвать решение, при котором количество дисков обеспечивают загруженность канала в пределах 80-95%. В данном случае – оптимально использовать 2-3 диска. Графики построены для подсистем дисковой памяти с различными значениями скорости передачи. Скорость передачи задается значением времени передачи данных, которое в свою очередь привязано к времени оборота диска. Эти значения (времени оборота диска и времени передачи данных) выбирались с тем условием, что их отношение (количество секторов на дорожке) всегда постоянная величина равная 5. Построим графики, отражающие результаты имитационного моделирования на SMPL и GPSS для Trev =20 и Rate =5, Trev =40 и Rate =10, Trev =60 и Rate =15, Trev =80 и Rate =20, Trev =100 и Rate =25 ( S =4): Рассмотрим теперь в отдельности каждое семейство графиков для Trev =20 и Rate =5, Trev =40 и Rate =10, Trev =60 и Rate =15, Trev =80 и Rate =20, Trev =100 и Rate =25 ( S =4): Здесь и далее p j – процент использования канала по итогам SMPL -моделирования, q k – процент использования канала по итогам GPSS -моделирования, d h – отклонение q k от p j в процентах. Trev =20 , Rate =5 Отклонение от точного значения Trev = 4 0 , Rate = 10 Trev = 6 0 , Rate = 15 Trev = 80, Rate = 20 Как видно из построенных графиков, разница между результатами моделирования GPSS и SMPL совсем невелика (не превышает 0,5%). Поэтому обе модели применимы для моделирования подсистемы дисковой памяти. Отметим все-таки преимущество модели GPSS : объем программирования при построении данной модели намного меньше, чем у аналога на SMPL . 3. Заключение Рассмотрев несколько методов моделирования и систем моделирования, я пришла к такому заключению: 1. Аналитическое моделирование позволяет получать более точное решение, формируя математические законы, связывающие объекты системы, записанные в виде некоторых функциональных соотношений. Задачей аналитического моделирования является решение уравнений для получения теоретических результатов и сопоставление этих результатов с практикой. К достоинствам аналитического моделирования можно отнести большую силу обобщения, многократность использования, но наиболее полное исследование процесса функционирования системы можно провести, если известны явные зависимости, связывающие искомые характеристики с начальными условиями, параметрами и переменными системы. Однако такие зависимости удается получить для сравнительно простых систем. Чтобы использовать аналитический метод необходимо существенно упростить первоначальную модель, чтобы иметь возможность изучить общие свойства системы. 2. Более сложные задачи можно решать методом имитационного моделирования при условии, что не существует законченной математической постановки данной задачи, либо еще не разработаны аналитические методы решения сформулированной математической модели, либо если аналитические модели имеются, но процедуры столь сложны и трудоемки, что имитационное моделирование дает более простой способ решения задачи. Имитационные модели позволяют достаточно просто учитывать случайные воздействия и другие факторы, которые создают трудности при аналитическом исследовании. Данная модель позволяет проводить эксперименты, меняя при этом условия протекания процесса, и, в конечном счете, определить такие условия, при которых результат удовлетворяет требованиям. Имитационное моделирование, как правило, осуществляется при помощи компьютеров и воспроизводит процесс функционирование системы во времени, имитируя явления, составляющие процесс с сохранением их логической структуры. Данные модели осуществляют прогон программы с заданными параметрами. Имитационное моделирование имеет ряд недостатков. Исследования с помощью этого метода обходятся дорого - для построения данной модели и экспериментирования необходимы высококвалифицированные специалисты-програмисты; необходимо большое количество машинного времени, поскольку метод основывается на статистических испытаниях и требует многочисленных прогонов программ; модель разрабатывается для конкретных условий и, как правило, не тиражируется. 4. Системы моделирования GPSS и SMPL показывают фактически одинаковые результаты. Поэтому применять можно обе. Конечно, у каждой системы есть свои достоинства и недостатки. GPSS является наиболее распространенный, более прост в понимании. Часто объем программирования на GPSS много меньше, чем на SMPL . Но есть и минусы: затруднена интерпретация результатов неудобной формой отчета, к тому же продукт GPSS (этой версии) не позволяют построить график внутренними средствами. Модель можно применять, если определяющим параметром моделирования является не точность модели, а время ее построения. SMPL является более трудоемкой системой. Но используя SMPL достаточно просто построить графики, и наглядно показать процесс моделирования. Я пришла к выводу, что применимость той или иной модели зависит в основном от навыков модельера. Поэтому выбирать должен именно он тот язык и систему, с которой ему проще будет работать.
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Нe стрaдaйтe, что я вaс нe люблю. Тот, кого я люблю, стрaдaeт eщё большe.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по программированию "Моделирование микропроцессорной системы в GPSS, SMPL", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru