Лектор: профессор В.А. Захаров
Цель учебного курса – ознакомить студентов, специализирующихся в области программирования, с:
- основными алгоритмическими задачами, возникающими при проектировании распределенных программ (сетевых протоколов, встроенных систем, многопроцессорных вычислительных систем, параллельных программ),
- наиболее распространенными алгоритмами решения этих задач,
- математическими моделями и методами, используемыми для анализа распределенных алгоритмов.
Основное внимание уделяется вопросам доказательства корректности проектируемых алгоритмов и оценкам их эффективности.
Задачами данного курса являются:
- освоение студентами базовых знаний (понятий, концепций, методов и моделей) в области построения и анализа распределенных алгоритмов;
- приобретение теоретических знаний и практических умений и навыков решения задач построения и анализа распределенных алгоритмов;
- оказание консультаций и помощи студентам в проведении собственных теоретических исследований в указанной выше области программирования.
Содержание дисциплины:
- Математическая модель распределенных алгоритмов.
- Коммуникационные протоколы.
- Алгоритмы маршрутизации.
- Волновые алгоритмы.
- Алгоритмы избрание лидера.
- Алгоритмы обнаружение завершения вычислений.
- Алгоритмы сохранение моментального состояния.
- Обеспечение отказоустойчивости.
- Обнаружение неисправностей в распределенных системах.
- Стабилизирующиеся алгоритмы.
Литература:
- Тель Ж. Введение в распределенные алгоритмы. М. Изд-во МЦНМО, 2009.
- N.A. Lynch. Distributed Algorithms. Morgan Kaufmann Series in Data Management Systems. 1996.