Параллельное программирование
Версия от 14:37, 26 июня 2010; Andrey Danilchenko (обсуждение | вклад) (→3. Часы с прямой зависимостью (и их свойства) и матричные часы)
Программирование параллельных и распределенных систем
1 билет
2 билет
3. Часы с прямой зависимостью (и их свойства) и матричные часы
4. Взаимное исключение в распределенной системе. Централизованный, алгоритм Лампорта, алгоритм Рикарта и Агравалы
5. Взаимное исключение в распределенной системе. Алгоритм обедающих философов, на основе токена, на основе кворума (простое большинство, рушащиеся стены)
6. Согласованное глобальное состояние (согласованный срез). Алгоритм Чанди-Лампорта. Запоминание сообщений на стороне отправителя
7. Глобальные свойства. Стабильные и нестабильные предикаты. Слабый конъюнктивный предикат. Централизованный и распределенный алгоритмы
8. Диффундирующие вычисления. Останов. Алгоритм Дейксты и Шолтена
9. Локально-стабильные предикаты, согласованные интервала, барьерная синхронизация (3 алгоритма). Применение для определения взаимной блокировки
10. Упорядочивание сообщений. Определения, иерархия порядков. Алгоритм для причинно-согласованного порядка
11. Упорядочивание сообщений. Определения, иерархия порядков. Алгоритм для синхронного порядка
12. Общий порядок (total order). Алгоритмы Лампорта и Скина
13. Выбор лидера. Алгоритм Чанди-Робертса, и алгоритм Хирчберга-Синклера
14. Иерархия ошибок в распределенных системах. Отказ узла в асинхронной системе - невозможность консенсуса (доказательство)
- Отказ узла
- Отказ связи
- Неустойчивая связь / пропуск пакетов
- Византийская ошибка (сломавшийся процесс может слать любой мусор)