- •Организационно-методические указания
- •Лабораторная работа №1
- •1. Цель и порядок работы
- •2. Общие сведения
- •Алгоритм spt
- •2.2. Алгоритм rr
- •Алгоритм fb
- •3. Вопросы
- •4. Задание
- •5. Содержание отчета
- •Лабораторная работа №2
- •1. Цель и порядок работы
- •2. Общие сведения
- •2.1 Методы управления ресурсами многопроцессорных систем при обработке пакетов задач с прерываниями
- •2.2 Методы управления ресурсами многопроцессорных систем при обработке пакетов независимых задач без прерываний
- •3. Контрольные вопросы
- •4. Задания для самостоятельной работы
- •5. Содержание отчета
- •Лабораторная работа № 3
- •Исследование работы
- •Мультипроцессорных систем с общей и индивидуальной памятью
- •(Режимы разделения нагрузки и разделения функций)
- •1. Цель и порядок выполнения работы
- •2. Общие сведения
- •2.1 Характеристики мпс с общей памятью.
- •2.1.1 Модель мпс с общей памятью
- •2.1.2 Характеристики мпс с общей памятью.
- •2.2 Характеристики мпс с индивидуальной памятью
- •2.2.1 Модель мпс с индивидуальной памятью
- •2.2.2 Характеристики мпс с индивидуальной памятью
- •3. Контрольные вопросы
- •Задание
- •5. Cодержание отчёта
- •Лабораторная работа n4
- •Цель и порядок работы.
- •2. Теоретические сведения. Принципы случайного доступа.
- •Чистая Алоха.
- •Синхронная Алоха.
- •Контрольные вопросы
- •4. Практические задания
- •5. Указания по оформлению отчета.
- •Лабораторная работа №5
- •1. Цель и порядок работы
- •2. Краткая теория
- •2.1. Общие сведения
- •Доменная адресация
- •5. Контрольные вопросы
- •4. Задание
- •5. Содержание отчета
- •Лабораторная работа №6
- •Общие сведения
- •Манчестерский код
- •2.3 Стандарты ieee, определяющие Ethernet
- •Формат кадра
- •Стандарты ieee на 100 Мбит/с
- •3. Контрольные вопросы
- •4. Задания для самостоятельной работы
- •5. Содержание отчета
- •Лабораторная работа № 7 Программирование алгоритмов маршрутизации
- •Цель и порядок выполнения работы
- •Общие сведения
- •2.1 Алгоритм Дейкстры.
- •Алгоритм Флойда
- •Контрольные вопросы
- •4. Варианты заданий для самостоятельной работы
- •5. Содержание отчета
- •Литература
- •Архитектура вычислительных систем и сетей эвм Методические указания к лабораторным работам
- •350072, Московская, 2а
2.2. Алгоритм rr
В реальных системах оперативной обработки априорная информация о временах решения задач, как правило, отсутствует. Чтобы воспользоваться принципами планирования на основе алгоритма SPT, в систему вводятся средства, обеспечивающие выявление коротких и длинных работ непосредственно в ходе вычислительного процесса.
Простейшее правило планирования работ, обеспечивающее выполнение указанного требования, задается алгоритмом циклического обслуживания, или, иначе, алгоритмом RR (Round–Robin). Работа алгоритма иллюстрируется рисунком.
Заявки на выполнение работ поступают с интенсивностью в очередь , откуда они выбираются и исполняются процессором Пр. Для обслуживания отдельной заявки отводится постоянный квант времени q, достаточный для выполнения нескольких тысяч операций. Если работа была выполнена за время q, она покидает систему. В противном случае она вновь поступает в конец очереди и ожидает предоставления ей очередного кванта процессорного времени.
Оценим среднее время ожидания и пребывания работ в системе с циклическим планированием. Воспользуемся для этого аппаратом теории массового обслуживания. Для упрощения последующих выкладок предположим, что длительность кванта не постоянная величина, а случайная, распределенная по экспоненциальному закону с тем же средним значением q. Причем также, что на вход системы поступает простейший поток с интенсивностью работ в единицу времени, и с вероятностями или (1-) работа не будет или соответственно будет завершена в текущем кванте. Из последнего предположения следует, что вероятность того, что работа будет выполнена точно за k квантов (не завершена за первые k-1 квантов и завершена в k-том варианте), описывается геометрическим распределением
pk=k-1(1-), k=1,2,...
со средним
Таким
образом, если известны средняя трудоемкость
работ
и длительность
q
кванта, то среднее количество
квантов, с одной стороны, равно /q,
а с другой – полученному выше выражению,
то есть
,
откуда
.
Определим среднее время ответа для работы J, требующей ровно единиц времени обработки. Пусть m – наименьшее целое, при котором mq (т.е. m – число квантов, достаточное для обслуживания заявки). Рассмотрим состояние системы на момент поступления работы J. При поступлении работы J в системе в среднем находится W1 других работ. Значение N1 определяется как среднее число заявок в системе с бесприоритетным обслуживанием, на вход которой заявки поступают с интенсивностью
n
(с учетом интенсивности поступления заявок на дообслуживание в последующих тактах) и обслуживаются по экспоненциальному закону со средним q. Для определения W1 требуется найти распределение вероятностей {pk} того, что в очереди будет ровно k заявок. Тогда
W1= kpk.
Для определения pk составим систему дифференциальных уравнений Колмогорова с помощью графа переходов (q)
Здесь Si – состояние системы с i заявками в очереди (одна из них обслуживается). Тогда система уравнений имеет вид
p`i =pi-1 - pi - pi + pi+1,
или
p`i =pi-1 - (+)pi + pi+1, i=1,2,...
p`0 = -p0 + p1.
Кроме того, требуется соблюдение условия нормировки
.
Рассмотрим установившийся режим, т.е. считаем, что t. Тогда вместо дифференциальных уравнений получаем алгебраические
pi-1 - (+)pi + pi+1=0, i=1,2,...
- p0 + p1=0,
p0 + p1 + ... + pi + ... =1.
Из второго уравнения выразим p1 через p0 :
p1 = * p0 ;
подставим это значение в первое уравнение с i=1. Тогда
Делаем
индуктивное предположение:
. Тогда из k-го
уравнения получаем
откуда
,
что подтверждает индуктивное предположение.
Поэтому в соответствии с условием
нормировки имеем
,
где
.
На основании полученного выражения или pk имеем
.
С учетом допущения об экспоненциальности распределения кванта q время дообслуживания работы J, не зависит от этого момента и в среднем равно q. Таким образом, работа будет ожидать W1q единиц времени до получения первого кванта. За время W1q и первый квант выполнения работы J в систему поступит новых работ. Кроме того, W1 работ из их общего числа W1 вернутся обратно в очередь на довыполнение. Поэтому в следующем цикле работа J застанет в системе W2 работ: W2 = W1q + q + W1.
Подставляя в последнее выражение ранее полученное значение W1, получаем
В общем случае аналогично получаем
Wi = Wi-1q + q + Wi-1 = /(1-).
Среднее время ожидания для работы J, время выполнения которой составляет m квантов, равно
m
= q
=
mq/(1-)
.
Здесь среднее время ожидания m определяется как время, необходимое для обслуживания всех Wi работ, стоящих впереди работы J в каждом из m циклов обслуживания. Среднее время ответа для работы J
Um = m +mq = mq/(1-),
где = q/(1-) = q/(q/) = – загрузка системы. Из выражения для времени ожидания m видно, что время ожидания обслуживания возрастает с увеличением трудоемкости mq задачи. В то же время при обслуживании задач в порядке поступления без прерываний среднее время ожидания не зависит от трудоемкости и составляет
,
где
,
– средняя трудоемкость.
Сравним и m:
.
Из последнего выражения видно, что время ожидания длинных задач (mq>) больше, чем при обслуживании в порядке поступления, а время ожидания коротких задач (mq<) – меньше времени ожидания в режиме без прерываний.
