Алгоритм для FIFO порядка — различия между версиями
Yeputons (обсуждение | вклад) |
м (rollbackEdits.php mass rollback) |
||
(не показаны 2 промежуточные версии 2 участников) | |||
Строка 1: | Строка 1: | ||
+ | [[Категория: Параллельное программирование]] | ||
Этот алгоритм берёт систему с асинхронным порядком и начинает гарантировать в ней [[Иерархия порядков сообщений#FIFO|FIFO-порядок]]. | Этот алгоритм берёт систему с асинхронным порядком и начинает гарантировать в ней [[Иерархия порядков сообщений#FIFO|FIFO-порядок]]. | ||
Текущая версия на 19:13, 4 сентября 2022
Этот алгоритм берёт систему с асинхронным порядком и начинает гарантировать в ней FIFO-порядок.
Алгоритм FIFO основан на нумерации сообщений:
- Для каждой пары процессов нумеруем отправляемые сообщения натуральными числами.
- Отправитель знает номер отправленного сообщения, получатель знает номер следующего ожидаемого сообщения.
- К каждому сообщению прикрепляется номер.
- Если получатель получил "неожиданное" сообщение, то он складывает его в очередь и ждёт. Обрабатывает только когда подойдёт нужный номер.
В худшем случае надо хранить много сообщений, но что поделать.