Как преобразовать централизованный алгоритм распределенным алгоритмом?

cs.stackexchange https://cs.stackexchange.com/questions/118414

  •  28-09-2020
  •  | 
  •  

Вопрос

Есть ли алгоритм или процедура для преобразования централизованного алгоритма для распределенного алгоритма?Есть ли теоретический результат или соответствующий анализ сложности?

Это было полезно?

Решение

Конечно. Если у вас есть распределенная система с N MACHINES, вы всегда можете запустить централизованный алгоритм на машине 1 и пусть машины 2 ...N сидеть на холостом ходу.

Если вы спрашиваете, могут ли все последовательные алгоритмы могут быть распараллелизованы, это открытый вопрос, но считается, что ответ не является: см. Класс сложности NC . Как говорится в Википедии,

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

P-полные проблемы являются хорошими кандидатами для проблем, которые, вероятно, не поддаются ускорению путем параллелизма.

Если вы спрашиваете, могут ли вы быть сделаны все алгоритмы надежными в распределенной системе, то есть тонкий вопрос, который зависит от того, какие сбои вы рассматриваете. Вы можете посмотреть на Консенсусные протоколы , репликация состояния машины и Крышка теорема .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с cs.stackexchange
scroll top