Алгоритм Лампорта — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Новая страница: «Категория: Параллельное программирование Модифицируем [[Алгоритм Лампорта взаимного и…»)
 
Строка 1: Строка 1:
 
[[Категория: Параллельное программирование]]
 
[[Категория: Параллельное программирование]]
 +
Алгоритм организует полный порядок на сообщениях.
 
Модифицируем [[Алгоритм Лампорта взаимного исключения|алгоритм Лампорта взаимного исключения]]. Будем предполагать FIFO-порядок сообщений. Также будем предполагать, что сообщения транслируются всем процессам. Каждый процесс содержит логические часы и очередь отправленных сообщений.
 
Модифицируем [[Алгоритм Лампорта взаимного исключения|алгоритм Лампорта взаимного исключения]]. Будем предполагать FIFO-порядок сообщений. Также будем предполагать, что сообщения транслируются всем процессам. Каждый процесс содержит логические часы и очередь отправленных сообщений.
  

Версия 20:07, 26 июня 2010

Алгоритм организует полный порядок на сообщениях. Модифицируем алгоритм Лампорта взаимного исключения. Будем предполагать FIFO-порядок сообщений. Также будем предполагать, что сообщения транслируются всем процессам. Каждый процесс содержит логические часы и очередь отправленных сообщений.

Алгоритм действует по следующим правилам:

  1. Чтобы отправить сообщение процесс транслирует свое время всем остальных (шаг аналогичен запросу на вход в критическую секцию)
  2. При приеме сообщения оно сохраняется вместе со временем и отправляется подтверждение, также помеченное временем
  3. Сообщение может быть доставлено процессу, если от всех остальных потоков получены сообщения с большей временной меткой (шаг аналогичен работе критической секции)