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

Министерство образования РФ. Московский Государственный Институт Электроники и математики МГИЭМ Технический университет Кафедра ВТ. Пояснительная записка к курсовой работе По дисциплине Моделирование Проверил ВыполнилаПреподавательСтудентка группы С-73Курилов И.Д. Бондарева А Москва 2005 год. Содержание 1.
Моделирование микропроцессорной системы 1. Описание объекта моделирования 2. Аналитическая модель 3. Имитационная модель на SMPL 4. Имитационная модель на GPSS 5. Сравнение моделей и их применимость для проектирования 2. Моделирование подсистемы дисковой памяти 1. Описание объекта моделирования 2. Иммитационная модель на SMPL 3. Имитационная модель на
GPSS 4. Сравнение моделей и их применимость для проектирования 3. Заключение 1. Моделирование микропроцессорной системы 1. Описание объекта моделирования Многопроцессорная система – вычислительная система, состоящая из нескольких процессоров, использующих общую оперативную память, и обеспечивающая параллельную обработку данных. Обобщенная структура МПС представлена на рис. 1. Рис.
1. Из-за использования общей оперативной памяти процессорами, могут возникать конфликты системы в случае, когда процессор обращается к блоку памяти, занятому другим процессором. Задачей моделирования является нахождение наиболее производительного соотношения количества процессоров и отношения количества блоков памяти к их производительности. Способ построения многопроцессорных систем отличается по построению коммутирующей подсистемы.
В качестве системы для исследований была выбрана многопроцессорная система с многовходовой памятью. 2. Аналитическая модель 1.2.1 Как определить коэффициент r для конкретного процессора с определенной памятью. Коэффициент использования памяти r определяется по формуле где среднее время обращения к памяти, среднее время обработки данных процессором. Допустим, мы хотим определить коэффициент r при выполнении одной какой-то команды. Из документации на процессор для каждой команды можно определить количество тактов, затрачиваемых на ее выполнение. Среди этих тактов есть такты обращения к памяти один или несколько в зависимости от используемого способа адресации. Tm-количество тактов обращения к памяти, Tc-общее количество тактов. А так как шина памяти медленнее чем процессор, то на одно обращение к памяти уходит несколько Р тактов процессораэто можно посмотреть в BIOS. То есть Чтобы определить коэффициент r общий для всех команд процессора, нужно найти средние значения
Tm и Tc по всем командам. Также можно учитывать последствия конвейерной обработки команд, когда чтение данных из памяти для выполнения команды происходит во время выполнения предыдущей команды. Скалярная обработка, когда одновременно выполняется несколько команд, также нужно учесть, как и неравномерное распределение команд в различных программах, зависимость времени доступа к памяти от внешних условий и тд. Но все это невозможно учесть в формуле, нужно строить имитационные модели.
2. Разработать программу, вычисляющую T по формулам и , построить графики. Графики были построены в программе MathCad. Сравнение графиков, построенных по формулам и . Графики разницы между значениями, рассчитанными по формуле и по формуле. 3. Провести эксперименты с программными моделями и сделать выводы насколько применима формула или надо использовать формулу , как используются эти модели для разработки многопроцессорных систем. а
Формула применима, так как расхождение между этими формулами небольшое и составляет менее 10. б Эти модели используются, чтобы определить, сколько блоков памяти и какого быстродействия нужно взять при заданном количестве процессоров, при условии достижения оптимальной производительности системы. 4. Преобразовать модели для определения производительности системы в предположении, что 50 обращений ЦП идет к одному блоку памяти, а остальные 50 обращений с равной вероятностью распределены между оставшимися М-1 блоками памяти. Вероятности выбора блоков памяти равны соответственно Вероятности того, что блоки памяти заблокированы, равны соответственно А вероятности того, что они свободны, равны А для N процессоров соответственно А вероятность того, что память заблокирована Тогда производительность системы с М блоками памяти будет равна TN отношение скорости выполнения команд процессора с учетом конфликтов
к скорости без учета конфликтов. Скорость выполнения команд процессора с учетом конфликтов , а без учета конфликтов Подставив выражение для r в формулу для T получим 5. Преобразовать модели для определения производительности а системы на основе общей шины Для системы на общей шине все блоки памяти можно рассматривать как один, поэтому M1 б системы на основе матричного коммутатора 1.3.
Имитационная модель на SMPL Разработать план проведения эксперимента. Расчет аналитической модели и построение графиков, отражающих результаты моделирования производится в программе MathCad 11.0а. Программа для стохастической имитационной модели реализована на SMPL и транслируется с помощью среды Turbo Pascal 1. Расчеты и графическое оформление производится в программе
MathCad 11.0а. Одной из целей данной работы является сопоставление результатов аналитического и имитационного моделирования, представленных в виде графиков. Но результатом аналитического моделирования является Т производительность всей системы в относительных единицах, а в качестве результатов имитационного моделирования получаем проценты использования каждого отдельного процессора. Поэтому для сравнения результатов аналитического и имитационного моделирования, представленных в одной
системе координат, необходимо от процентов использования процессоров Pi перейти к производительности системы Т. Для этого воспользуемся соотношением Таким образом, мы рассчитываем Т по результатам каждого прогона имитационной модели каждый прогон имеет свое значение М для фиксированного N, где N число процессоров, М число блоков памяти в системе. Но в аналитической модели мы получали зависимость Т от Mr, где r коэффициент использования памяти в аналитической модели мы приняли r12. Поэтому в случае имитационной модели абсциссой для данного Т является не М, а Мr. В итоге, по результатам каждого прогона имитационной модели для фиксированного N и данного М при r12 получаем на графике точку с координатами Например, в результате прогона имитационной модели для
N3, М5 r12 получим следующие результаты Проанализировав результаты, получим по ординате откладываем по абсциссе Таким образом, на графике получили точку с координатами 10 2.715 В результате прогонов имитационной модели для разных М при фиксированном N получим зависимость производительности системы от числа процессоров вернее, от Мr, где r12 в графическом виде, которая пригодна для сопоставления с результатами аналитического моделирования
Определить время имитационного моделирования. Для получения содержательных результатов имитационного моделирования необходимо использовать статистические методы. Данный подход требует многократного повторения имитируемого процесса при изменяющихся значениях случайных факторов с последующим статистическим усреднением обработкой результатов отдельных однократных расчетов. Таким образом, чем больше время моделирования, тем точнее результаты, но тем больше вычислительных
ресурсов и машинного времени требуется для их получения. Поэтому необходимо, произведя несколько прогонов модели, определить минимальное время моделирования, при котором результаты будут достоверными. При этом зададимся следующими критериями – количество запроса к каждому блоку не менее 100 – отклонение количества запросов от среднего дисперсия 2,5. Итак, минимальное время, при котором результаты удовлетворяют заданным критериям 9000. Оценить применимость имитационной модели для проектирования многопроцессорных систем. Имитационное стохастическое моделирование используется, чтобы определить, какое количество блоков памяти M и какой производительности нужно взять при данном количестве процессоров N, чтобы достичь приемлемой производительности системы. При этом необходимо учесть, что для каждого количества процессоров начиная с определенного числа
М дальнейшее увеличение блоков памяти дает вс меньший и меньший прирост в производительности, увеличивая при этом стоимость разработки. Поэтому при определении оптимального числа блоков памяти и их производительности необходимо учитывать соотношение бюджета разработки и требований к ней. Так, например, из графика для N3 при r12 видно, что при небольшом бюджете и не очень критических требованиях к производительности оптимальным можно назвать число блоков памяти, лежащее в пределах от 4 до 6
Сравнить аналитическую и имитационную модели многопроцессорной системы Построим графики, отражающие результаты аналитического моделирования при помощи приближенной формулы и точной формулы при помощи программы MathCad. По формуле построим графики для N3, N5, N7, N15, N50 и N100 По формуле построим графики для N3, N5, N7 и N15 Аналогично строим графики, отражающие результаты имитационного моделирования при
N3, N5, N7 и N15 Здесь и далее yM,N приближенная формула , pj точное значение , qk значения, полученные в результате имитационного моделирования, dh отклонение qk от pj в процентах. N3 Отклонение от точного значения N5 N7 N15 N50 N100 1.4. Имитационная модель на GPSS Построение модели. параметры модели ProcNum EQU 10 MemNum EQU 4 TimeProc EQU 10 TimeMem EQU 10 переменные Processor VARIABLE 1RN1ProcNum Memory VARIABLE 1ProcNumRN2MemNum GENERATE TimeProcProcNum ASSIGN Proc,VProcessor ASSIGN Mem,VMemory Gate NU PProc QUEUE PMem SEIZE PMem DEPART PMem SEIZE PProc ADVANCE Exponential1,0,TimeProc RELEASE PMem ADVANCE Exponential2,0,TimeProc
RELEASE PProc 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 обозначается UtilUtility. Чтобы получить зависимость не просто от М числа блоков памяти, а еще и учесть их коэффициенты использования как это было в аналитической модели,
необходимо для каждой точки графика значение М разделить на r в аналитической модели мы брали r 0,5. Таким образом, мы получаем точку, необходимую для построения зависимости Т от Мr. Можно построить и более простую зависимость Т от М без учета r. Покажем построение зависимости Т от Мr по результатам имитационного моделирования на конкретном примере.
После проведения имитационного моделирования многопроцессорной системы с 3-мя процессорами и 2-мя блоками памяти мы получили данные следующего вида FACILITYENTRIESUTILAVE. TIME AVAIL.OWNER PEND INTER RETRY DELAY12610,38921,985 1717 00 80 123740,5220,492 10 00 0 033660,50620,385 10 00 0 045180,99628,351 1777 00 0 165654840,99630,335 1717 00 0 1685 Производительность системы вычисляем по формуле, приведенной выше Т исп.1 исп.2 исп.N 100 38,9 52 50,6 100 1,415 Так же вычисляем производительность системы при разных количествах блоков памяти соответственно получаем разные точки графика. Чтобы эта модель была сравнима с аналитической моделью, нам необходимо учесть коэффициент использования памяти r, которая в аналитической модели была 0,5. Для этого М делим на r, и получаем соответствующую точку на оси абсцисс. В результате у нас получается следующий график Сравнение данной модели с предыдущими моделями многопроцессорных
систем. Сравнение результатов моделирования сделаем с помощью построения графиков. Ниже приведены результаты имитационного моделирования после дополнительного преобразования, где Xi число блоков памяти М с учетом их производительности r, Yi производительность системы при таком М, i число процессоров в многопроцессорной системе. Данные предыдущих моделей. Данные полученные при моделировании на
GPSS Сравнительный график аналитической моделипредставлена двумя формулами R3,0.5 менее точная модель, X3,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.5E5 время моделирования 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 DKN Equip DKQueueN Queue end for N1 to MaxReq do ReqN.Active false Schedule ReqAct, 0, 0 Schedule SimulEnd, 0, Tlimit Done false repeat case Cause Event, R of ReqAct begin R0 Fltrue while Fl and R MaxReq do begin
IncR FlReqR.Active end if Fl then SimError Ошибка ReqR.Active true ReqR.Num IntRan 1,UnitQnt ReqR.Size 1 Schedule ReqAct, 0, ExpRanTreq Schedule SeekInit, R, 0 end SeekInit begin if Busy DKReqR.Num then Enqueue DKQueueReqR.Num,R else begin Reserve DKReqR.Num,R Schedule SeekEnd,R,RandomTseek end end
SeekEnd begin if Busy Chnl then Enqueue ChQueue, R else begin Tchnl RandomTrevRateReqR.Size Reserve Chnl, R Schedule Transfer, R, Tchnl end end Transfer begin Free Chnl Free DKReqR.Num ReqR.Active false if not Empty DKQueueReqR.Num then Schedule SeekInit, Head DKQueueReqR.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 Отчет о моделировании Время 10.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
Отчет о моделировании Время 30.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 Если посмотреть на столбец ЧИСЛО ЗАПРОСОВ, в котором указывается число заявок, поступивших на данное устройство, то мы увидим, что время моделирования лучше брать не менее 10 для получения более точного результата. Для систем с большим числом элементов лучше брать большее время моделирования, обращая внимание
на число запросов, прошедших через каждое устройство. 2.3. Имитационная модель на GPSS Построение модели для моделирования с использованием GPSS . UnitQnt EQU 10 Treq EQU 8.0 Rate EQU 3.0 Tseek EQU 50 Trev EQU 15 DKnum VARIABLE 1RN1UnitQnt GENERATE Exponential 1,0,Treq ASSIGN Num,VDKnum QUEUE PNum SEIZE PNum DEPART PNum ADVANCE RN2Tseek QUEUE Channel SEIZE Channel DEPART Channel ADVANCE RateRN3Trev RELEASE Channel RELEASE PNum 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 10 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 обозначается в столбце UtilUtility для устройства Channel. Процент использования канала в выходных данных имитационной модели на SMPL обозначается в столбце использования для первого устройства. Из каждого прогона одной модели мы получаем одну точку графика.
Сравнение моделей подсистемы дисковой памяти на основе SMPL и GPSS. Имитационное стохастическое моделирование используется, чтобы определить, какое количество дисков M нужно взять при данной скорости оборота скорости диска, чтобы достичь приемлемой производительности подсистемы дисковой памяти. При этом необходимо учесть, что для каждой скорости диска начиная с определенного числа М дальнейшее увеличение количества дисков дает вс меньший и меньший прирост в производительности, увеличивая при этом стоимость разработки. К тому же при дальнейшем увеличении числа М канал оказывается перегруженным и очереди к нему растут, что свидетельствует о неэффективности такой системы. Поэтому при определении оптимального количества дисков и их скорости необходимо учитывать соотношение бюджета разработки и степень загруженности канала. Так, например, из графика для времени оборота диска
Trev20 и времени передачи данных Rate5 обратим внимание на загруженность канала максимальную длину очереди к нему и время ожидания транзакта для М1 для М2 для М3 для М4 Из результатов SMPL видно, с увеличением количества дисков очереди к дискам и время ожидания транзактов уменьшаются, но возрастает очередь к каналу. Дальнейшее увеличение количества дисков производительность системы фактически не увеличивает, зато
приводит к перегрузке канала, что приводит к снижению эффективности данного решения например, при М50 Подобные тенденции наблюдаются и в системах с более быстрыми дисками, поэтому при небольшом бюджете эффективным можно назвать решение, при котором количество дисков обеспечивают загруженность канала в пределах 80-95. В данном случае оптимально использовать 2-3 диска. Графики построены для подсистем дисковой памяти с различными значениями скорости передачи.
Скорость передачи задается значением времени передачи данных, которое в свою очередь привязано к времени оборота диска. Эти значения времени оборота диска и времени передачи данных выбирались с тем условием, что их отношение количество секторов на дорожке всегда постоянная величина равная 5. Построим графики, отражающие результаты имитационного моделирования на SMPL и GPSS для Trev20 и Rate5, Trev40 и Rate10, Trev60 и Rate15, Trev80 и Rate20, Trev100 и Rate25 S4 Рассмотрим теперь в отдельности каждое семейство графиков для Trev20 и Rate5, Trev40 и Rate10, Trev60 и Rate15, Trev80 и Rate20, Trev100 и Rate25 S4 Здесь и далее pj процент использования канала по итогам SMPL-моделирования, qk процент использования канала по итогам GPSS-моделирования, dh отклонение qk от pj в процентах.
Trev20, Rate5 Отклонение от точного значения Trev40, Rate10 Trev60, Rate15 Trev80, Rate20 N50 Как видно из построенных графиков, разница между результатами моделирования GPSS и SMPL совсем невелика не превышает 0,5. Поэтому обе модели применимы для моделирования подсистемы дисковой памяти. Отметим все-таки преимущество модели GPSS объем программирования при построении данной модели намного
меньше, чем у аналога на SMPL. 3. Заключение Рассмотрев несколько методов моделирования и систем моделирования, я пришла к такому заключению 1. Аналитическое моделирование позволяет получать более точное решение, формируя математические законы, связывающие объекты системы, записанные в виде некоторых функциональных соотношений. Задачей аналитического моделирования является решение уравнений для получения теоретических результатов и сопоставление этих результатов с практикой.
К достоинствам аналитического моделирования можно отнести большую силу обобщения, многократность использования, но наиболее полное исследование процесса функционирования системы можно провести, если известны явные зависимости, связывающие искомые характеристики с начальными условиями, параметрами и переменными системы. Однако такие зависимости удается получить для сравнительно простых систем. Чтобы использовать аналитический метод необходимо существенно упростить первоначальную модель, чтобы иметь возможность изучить общие свойства системы. 2. Более сложные задачи можно решать методом имитационного моделирования при условии, что не существует законченной математической постановки данной задачи, либо еще не разработаны аналитические методы решения сформулированной математической модели, либо если аналитические модели имеются, но процедуры столь сложны и трудоемки, что имитационное моделирование дает более простой способ решения задачи.
Имитационные модели позволяют достаточно просто учитывать случайные воздействия и другие факторы, которые создают трудности при аналитическом исследовании. Данная модель позволяет проводить эксперименты, меняя при этом условия протекания процесса, и, в конечном счете, определить такие условия, при которых результат удовлетворяет требованиям. Имитационное моделирование, как правило, осуществляется при помощи компьютеров и воспроизводит процесс функционирование системы во времени, имитируя явления, составляющие процесс
с сохранением их логической структуры. Данные модели осуществляют прогон программы с заданными параметрами. Имитационное моделирование имеет ряд недостатков. Исследования с помощью этого метода обходятся дорого – для построения данной модели и экспериментирования необходимы высококвалифицированные специалисты-програмисты необходимо большое количество машинного времени, поскольку метод основывается на статистических испытаниях и требует многочисленных прогонов программ
модель разрабатывается для конкретных условий и, как правило, не тиражируется. 4. Системы моделирования GPSS и SMPL показывают фактически одинаковые результаты. Поэтому применять можно обе. Конечно, у каждой системы есть свои достоинства и недостатки. GPSS является наиболее распространенный, более прост в понимании. Часто объем программирования на GPSS много меньше, чем на SMPL. Но есть и минусы затруднена интерпретация результатов неудобной формой отчета, к тому же продукт GPSS этой версии не позволяют построить график внутренними средствами. Модель можно применять, если определяющим параметром моделирования является не точность модели, а время ее построения. SMPL является более трудоемкой системой. Но используя SMPL достаточно просто построить графики, и наглядно показать процесс моделирования.
Я пришла к выводу, что применимость той или иной модели зависит в основном от навыков модельера. Поэтому выбирать должен именно он тот язык и систему, с которой ему проще будет работать.