
- •Организационно-методические указания
- •Лабораторная работа №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а
Алгоритм Флойда
Алгоритм имеет форму алгоритма Форда - Фалкерсона, т.е. одного из классов алгоритмов, впервые предложенного Флойдом.
Он также состоит из двух частей: начального шага и расчета кратчайших путей, которые повторяются до завершения алгоритма. Здесь кратчайшее расстояние представляет собой расстояние до данного узла от узла 1, например, рассматриваемого как узел назначения. Алгоритм заканчивается, когда для всех узлов фиксируется их расстояние до узла 1 (узла получателя) и отмечаются следующие узлы по направлению к узлу назначения по кратчайшему пути. Построение таблицы маршрутов с использованием алгоритма Флойда требует повторного или параллельного применения этого алгоритма для каждого узла назначения, что дает в результате набор меток для каждого узла, причем каждая метка дает информацию о маршруте (следующем узле) и расстоянии до конкретного узла назначения.
Дадим опять только неформальное описание алгоритма. Каждый узел v имеет метку (n, D(v)), где D(v) представляет текущую величину кратчайшего расстояния от узла до получателя, а n - номер следующего узла по текущему рассчитанному кратчайшему пути.
Начальный шаг. Если узел назначения - узел 1, то устанавливаем D(1)=0 и отмечаем все остальные узлы ( , ).
Отметка кратчайшего расстояния для всех узлов. Для каждого узла v1 выполняется следующее: обновляются величины D(v) путем использования текущего значения D(w) для каждого соседнего узла w и вычисления D(w)+l(w,v) с последующим выполнением операции
Метка v обновляется путем замены n номером смежного узла, что минимизирует только что приведенное выражение, и путем замены D(v) вновь полученным значением. Операция повторяется для каждого узла, пока не прекратятся дальнейшие изменения. (Тогда алгоритм завершается, и во всех узлах фиксируются метки как об их кратчайших расстояниях от узла 1, так и следующие соседние узлы по кратчайшему пути.)
Пример рассмотрим опять на рис.1. Обращаясь ко второй части алгоритма и применяя ее в циклическом порядке для узлов 2-6, находим, что алгоритм завершается после двух циклов. Эти циклы и полученные в результате метки каждого цикла, приводятся в табл.1.2 (любой другой порядок обхода узлов приводит к тому же самому окончательному результату).
Таблица 1.2 Алгоритм Флойда; рис.1
-
Цикл
Метки, узел
2
3
4
5
6
Начальный
( , )
( , )
( , )
( , )
( , )
1
(1,2)
(1,5)
(1,1)
(4,2)
(5,4)
2
(1,2)
(5,3)
(1,1)
(4,2)
(5,4)
Таким образом, в цикле 1 нужно отметить, что узел 2 является «ближайшим» к его соседу 1. Его результирующая новая стоимость равна D(v)=D(1)+l(1,2)=2. Следовательно, метка, как это и указано, имеет вид (1,2). Переходя к узлу 3, приходим к необходимости выбора стоимостей между D(2)+l(2,3)=5 или D(1)+l(1,3)=5. Выбирая произвольно D(1)+l(1,3), получим (1,5), что показано в таблице (при другом выборе получится то же самое). Аналогично получаются другие результаты. В цикле 2 узел 3 имеет теперь пять соседних узлов с конечными значениями D(w), между которыми нужно произвести выбор. Минимальное значение D(w)+l(w,3) равно D(5)+l(5,3), и метка узла 3, как показано, меняется на (5,3). Другие узлы не меняют своих меток, и алгоритм завершается. Опять же дерево кратчайших путей с корнем в узле 1, как показано на рис.2а, может быть получено путем обхода меток каждого узла. В результате, узел 2 соединяется с узлом 1, узел 3 - с узлом 5, узел 4 - с узлом 1, узел 5 - с узлом 4 и узел 6 - с узлом 5. Иначе, таблица маршрутов или значение следующего узла в каждом узле по направлению к узлу 1 в точности является первым числом каждой двузначной метки, что и указывалось выше. Для получения полной таблицы маршрутов в каждом узле алгоритм В должен быть повторен для каждого узла, принимаемого в качестве узла назначения.
Алгоритм, подобный алгоритму Флойда, применяется для централизованных вычислений маршрутов в сети Tymnet.