Протокол сплетен

редактировать

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

Термин эпидемический протокол иногда используется как синоним протокола сплетен, поскольку сплетни распространяют информацию аналогично распространению вируса в биологическом сообщество.

Содержание
  • 1 Сплетни
  • 2 Множество вариантов и стилей
  • 3 Типы протоколов сплетен
  • 4 Примеры
  • 5 Эпидемические алгоритмы
  • 6 См. Также
  • 7 Ссылки
Связь сплетен

Концепция общения сплетен может быть проиллюстрирована аналогией с офисными работниками, распространяющими слухи. Допустим, каждый час офисные работники собираются вокруг кулера с водой. Каждый сотрудник объединяется с другим, выбранным наугад, и делится последними сплетнями. В начале дня Дэйв запускает новый слух: он комментирует Бобу, что, по его мнению, Чарли красит ему усы. На следующей встрече Боб рассказывает Алисе, а Дэйв повторяет эту идею Еве. После каждого свидания с кулером количество людей, которые слышали слух, примерно удваивается (хотя это не учитывает сплетни дважды с одним и тем же человеком; возможно, Дэйв пытается рассказать эту историю Фрэнку, но обнаруживает, что Фрэнк уже слышал ее. от Алисы). Компьютерные системы обычно реализуют этот тип протокола в форме случайного «однорангового выбора»: с заданной частотой каждая машина случайным образом выбирает другую машину и распространяет горячие слухи.

Проблема с термином «сплетни» заключается в том, что качество обслуживания (то есть полное и своевременное распространение) основывается на требовании, чтобы каждый участник не дискриминировал и обеспечивал быструю и надежную передачу данных каждому члену их собственная одноранговая сеть. В реальном сценарии офисных сплетен не все причастны к распространяемым сплетням. Сплетни, в отличие от трансляции, носят дискриминационный характер, и участники часто не участвуют в жизненно важных или важных коммуникациях. Таким образом, сравнение с «офисными сплетнями» не так хорошо, как сравнение с распространением эпидемии. Тем не менее, метод однорангового общения иногда называют «сплетнями».

Множество вариантов и стилей

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

Например, протокол сплетен может использовать некоторые из этих идей:

  • Суть протокола включает периодические, попарные, межпроцессные взаимодействия.
  • Информация, которой обмениваются во время этих взаимодействий, является ограниченного размера.
  • Когда агенты взаимодействуют, состояние по крайней мере одного агента изменяется, отражая состояние другого.
  • Надежная связь не предполагается.
  • Частота взаимодействий мала по сравнению с типичными задержками сообщений, поэтому затраты на протокол незначительны.
  • В выборе однорангового узла присутствует некоторая форма случайности. Одноранговые узлы могут быть выбраны из полного набора узлов или из меньшего набора соседей.
  • Из-за репликации существует неявная избыточность доставленной информации.
Типы протоколов сплетен

Полезно различать два преобладающих стиля протокола сплетен:

  • протоколы распространения (или протоколы распространения слухов). Они используют сплетни для распространения информации; в основном они работают с помощью агентов лавинной рассылки в сети, но таким образом, который создает ограниченные нагрузки в худшем случае:
    1. Протоколы распространения событий используют сплетни для выполнения многоадресных рассылок. Они сообщают о событиях, но сплетни происходят периодически, и события на самом деле не вызывают сплетен. Одной из проблем здесь является потенциально высокая задержка с момента возникновения события до его доставки.
    2. Протоколы распространения фоновых данных непрерывно сплетничают об информации, связанной с участвующими узлами. Обычно задержка распространения не вызывает беспокойства, возможно, потому, что информация, о которой идет речь, изменяется медленно или нет значительных штрафов за действия с слегка устаревшими данными.
  • Протоколы, которые вычисляют агрегаты . Они вычисляют агрегат в масштабе всей сети путем выборки информации в узлах в сети и объединения значений для получения общесистемного значения - наибольшее значение для некоторых узлов измерения, наименьшее и т. Д. Ключевое требование состоит в том, чтобы совокупность должны быть вычислимы путем попарного обмена информацией фиксированного размера; они обычно завершаются после нескольких циклов обмена информацией, логарифмически зависящей от размера системы, и к этому времени будет установлена ​​целостная схема информационного потока. В качестве побочного эффекта агрегации можно решить другие проблемы с помощью сплетен; например, существуют протоколы сплетен, которые могут упорядочивать узлы в наложении сплетен в список, отсортированный по идентификатору узла (или какому-либо другому атрибуту) в логарифмическом времени с использованием обмена информацией в стиле агрегирования. Точно так же существуют алгоритмы сплетен, которые упорядочивают узлы в дерево и вычисляют агрегаты, такие как «сумма» или «подсчет», путем сплетен по шаблону, смещенному в соответствии с древовидной структурой.

Многие протоколы, которые предшествовали самому раннему использованию термина « сплетни "подпадают под это довольно всеобъемлющее определение. Например, протоколы маршрутизации Интернет часто используют обмен информацией, напоминающий сплетни. Подложка для сплетен может использоваться для реализации стандартной маршрутизируемой сети: узлы «сплетничают» о традиционных двухточечных сообщениях, эффективно проталкивая трафик через слой сплетен. При наличии пропускной способности это означает, что система сплетен потенциально может поддерживать любой классический протокол или реализовывать любую классическую распределенную службу. Однако такая широкая инклюзивная интерпретация предназначена редко. Чаще всего используются протоколы сплетен, которые специально работают регулярно, периодически, относительно лениво, симметрично и децентрализованно; особенно характерна высокая степень симметрии между узлами. Таким образом, хотя можно было запустить протокол двухэтапной фиксации поверх основы сплетен, это противоречило бы духу, если не формулировке, определения.

Термин «конвергентно согласованный» иногда используется для описания протоколов, обеспечивающих экспоненциально быстрое распространение информации. Для этой цели протокол должен распространять любую новую информацию на все узлы, которые будут затронуты информацией в пределах времени, логарифмического по размеру системы («время смешивания» должно быть логарифмическим по размеру системы).

Примеры

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

  • Чтобы начать поиск, пользователь должен попросить местного агента начать сплетничать о строке поиска. (Мы предполагаем, что агенты либо начинают с известного списка пиров, либо получают эту информацию из какого-то общего хранилища.)
  • Периодически, с некоторой скоростью (скажем, десять раз в секунду, для простоты), каждый агент наугад выбирает другого агента и сплетничает с ним. Строки поиска, известные A, теперь также будут известны B, и наоборот. В следующем «раунде» сплетен A и B выберут дополнительных случайных пиров, возможно, C и D. Этот феномен последовательного удвоения делает протокол очень надежным, даже если некоторые сообщения будут потеряны или некоторые из выбранных одноранговых узлов будут потеряны. то же самое или уже знают о строке поиска.
  • При получении строки поиска в первый раз каждый агент проверяет свой локальный компьютер на соответствие документов.
  • Агенты также сплетничают о наилучшем совпадении, встретиться. Таким образом, если A сплетничает с B, после взаимодействия A узнает о лучших совпадениях, известных B, и наоборот. Наилучшие совпадения будут "распространяться" по сети.

Если сообщения могут стать большими (например, если одновременно выполняется много поисковых запросов), следует ввести ограничение на размер. Кроме того, поисковые запросы должны «устаревать» в сети.

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

Например, в сети из 25 000 машин мы можем найти лучшее совпадение примерно после 30 раундов сплетен: 15 для распространения строки поиска и еще 15 для обнаружения наилучшего совпадения. Обмен сплетнями может происходить так часто, как раз в десятую долю секунды, без чрезмерной нагрузки, поэтому этот вид сетевого поиска может обыскивать большой центр обработки данных примерно за 3 секунды.

В этом сценарии поисковые запросы могут автоматически исчезнуть из сети, скажем, через 10 секунд. К тому времени инициатор знает ответ, и нет смысла продолжать сплетничать об этом поиске.

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

Эпидемия алгоритмы

Протоколы сплетен могут использоваться для распространения информации способом, очень похожим на способ распространения вирусной инфекции в биологической популяции. Действительно, математика эпидемий часто используется для моделирования математики сплетен. Термин «эпидемический алгоритм» иногда используется при описании программной системы, в которой используется этот вид распространения информации на основе сплетен.

См. Также
  • Протоколы слухов - это всего лишь один класс среди многих классов сетевых протоколов. См. Также виртуальную синхронизацию, распределенные конечные автоматы, алгоритм Paxos, базу данных транзакции. Каждый класс содержит десятки или даже сотни протоколов, различающихся по своим деталям и характеристикам производительности, но схожих на уровне гарантий, предлагаемых пользователям.
  • Некоторые протоколы сплетен заменяют механизм случайного выбора одноранговых узлов более детерминированной схемой. Например, в алгоритме NeighbourCast вместо разговора со случайными узлами информация распространяется посредством разговора только с соседними узлами. Есть ряд алгоритмов, использующих похожие идеи. Ключевым требованием при разработке таких протоколов является то, что соседний набор отслеживает граф расширителя.
  • Маршрутизация
  • Tribler, одноранговый клиент BitTorrent с использованием протокола сплетен.
Ссылки

Вот несколько дополнительных ссылок на недавние работы сообщества сплетников. Работа Демерса рассматривается большинством исследователей как первая, кто действительно признал силу этих протоколов и предложил формальный подход к сплетням.

  • Агрегирование репутации в одноранговой сети с использованием алгоритма дифференциальных сплетен. Р. Гупта, Ю. Н. Сингх. CoRR, т. abs / 1210.4301, 2012.

Хотя этот учебник старый, многие исследователи сплетен ссылаются на него как на авторитетный источник информации о математическом моделировании сплетен и протоколов эпидемий:

  • Математическая теория эпидемий. N.J.T. Bailey, 1957. Griffen Press.
Последняя правка сделана 2021-05-22 14:48:26
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте