Введение в организацию распределенных вычислений

Учебно-методические материалы к дисциплине
Образовательная программа: 09.03.01 Информатика и вычислительная техника
 

Основные разделы дисциплины:

1. Введение. Цели и задачи курса. Цели организации распределенных вычислений. Типы распределенных вычислительных систем

2. Требования к средствам и методам распределенных вычислений. Распределенные алгоритмы.

3. Обзор современных методов и средств организации распределенных вычислений.

4. Грид-системы.

5. Облачные вычисления.

6. Решение задач на распределенных системах.

7. Обеспечение надежности распределенных вычислений.

8. Тенденции развития средств организации распределенных вычислений

 

1. Методические указания к выполнению практических заданий, примерные задания

2. Форма для учета баллов в ходе текущей (практика) и промежуточной аттестации (экзамена), список вопросов к экзамену, список литературы

3. Темы практических занятий

1. Построение виртуального вычислительного кластера.

2. Распределенные алгоритмы (реализация одного из классических алгоритмов)
3. Технологии распределенной обработки данных
4. Разработка сетевых сервисов.
5. Разработка распределенной программно-аппаратной системы.
 

4. Примерный перечень вопросов экзамена

1. Цели организации распределенных вычислительных систем, примеры систем, требования к распределенным системам.
2. Системное программное обеспечение кластера.
3. Анализ списков top500, top50 СНГ, green500, graph500. Суперкомпьютерные технологии России: объективные потребности и реальные  возможности. 
4. Системы управления прохождением задач в высокопроизводительных вычислительных системах
5. Задача планирования прохождения задач в ВВС и подходы к ее решению.
6. Сибирский суперкомпьютерный центр, исторический обзор.
7. Грид-системы, основные понятия, цели, требования.
8. Крупнейшие грид, обзор.
9. Волонтёрские вычисления.
10. Распределенные файловые системы.
11. Распределенные операционные системы.
12. Одноранговые сети (пиринговые сети, P2P).
13. Облачные системы: основные понятия согласно определению NIST.
14. Облачные системы: обзор сервисов.
15. Облачные технологии: OpenStack или другой комплекс программного обеспечения для создания облачных сервисов.
16. Модель и технологии распределенных вычислений Map-Reduce.
17. Алгоритм Петерсона.
18. Упорядочение в распределенных системах, Лампорт.
19. Взаимное исключение, Деккер.
20. Взаимное исключение, Лампорт.
21. Синхронизация часов, Марзулло.
22. Проблема и алгоритмы выбора координатора (лидера)
23. Проблема именования объектов в распределенной системе и подходы к решению.
24. Проблема маршрутизации в распределенной системе и подходы к ее решению.
25. Задача византийских генералов.
26. Согласованное глобальное состояние (Чанди-Лампорт).
27. Обнаружение завершения вычислений. Алгоритм Дейкстры-Шолтена.
28. Протоколы Паксос.
29. Формулирование требований к разработке распределенных вычислительных систем.
30. Технологии ONC/RPC, XDR.
31. Сервис-ориентированная архитектура, микросервисная архитектура.
32. Веб-сервисы, REST.
33. Мультиагентные системы.
33. Организация тестирования программного обеспечения для решения задач в распределенных вычислительных системах.
34. Подходы к обеспечению корректности программного обеспечения распределенных вычислительных систем.
35. Средства анализа корректности распределенных программ.
36. Средства анализа эффективности распределенных программ. 
37. Критерии эффективности и факторы, влияющие на эффективность распределенных программ.