
- •Организационно-методические указания
- •Лабораторная работа №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.1 Методы управления ресурсами многопроцессорных систем при обработке пакетов задач с прерываниями
Алгоритм Макнотона
Рассмотрим систему с n идентичными процессорами, на которой необходимо решить L независимых задач; каждая задача решается одним процессором в течение времени
t i, i = 1 ,..., L. Требуется найти алгоритм, который для каждого данного пакета (набора) строил бы расписание решения задач на процессорах системы, обеспечивающее минимально возможное время решения. При этом достигается максимально возможная производительность системы. Например, в случае 2-процессорной системы и набора задач с временами (3,3,2,2,2) возможны различные варианты назначения задач на решение. Приведем некоторые из них:
a)
б)
T
= T0
= θ
с)
Очевидно, что наилучший в смысле минимизации общего времени решения задач - вариант c, для которого время Т решения пакета задач совпадает с соответствующим оптимальным значением Т0 и в данном случае равно величине
q = max max ti , 1/n * ti
Величина q является нижней границей для оптимального значения Т0. Действительно, длина Т любого расписания не может быть меньше ни max ti - максимального из времен решения задач пакета П, ни величины (1/n *å ti ) , дающей длину расписания в том случае, когда до момента завершения решения последней из задач пакета ни один процессор не простаивает, т.е. все процессоры имеют 100% загруженности.
В общем случае даже при n = 2 задача поиска оптимального значения Т при условии решения задач, является NP-трудной, т.е. все известные алгоритмы ее решения имеют трудоемкость, экспоненциально зависящую от L. Однако, если допустить возможность прерывания решения задач пакета до завершения их обслуживания, то могут быть предложены полиномиально-трудоемкие алгоритмы, приводящие к расписанию оптимальной длины Т0. При этом считается, что после прерывания решение задачи может быть возобновлено с точки прерывания на любом процессоре, не обязательно на том, на котором она первоначально решалась. Число прерываний должно быть по возможности меньшим, так как с каждым актом прерывания связаны потери машинного времени на загрузку-выгрузку задач из оперативной памяти.
Рассмотрим предложенный Макнотоном в 1959 г. алгоритм построения оптимального по длине расписания с не более чем n-1 прерываниями.
Алгоритм Макнотона заключается в предварительном упорядочении задач по убыванию времени решения и назначении задач последовательно по порядку номеров одну за другой на процессоры системы справа налево от уровня q.
Пример
n=2,L=4, времена решения задач:(5,4,3,2). Тогда
= max 5 , 1/2 *(5+4+3+2) =7.
И расписание, полученное в соответствии с алгоритмом Макнотона,
имеет следующий вид:
В данном случае число прерываний равно единице.
Покажем, что n-1 (максимальное число прерываний для расписания, полученного в соответствии с алгоритмом Макнотона) является достижимой границей числа прерываний.
Для доказательства этого построим такой пример пакета задач, для которого алгоритм Макнотона дает расписание с числом прерываний n-1.
Пусть L=n+1 и ti = n, i= 1, n+1.
Тогда q = max n , 1/n * (n+1)*n = n+1, а расписание, получаемое в соответствии с алгоритмом Макнотона, имеет вид:
T=n+1=
Число прерываний в этом случае, как видно, равно n-1,что и требовалось показать. Покажем теперь, что любое оптимальное расписание для этого пакета задач также имеет не менее n-1 прерываний. Очевидно, что в любом оптимальном расписании ни один процессор не простаивает на интервале [0,n+1]. Предположим, что существует некоторое оптимальное расписание с числом прерываний, меньшим n-1. Тогда по крайней мере 2 процессора (предположим для определенности Pk и Pl ) обслуживают заявки без прерываний. Очевидно эти процессоры обслуживают некоторые задачи Zik и Zil в интервале [0,n] без прерываний (если решение этих задач начинается позже момента времени t=0, значит до этого момента на этих процессорах решались некоторые другие задачи, решение которых прерывается в моменты начала решения задач Zik и Zil ). Найдутся моменты времени t, t`, такие, что n £ t < t` £ n+1, и в интервале [ t , t` ] хотя бы один процессор простаивает, а потому рассматриваемое решение не может быть оптимальным.
Так как мы пришли к противоречию, делаем вывод о том, что предположение о числе прерываний, меньшем n-1 , в оптимальном расписании ложно.