Распределенные алгоритмы и системы — различия между версиями
Материал из Кафедра математической кибернетики
(→Программа) |
(→Программа) |
||
Строка 25: | Строка 25: | ||
#Задача сохранения моментального состояния. Алгоритм Чанди-Лампорта. Алгоритм Лаи-Янга. Применение алгоритмов обнаружения моментальной разметки и завершения вычислений для выявления блокировки вычислений. | #Задача сохранения моментального состояния. Алгоритм Чанди-Лампорта. Алгоритм Лаи-Янга. Применение алгоритмов обнаружения моментальной разметки и завершения вычислений для выявления блокировки вычислений. | ||
− | + | ||
#:<h4>Часть 4. Вопросы надежности распределенных алгоритмов.</h4> | #:<h4>Часть 4. Вопросы надежности распределенных алгоритмов.</h4> | ||
#: | #: |
Версия 16:32, 25 апреля 2016
Обязательный курс для магистров 521 группы 10 семестра обучения.
Курс читает профессор В. А. Захаров.
Лекционная нагрузка — 48 ч., семинары — 16 ч.
Содержание
Программа
Часть 1. Математические модели.
- Характерные особенности и примеры распределенных систем компьютерные сети, локальные и глобальные сети, многопроцессорные компьютеры). Архитектура распределенных систем. Стандарт ISO Open System Interconnection. Алгоритмические проблемы организации вычислений распределенных систем. Особенности распределенных алгоритмов. Лекция 1.
- Математическая модель распределенных систем. Системы переходов. Синхронный и асинхронный обмен сообщениями. Зависимые и независимые события. Причинно-следственный порядок событий. Эквивалентность выполнений. Вычисления. Логические часы. Топологии распределенных систем. Лекция 2.
Часть 2. Коммуникационные протоколы.
- Коммуникационные протоколы. Ошибки, возникающие при передаче сообщений. Задача надежного обмена сообщениями. Симметричные протокол раздвижного окна: устройство протокола и обоснование его корректности. Протокол альтернирующего бита. Лекция 3.
- Коммуникационный протокол с таймером: устройство и обоснование корректности. Лекция 4.
- Задача маршрутизации. Алгоритмы построения кратчайших путей в графе. Алгоритм Флойда-Уоршалла. Алгоритм Туэга. Алгоритм Мерлина-Сигала. Алгоритм Чанди-Мизры. Лекция 5. Алгоритм Netchange. Лекция 6.
Часть 3. Распределенные алгоритмы.
- Волновые алгоритмы: определение, основные свойства, область применения. Древесный алгоритм. Алгоритм эха. Лекция 7. Фазовый алгоритм. Алгоритм Финна. Алгоритмы обхода. Распределенный обход в глубину. Алгоритмы обхода Авербаха и Сидон. Лекция 8.
- Задача избрания лидера. Избрание лидера на кольцах: алгоритм Ченя-Робертса, оптимальный алгоритм Патерсона –Долева-Клейва-Роде. Лекция 9. Избрание лидера в произвольных сетях: алгоритм Галладжера-Хамблета-Спиры, алгоритм Кораха-Каттена-Морана. Лекция 10.
- Задача обнаружения завершения вычисления. Алгоритм Дейкстры-Шолтена. Алгоритм Шави-Франчеза. Алгоритм Сафры. Алгоритм возвращения кредитов. Алгоритм Раны. Лекция 11.
- Задача сохранения моментального состояния. Алгоритм Чанди-Лампорта. Алгоритм Лаи-Янга. Применение алгоритмов обнаружения моментальной разметки и завершения вычислений для выявления блокировки вычислений.
Часть 4. Вопросы надежности распределенных алгоритмов.
- Задача обеспечения отказоустойчивости распределенных систем. Невозможность построения робастных асинхронных систем. Синхронные робастные алгоритмы принятия решения. Использование криптографических примитивов для повышения отказоустойчивости.
- Стабилизирующиеся алгоритмы. Пример Дейкстры. Общие принципы построения стабилизирующихся алгоритмов.
Литература
- G. Tel. Introduction to Distributed Algorithms. Cambridge University Press. 2000. (русск. пер. Ж. Тель. Введение в распределенные алгоритмы, изд-во МЦНМО, 2009 г., 616 с.)