292
правки
Изменения
→Отличия от параллельных систем
Отказ узлов или связи в распределённых системах — обычное дело, это основная сложность разработки распределённых алгоритмов.
До билетов про иерархию ошибок мы считаем, что ошибок нет (например, в алгоритмах взаимного исключения).
Из-за сети сообщения могут идти непонятно сколько времени (в том числе на практике).
В '''синхронных''' системах гарантируется, что каждое сообщение либо доходит за некоторое константное время $C$, либо теряется.
В '''асинхронных''' системах сообщения могут идти сколь угодно долго. До билетов про синхронные системы мы считаем всё асинхронным.На практике же везде ставят таймаут, превращая систему в синхронную.
Дополнительные сложности возникает с порядком сообщений: как между процессами (отсутствует, FIFO), так и глобально во всей системе (отсутствует, casual ordering, synchronous ordering), глобально во всей системе с учётом multicast-broadcast (отсутствует, casual total order).
== Задачи ==