Входной буфер, процессор и две выходных линий с двумя буферами как основные элементы узла коммутации сообщений. Определение параметров загрузки устройств и вероятности отказа в обслуживании сообщений из-за возможности переполнения буферов выходных линий.
Аннотация к работе
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ федеральное государственное автономное образовательное учреждение высшего профессионального образования Национальный исследовательский ядерный университет «МИФИ» Факультет Кибернетики Кафедра «Информатика и процессы управления» (№ 17) ОТЧЕТ по лабораторным работам по курсу Математическое моделирование Выполнил студент группы К8-172 Кузин А.А. Москва 2012 Задание Узел коммутации сообщений (УКС) состоит из входного буфера, процессора и двух выходных линий с двумя буферами, по одному на входе каждой линии. Лабораторная работа №1 События: P13 - новое сообщение P1 - сгенерировано сообщение 1го типа P2 - сгенерировано сообщение 2го типа P3 - ожидание в буфере сообщений P4 - обработка сообщений (CPU) P5 - наличие места в буфере передачи 2 P6 - требование типа сообщения 2 P7 - наличие места в буфере передачи 1 P8 - требование типа сообщения 1 P9 - ожидание в буфере передачи 1 P10 - ожидание в буфере передачи 2 P11 - передано сообщения 1го типа P12 - передано сообщения 2го типа Переходы: T10 - начало обработки сообщения t1 - определение типа сообщения 1 t2 - определение типа сообщения 2 t3 - поступление на обработку в CPU t4 - конец обработки и поступление в буфер передачи 1 сообщения 1 t5 - конец обработки и поступление в буфер передачи 2 сообщения 2 t6 - начало передачи сообщения 1 t7 - начало передачи сообщения 2 t8 - конец передачи сообщения 1 t9 - конец передачи сообщения 2 Лабораторная работа № 2 CDC = Переменные Входные переменные X - тип сообщений, X ? {1, 2} ? {?}; Переменные состояния g1 - состояние CPU, g1 ? {0, 1}, где 0 - не занят, 1 - занят g2 - количество сообщений во входном буфере g3i - количество сообщений в i-м буфере передачи g4 - тип последнего сообщения, g4 ? {1, 2} g5i - сумма времен ожидания сообщений i-го типа в i-й очереди на передачу g6i - количество переданных сообщений по i-й линии g7 - количество обработанных сообщений g8 - количество поступивших сообщений Выходные переменные y1 - среднее время ожидания сообщений в очереди на обработку y2i - среднее время ожидания сообщений i-го типа в очереди на передачу y3 - количество поступивших сообщений y4 - количество обработанных сообщений y5 - вероятность отказа y6 - загрузка всего оборудования y7i - загрузка i-й линии Процессы P1 - генерация сообщений 1 и 2 типов P2 - обработка сообщений P3 - отправка сообщения 1го типа P4 - отправка сообщения 2го типа P5 - обработка информации События C1 - поступление сообщения C2 - начало обработки сообщения C3i - окончание обработки сообщения i-го типа C4i - начало передачи сообщения i-го типа C5i - завершение передачи сообщения i-го типа C6 - формирование результатов моделирования Описание D и Sa D = {P1, P2, P3, P4, P5 } Sp1 = {x} Sp2 = {g1, g2, g31, g32, g4, g7} Sp3 = {g31, g51, g61} Sp4 = {g32, g52, g62} Sp5 = {g51, g52, g61, g62, g7, g8, y1, y21, y22, y3, y4, y5, y6, y71, y72} Отчет о моделировании Время моделирования - 10 секунд Поступило: 669 сообщений Обработано: 34 (5.08%) Вероятность отказа: 94.8% Среднее время ожидания во входном буфере: 0.00с Среднее время ожидания в очереди на передачу 1: 38.86мс Среднее время ожидания в очереди на передачу 2: 40.43мс Загрузка CPU: 2.38% Загрузка линии передачи 1: 1.07% Загрузка линии передачи 1: 2.91% Листинг unit userdef; interface uses SysUtils; // -----------------------Изменяемая часть----------------------------------- procedure Message1; procedure Obrab; procedure Send1; procedure Send2; procedure UserInit; procedure UserStat; function UserCheck: boolean; procedure start; implementation uses prog,main; type MsgSpec = record Kind: integer; inTime: integer; end; var LBase: BaseQueue; SQueue1, SQueue2: BaseQueue; X: integer; Msg: MsgSpec; узел коммутация сообщение буфер Tobrab,Obrabot, Otkaz, Vsego,Twait,Twork, TSend1, TSend2, TwaitSend1, TwaitSend2,TobrabSend1, TobrabSend2, TworkSend1, TworkSend2, ObrabotSend1, ObrabotSend2, inq1, inq2: integer; {$F } procedure Message1; begin form1. RichEdit1. Lines. Clear; X: =Random (2) 1; form1. richedit1. Lines. add ( Поступило сообщение типа inttostr (x) .