Существует ли современный способ синхронизации процессов сегодня?
В последние дни мне приходилось иметь дело с распределенными алгоритмами синхронизации временных процессов для университета. Моим основным упражнением было сосредоточиться на алгоритме Лесли Лэмпорта (частичное упорядочение / полное упорядочение событий) с 1978 года и на концепции Ф. Маттерна и К.Дж. Фиджа о векторном времени с 1988 года.
В идеях этих трех человек я нашел много плюсов и минусов в использовании их алгоритмов в распределенных системах. Но я удивлялся и не выяснил, существует ли "современный" алгоритм для современной синхронизированной синхронизации процессов в распределенных системах.
Как эта проблема решается сегодня?
1 ответ
Частичное и полное упорядочение требуется только для полностью децентрализованных алгоритмов. В наши дни большинство распределенных систем (Hadoop, NoSQL Databases, ...) выбирают мастер-узел, который отвечает за (часть) ресурсов. Таким образом, события автоматически полностью упорядочиваются на одной машине.
Помимо этого, Ричард Эндрю Голдинг написал докторскую диссертацию в 1992 году о взаимодействии и членстве в группах со слабой согласованностью, где он описывает алгоритм временной энтропии (TSAE), который является хорошим примером для реализации, чтобы увидеть, как алгоритм возможной согласованности может выглядит как. В дополнение к векторным часам, которые он использует здесь матричные часы, я описал элементарные детали как ответ на вопрос, что решают матричные часы, а векторные часы не могут? Однако, если вы хотите узнать больше, я призываю вас прочитать главу 5 его диссертации.