Распределенные алгоритмы и системы

Материал из Кафедра математической кибернетики
Перейти к: навигация, поиск

Обязательный курс для магистров 521 группы 10 семестра обучения.

Курс читает профессор В. А. Захаров.

Лекционная нагрузка — 48 ч., семинары — 16 ч.

ЗАДАЧИ К ЭКЗАМЕНУ.


Программа

Part 1. Formal Models.

  1. Distributed systems and their generic features. Distributed systems architecture. ISO Open System Interaction standard. Algorithmic problems of distributed computing systems. Specific features of distributed algorithms. Lecture 1.
  2. Formal models of distributed systems. Transition systems. Synchronous and asynchronous message passing. Fairness properties. Dependent and independent events. Causal order of events. Equivalence of execution. Distributed computations. Logical clocks. Lecture 2.

    Part 2. Communication Protocols.

  3. Communication Protocols. Errors in message transmission. Symmetric sliding window protocol: protocol design. Mathematical techniques for proving correctness of distributed algorithms. Correctness of sliding window protocol. Implementation of sliding window protocol. Alternating Bit Protocol. Lecture 3.
  4. A timer-based communication protocol. Protocol design. Correctness of timer-based protocol. Implementation of timer-based protocol. Lecture 4.
  5. Routing problem. Destination-based routing. The all-pairs shortest-path problem. Floyd--Warshall algorithm. Toueg's shortest-path algorithm. Merlin--Segall algorithm. Chandy--Misra algorithm. Lecture 5.

    Part 3. Wave and Election Algorithms.

  6. Волновые алгоритмы: определение, основные свойства, область применения. Древесный алгоритм. Алгоритм эха. Фазовый алгоритм. Алгоритм Финна. Алгоритмы обхода. Распределенный обход в глубину. Алгоритмы обхода Авербаха и Сидон.
  7. Задача избрания лидера. Избрание лидера на кольцах: алгоритм Ченя-Робертса, оптимальный алгоритм Патерсона –Долева-Клейва-Роде. Избрание лидера в произвольных сетях: алгоритм Галладжера-Хамблета-Спиры, алгоритм Кораха-Каттена-Морана.
  8. Задача обнаружения завершения вычисления. Алгоритм Дейкстры-Шолтена. Алгоритм Шави-Франчеза. Алгоритм Сафры. Алгоритм возвращения кредитов. Алгоритм Раны.
  9. Задача сохранения моментального состояния. Алгоритм Чанди-Лампорта. Алгоритм Лаи-Янга. Применение алгоритмов обнаружения моментальной разметки и завершения вычислений для выявления блокировки вычислений.

    Часть 4. Вопросы надежности распределенных алгоритмов.

  10. Задача обеспечения отказоустойчивости распределенных систем. Невозможность построения робастных асинхронных систем. Синхронные робастные алгоритмы принятия решения. Использование криптографических примитивов для повышения отказоустойчивости.

Литература

  1. G. Tel. Introduction to Distributed Algorithms. Cambridge University Press. 2000. (русск. пер. Ж. Тель. Введение в распределенные алгоритмы, изд-во МЦНМО, 2009 г., 616 с.)
  2. W. Fokkink. Distributed Algorithms: Intuitive Approach. The MIT Press. 2013. (русск. пер. У. Фоккинк. Распределенные алгоритмв: интуитивный подход., изд-во Питер, 2017 г., 231 с.)
  3. N. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996, 906 pp.