НИС Распределенные системы (осень 2016) — различия между версиями

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
(Занятия)
Строка 41: Строка 41:
 
==== 23 сентября ====
 
==== 23 сентября ====
 
Время, часы, синхронизация событий.
 
Время, часы, синхронизация событий.
 +
 +
Материалы:
 +
* ''Lamport'' -- Time, clocks and the ordering of events in a distributed system ([https://yadi.sk/i/0cE6EdG5vN5mr pdf])
 +
* ''Fidge'' -- Timestamps in message-passing systems that preserve the partial ordering ([https://yadi.sk/i/LyhtLfOMvN64M pdf])
 +
* ''Mills'' -- Internet time synchronization: the network time protocol ([https://yadi.sk/i/PdXX6TO2vN6Bw pdf])
 +
 +
Вопросы для самопроверки:
 +
* Почему физические часы не используются для синхронизации в распределенной системе?
 +
* Какие события называются конкурентными (одновременными)?
 +
* Приведите пример исполнения распределенной системы и несколько различных логических часов, определяющих непротиворечивый порядок событий.
 +
* Опишите распределенный алгоритм mutual exclusion и докажите его корректность.
 +
* Опишите механизм точных часов, сохраняющих частичный порядок на событиях (векторные часы).
 +
* Опишите протокол синхронизации часов NTP.
 +
* Какие трудности возникают на практике при синхронизации часов?
  
 
[TBD]
 
[TBD]

Версия 11:15, 19 сентября 2016

Информация про семинар

В рамках научно-исследовательского семинара по распределенным системам изучаются основные понятия, принципы и результаты предметной области.

[TBD: Оценка за НИС, отчетность, курсовые работы]

Занятия

2 сентября

Вводное занятие.

Материалы:

  • Mockapetris, Dunlap -- Development of the domain name system (pdf)

9 сентября

Отмена занятия.

16 сентября

Сетевое взаимодействие в распределенных системах.

Материалы:

  • Google Code University -- Introduction to Distributed Systems Design (pdf)
  • Birrell, Nelson -- Implementing remote procedure calls (pdf)
  • Eriksen -- Your server as a function (pdf)
  • (по желанию) Liskov -- Promises: linguistic support for efficient asynchronous procedure calls in distributed systems (pdf)

Вопросы для самопроверки:

  • Какие классы сетевых ошибок встречаются в распределенных системах?
  • Что такое удаленный вызов (Remote Procedure Call)?
  • Опишите основные фазы исполнения удаленного вызова согласно оригинальной статье.
  • Как осуществляется связывание вызывающей и вызываемой стороны?
  • Как осуществляется передача аргументов и результата между вызывающей и вызываемой сторонами?
  • Каким механизмом обеспечивается гарантия однократного исполнения вызова?
  • Можно ли передавать указатели в удаленные вызовы?
  • Какие новые классы ошибок появляются при удаленных вызовах и отсутствуют при локальных вызовах?
  • Какие предпосылки в оригинальном дизайне RPC стоит пересмотреть с учетом прогресса за последние 30 лет?
  • Зачем нужна концепция futures/promises? Чем отличается удаленный вызов с использованием future/promise и без?
  • Как использование futures/promises влияет на структуру асинхронной программы?
  • Какую роль играют сервисы, фильтры в Finagle? Перечислите аргументы "за" и "против" использования данных абстракций.
  • Какие другие паттерны сетевого взаимодействия вы можете представить помимо RPC?

23 сентября

Время, часы, синхронизация событий.

Материалы:

  • Lamport -- Time, clocks and the ordering of events in a distributed system (pdf)
  • Fidge -- Timestamps in message-passing systems that preserve the partial ordering (pdf)
  • Mills -- Internet time synchronization: the network time protocol (pdf)

Вопросы для самопроверки:

  • Почему физические часы не используются для синхронизации в распределенной системе?
  • Какие события называются конкурентными (одновременными)?
  • Приведите пример исполнения распределенной системы и несколько различных логических часов, определяющих непротиворечивый порядок событий.
  • Опишите распределенный алгоритм mutual exclusion и докажите его корректность.
  • Опишите механизм точных часов, сохраняющих частичный порядок на событиях (векторные часы).
  • Опишите протокол синхронизации часов NTP.
  • Какие трудности возникают на практике при синхронизации часов?

[TBD]

30 сентября

[TBD]