Значение консенсуса - PullRequest
       34

Значение консенсуса

4 голосов
/ 19 марта 2011

, читая о параллельном программировании, я наткнулся на термин Число консенсуса в операциях сравнения и замены, сравнения и установки.У меня проблемы с пониманием того, что подразумевается под этим термином, кто-нибудь может объяснить ??

Спасибо !!

1 Ответ

10 голосов
/ 19 марта 2011

Проблема консенсуса такова ... У вас N процессов.Каждый поток получает предложение значения, затем потоки должны выбрать одно и то же из этих предложенных значений.

Пример для двух потоков: поток A предлагает значение A, поток B предлагает значение B. Затем действительные результатылибо оба потока принимают решение A, либо оба потока принимают решение B.

Существуют различные специальные объекты или операции, которые полезны для решения проблемы консенсуса.Их мощь оценивается по их общему числу .Это равно максимальному количеству потоков, для которых они могут решить проблему консенсуса.

  • Консенсус № 1: Обычные регистры чтения / записи.(То есть, простые переменные.)
  • Консенсус № 2: Тест и набор (он же сравнить и установить), очередь, стек и т. Д.
  • Консенсус № 2n-2: n-регистрприсвоение
  • Согласованное число ∞: сравнить и поменять, и т. д.
...