Алгоритм выбора лидера

Я изучаю различные архитектуры кластерных вычислений. Вот некоторые из популярных:

  1. Мастер-раб.
  2. RPC
  3. ...

В режиме «ведущий-ведомый» обычным способом является установка одной машины в качестве ведущей, а нескольких машин в качестве ведомых, контролируемых ведущим. Меня заинтересовал один конкретный алгоритм. Он называется Алгоритм выбора лидера, который имеет определенную случайность при выборе какая из машин станет главной.

Мой вопрос: почему кто-то хочет выбрать главную машину таким образом? Какие преимущества дает этот подход по сравнению с ручным выбором машины в качестве главной?


person Srikar Appalaraju    schedule 16.01.2011    source источник


Ответы (3)


У этого алгоритма есть некоторые преимущества:

  1. Выбор узла в качестве лидера будет выполняться динамически, поэтому, например, вы можете выбрать узел с наивысшей производительностью, и появление новых узлов может быть лучшим выбором.
  2. Еще один хороший подход к динамическому выбору лидера: если один из узлов имеет серьезную ошибку (например, выключается ПК), у вас есть другие варианты, и нет необходимости вручную менять лидера.

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

  4. например (не очень актуально) почему в большинстве случаев используется DHCP? слишком много конфигураций будет обрабатываться этими алгоритмами.
person Saeed Amiri    schedule 16.01.2011

Основная идея использования таких алгоритмов состоит в том, чтобы избавиться от дополнительной настройки, добавить некоторую гибкость и стабильность всей системе. Но обычно (в приложениях HPC/MPI) главный узел выбирается вручную.

Предположим, ваши алгоритмы выбора мастера довольно просты — получите список доступных систем и выберите ту, у которой самый высокий IP-адрес. В этом случае вы можете легко запустить новый процесс на любом из ваших узлов, и он автоматически найдет главный узел.

Одним из хороших примеров таких идей является алгоритм выбора «назначенного прокси» протокола WCCP, в котором количество прокси может быть гибким, а главный узел выбирается во время выполнения.

person Elalfer    schedule 16.01.2011
comment
Я знаю, что это старый ответ, но мне пришлось исправить вас на случай, если кто-то прочитает. Основная идея алгоритма выбора лидера состоит в том, чтобы иметь лидера в динамической системе, что означает, что у вас должен быть алгоритм, который его выбирает (таким образом, алгоритмы выбора лидера — их много —). В MPI мастер выбирается вручную только для тестирования основного алгоритма, а не в финальном коде. - person amb; 07.07.2012

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

  1. Центральный системный подход, при котором центральный узел решает, кто будет лидером. Если текущий лидер умирает, то этот центральный узел будет решать, кто должен взять на себя роль лидера. Но это единая точка отказа, то есть центральный узел, который отвечает за выбор лидера, падает, и тогда некому выбирать лидеров, если текущий лидер умирает.

  2. Где, как и в том же сценарии, мы можем использовать распределенный выбор лидера, так как все узлы приходят к консенсусу, кто должен быть лидером. Таким образом, нам не нужен центральный узел, который решает, кто должен быть лидером, тем самым устраняя единую точку отказа. Когда ведущий узел умирает, появляется способ обнаружить сбой узла, после чего каждый узел запускает распределенный алгоритм выбора лидера и взаимно приходит к консенсусу в отношении выбора лидера.

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

person Rezaul Hoque    schedule 10.02.2011