Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Обзор [ править ]

Многоадресная рассылка - это метод сетевой адресации для доставки информации группе пунктов назначения одновременно с использованием наиболее эффективной стратегии для доставки сообщений по каждому каналу сети только один раз, создавая копии только тогда, когда ссылки на несколько пунктов назначения разделяются (обычно сетевые коммутаторы и роутеры ). Однако, как и протокол пользовательских дейтаграмм , многоадресная рассылка не гарантирует доставку потока сообщений. Сообщения могут отбрасываться, доставляться несколько раз или доставляться не по порядку. Надежный протокол многоадресной рассылки добавляет возможность получателям обнаруживать потерянные и / или неупорядоченные сообщения и предпринимать корректирующие действия (в принципе аналогично TCP), что приводит к беспрерывному, упорядоченному потоку сообщений.

Надежность [ править ]

Точное значение надежности зависит от конкретного экземпляра протокола. Минимальное определение надежной многоадресной рассылки - это возможная доставка всех данных всем членам группы без принудительного выполнения какого-либо конкретного порядка доставки . [1] Однако не все надежные протоколы многоадресной рассылки обеспечивают такой уровень надежности; многие из них по-разному меняют эффективность в обмен на надежность. Например, в то время как TCP возлагает ответственность за надежность передачи на отправителя, протоколы многоадресной рассылки NAK перекладывают ответственность на получателей: отправитель никогда не знает наверняка, что все получатели на самом деле получили все данные. [2] RFC-2887 исследует пространство проектирования для массовой передачи данных, с кратким обсуждением различных вопросов и некоторыми намеками на возможные различные значения слова " надежный" .

Надежная групповая доставка данных [ править ]

Надежная групповая доставка данных (RGDD) - это форма многоадресной рассылки, при которой объект должен быть перемещен из единственного источника в фиксированный набор приемников, известных до начала передачи. [3] [4] Такая доставка может потребоваться для различных приложений: распределенная файловая система Hadoop (HDFS) реплицирует любой фрагмент данных два дополнительных раза на определенные серверы, репликация виртуальных машин на несколько серверов может потребоваться для горизонтального масштабирования приложений и репликации данных. на несколько серверов может потребоваться для балансировки нагрузки, позволяя нескольким серверам обслуживать одни и те же данные из своих локальных кэшированных копий. Такая доставка часто встречается в центрах обработки данных из-за множества серверов, которые обмениваются данными во время выполнения сильно распределенных приложений.

RGDD также может возникать в центрах обработки данных и иногда называется передачей от точки к многоточкам (P2MP) между центрами обработки данных. [5] Такая передача доставляет огромные объемы данных из одного центра обработки данных в несколько центров обработки данных для различных приложений: поисковые системы периодически распространяют обновления индекса поиска (например, каждые 24 часа), приложения социальных сетей перемещают новый контент во многие места кеширования по всему миру (например, YouTube и Facebook), а службы резервного копирования делают несколько географически разнесенных копий для повышения отказоустойчивости. Чтобы максимизировать использование полосы пропускания и сократить время завершения массовых передач, было предложено множество методов для выбора деревьев многоадресной пересылки. [5] [6]

Виртуальная синхронизация [ править ]

Современные системы, такие как Spread Toolkit , Quicksilver и Corosync, могут достигать скорости передачи данных 10 000 многоадресных рассылок в секунду или более и могут масштабироваться до больших сетей с огромным количеством групп или процессов.

Большинство распределенных вычислительных платформ поддерживают одну или несколько из этих моделей. Например, все широко поддерживаемые объектно-ориентированные платформы CORBA поддерживают транзакции, а некоторые продукты CORBA поддерживают репликацию транзакций в модели сериализуемости с одной копией. «CORBA отказоустойчивые объекты стандарта» основан на виртуальной модели синхронности. Виртуальная синхронизация также использовалась при разработке отказоустойчивой архитектуры Нью-Йоркской фондовой биржи, французской системы управления воздушным движением, системы AEGIS ВМС США, архитектуры репликации бизнес-процессов IBM для WebSphere и архитектуры Microsoft Windows Clustering для корпоративных серверов Windows Longhorn . [7]

Системы, поддерживающие виртуальную синхронизацию [ править ]

Виртуальная синхронизация впервые была поддержана Корнельским университетом и получила название «Инструментарий Isis». [8] Самая последняя версия Корнелла , Vsync, была выпущена в 2013 году под названием Isis2 (название было изменено с Isis2 на Vsync в 2015 году после террористической атаки в Париже экстремистской организацией ISIS) с периодическими обновлениями и исправлениями. С этого момента. Самая последняя стабильная версия - V2.2.2020; он был выпущен 14 ноября 2015 г .; выпуск V2.2.2048 в настоящее время доступен в виде бета-версии. [9] Vsync нацелен на крупные центры обработки данных, поддерживающие облачные вычисления .

Другие такие системы включают систему Horus [10], систему Transis, систему Totem, систему IBM под названием Phoenix, распределенную систему управления ключами безопасности под названием Rampart, «систему Ensemble», [11] систему Quicksilver , проект OpenAIS ", [12] его производная Corosync Cluster Engine и ряд продуктов (включая упомянутые ранее IBM и Microsoft).

Другие существующие или предлагаемые протоколы [ править ]

  • Pragmatic General Multicast (PGM)
  • TRDP Tibco Software (часть RV ). Примечание: когда Tibco приобрела Talarian , они унаследовали реализацию PGM с помощью SmartSockets (SmartPGM). TRDP предшествует разработке SmartPGM
  • OpenDDS как реализация с открытым исходным кодом с момента их выпуска 0.12
  • Масштабируемая надежная многоадресная передача ( SRM )
  • Масштабируемая многоадресная рассылка QuickSilver (QSM)
  • SMART Multicast (безопасная многоадресная передача для расширенного повтора телевидения)
  • Reliable Stream Protocol [13] (RSP), высокопроизводительный протокол с открытым исходным кодом для вычислительных кластеров.
  • Коммуникационные группы TIPC

Поддержка библиотеки [ править ]

  • JGroups (Java API): популярный проект / реализация
  • Распространение : C / C ++ API, Java API
  • RMF (C # API)
  • hmbdc C ++ и любой язык, поддерживающий Linux PIPING, сверхнизкую задержку / высокую пропускную способность, масштабируемое и надежное межпотоковое взаимодействие, IPC и обмен сетевыми сообщениями

Ссылки [ править ]

  1. ^ Флойд, С .; Якобсон, В .; Liu, C. -G .; McCanne, S .; Чжан, Л. (декабрь 1997 г.). «Надежная структура многоадресной рассылки для легких сеансов и создания фреймов на уровне приложений» . Транзакции IEEE / ACM в сети . 5 (6): 784–803. DOI : 10.1109 / 90.650139 .
  2. ^ Diot, C .; Dabbous, W .; Кроукрофт, Дж. (Апрель 1997 г.). «Многоточечная связь: обзор протоколов, функций и механизмов» (PDF) . Журнал IEEE по избранным областям коммуникаций . 15 (3): 277–290. DOI : 10.1109 / 49.564128 .
  3. C. Guo; и другие. (1 ноября 2012 г.). «Datacast: масштабируемая и эффективная надежная служба групповой доставки данных для центров обработки данных» . ACM . Проверено 26 июля 2017 года .
  4. ^ Т. Чжу; и другие. (18 октября, 2016). «MCTCP: надежный многоадресный TCP с учетом перегрузок в программно-определяемых сетях». 24-й Международный симпозиум по качеству обслуживания (IWQoS), 2016 г., IEEE / ACM . IEEE. С. 1–10. DOI : 10.1109 / IWQoS.2016.7590433 . ISBN 978-1-5090-2634-0.
  5. ^ a b М. Ноормохаммадпур; и другие. (10 июля 2017 г.). «DCCast: эффективная передача данных из одной точки в другую между центрами обработки данных» . USENIX . Проверено 26 июля 2017 года .
  6. ^ М. Ноормохаммадпур; и другие. (2018). «QuickCast: быстрая и эффективная передача данных между центрами обработки данных с использованием когорт дерева пересылки» . Проверено 23 января 2018 года .
  7. KP Birman (июль 1999 г.). «Обзор опыта надежной многоадресной передачи» . 29 (9). Практика и опыт работы с программным обеспечением: 741–774. Цитировать журнал требует |journal=( помощь )
  8. ^ "Инструментарий Isis"
  9. ^ "Библиотека облачных вычислений Vsync" .
  10. ^ "Система Хоруса"
  11. ^ "Система ансамбля"
  12. ^ "Проект OpenAIS"
  13. ^ RSP ; информация нужна.

Дальнейшее чтение [ править ]

  • Надежные распределенные системы: технологии, веб-сервисы и приложения. К.П. Бирман. Springer Verlag (1997). Учебник охватывает широкий спектр концепций распределенных вычислений, включая виртуальную синхронизацию.
  • Распределенные системы: принципы и парадигмы (2-е издание). Эндрю С. Таненбаум, Маартен ван Стин (2002). Учебник охватывает широкий спектр концепций распределенных вычислений, включая виртуальную синхронизацию.
  • «Групповой подход к надежным распределенным вычислениям» . К.П. Бирман, Сообщения ACM 16:12 (декабрь 1993 г.). Написано для неспециалистов.
  • «Спецификации групповой коммуникации: всестороннее исследование» Грегори В. Чоклер, Идит Кейдар,
  • Роман Витенберг. ACM Computing Surveys 33: 4 (2001). Вводит математический формализм для таких моделей, а затем использует его для сравнения их выразительной силы и допущений по обнаружению отказов.
  • «По совместительству парламент» . Лесли Лэмпорт. Транзакции ACM по вычислительным системам (TOCS), 16: 2 (1998). Представляет реализацию реплицированных конечных автоматов в Paxos.
  • «Использование виртуальной синхронности в распределенных системах» . К.П. Бирман и Т. Джозеф. Труды 11-го симпозиума ACM по принципам операционных систем (SOSP), Остин, Техас, ноябрь 1987 г. Самое раннее использование этого термина, но, вероятно, не лучшее изложение темы.