Надежная многоадресная рассылка
— Надежная многоадресная рассылка это любой протокол компьютерной сети , который обеспечивает надежную последовательность пакетов нескольким получателям одновременно, что делает его пригодным для таких приложений, как передача файлов нескольким получателям .
Обзор
[ редактировать ]Многоадресная рассылка — это метод сетевой адресации для доставки информации группе адресатов одновременно, использующий наиболее эффективную стратегию доставки сообщений по каждому каналу сети только один раз, создавая копии только тогда, когда каналы к нескольким адресатам разделяются (обычно сетевые коммутаторы). и маршрутизаторы ). Однако, как и протокол пользовательских дейтаграмм , многоадресная рассылка не гарантирует доставку потока сообщений. Сообщения могут быть удалены, доставлены несколько раз или доставлены не по порядку. Надежный протокол многоадресной рассылки добавляет получателям возможность обнаруживать потерянные и/или сообщения, нарушающие порядок, и предпринимать корректирующие действия (аналогично 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 для корпоративных серверов Windows Longhorn . [7]
Системы, поддерживающие виртуальную синхронизацию
[ редактировать ]Виртуальная синхронизация была впервые поддержана Корнельским университетом и называлась «Isis Toolkit». [8] Самая последняя версия Корнелла, Vsync, была выпущена в 2013 году под названием Isis2 (название было изменено с Isis2 на Vsync в 2015 году после террористической атаки в Париже, совершенной экстремистской организацией под названием ISIS), с тех пор периодически обновлялись и дорабатывались. . Самая последняя стабильная версия — V2.2.2020; он был выпущен 14 ноября 2015 г.; Версия V2.2.2048 в настоящее время доступна в бета-версии. [9] Vsync нацелен на крупные центры обработки данных, поддерживающие облачные вычисления .
Другие подобные системы включают систему Гора. [10] система Transis, система Totem, система IBM под названием Phoenix, распределенная система управления ключами безопасности под названием Rampart, «система Ensemble», [11] система Quicksilver , «Проект OpenAIS», [12] его производная Corosync Cluster Engine и ряд продуктов (включая упомянутые ранее продукты IBM и Microsoft).
Другие существующие или предлагаемые протоколы
[ редактировать ]- Прагматическая общая многоадресная рассылка (PGM)
- TRDP компании Tibco Software (часть RV ). Примечание: когда Tibco приобрела Talarian , они унаследовали реализацию PGM с помощью SmartSockets (SmartPGM). TRDP предшествует разработке SmartPGM.
- OpenDDS как реализация с открытым исходным кодом с момента их выпуска 0.12.
- Масштабируемая надежная многоадресная рассылка ( SRM )
- Надежная многоадресная передача для больших групп, Йорг Нонненмахер, диссертация EPFL 1832 г. [13]
- Масштабируемая многоадресная рассылка QuickSilver (QSM)
- SMART Multicast (безопасная многоадресная рассылка для улучшенной ретрансляции телепередач)
- Надежный потоковый протокол [14] (RSP), высокопроизводительный протокол с открытым исходным кодом для вычислительных кластеров.
- Коммуникационные группы TIPC
Библиотечная поддержка
[ редактировать ]- JGroups (Java API): популярный проект /реализация
- Распространение : C/C++ API, Java API.
- RMF (API C#)
- hmbdc с открытым исходным кодом (только заголовки) Промежуточное программное обеспечение C++, сверхнизкая задержка/высокая пропускная способность, масштабируемая и надежная межпоточная передача данных, IPC и обмен сообщениями по сети
Ссылки
[ редактировать ]- ^ Флойд, С .; Джейкобсон, В .; Лю, Ц.-Г.; Макканн, С.; Чжан, Л. (декабрь 1997 г.). «Надежная платформа многоадресной рассылки для облегченных сеансов и формирования кадров на уровне приложений» . Транзакции IEEE/ACM в сети . 5 (6): 784–803. дои : 10.1109/90.650139 . S2CID 221634489 .
- ^ Диот, К.; Даббус, В.; Кроукрофт, Дж. (апрель 1997 г.). «Многоточечная связь: обзор протоколов, функций и механизмов» (PDF) . Журнал IEEE по избранным областям коммуникаций . 15 (3): 277–290. дои : 10.1109/49.564128 .
- ^ Ц. Го; и др. (1 ноября 2012 г.). «Datacast: масштабируемая и эффективная надежная служба групповой доставки данных для центров обработки данных» . АКМ . Проверено 26 июля 2017 г.
- ^ Т. Чжу; и др. (18 октября 2016 г.). «MCTCP: надежный многоадресный TCP с учетом перегрузок в программно-конфигурируемых сетях». 2016 IEEE/ACM 24-й Международный симпозиум по качеству обслуживания (IWQoS) . IEEE. стр. 1–10. дои : 10.1109/IWQoS.2016.7590433 . ISBN 978-1-5090-2634-0 . S2CID 28159768 .
- ^ Jump up to: а б М. Нурмохаммадпур; и др. (10 июля 2017 г.). «DCCast: эффективная передача данных между точками и несколькими точками между центрами обработки данных» . УСЕНИКС . Проверено 26 июля 2017 г.
- ^ М. Нурмохаммадпур; и др. (2018). «QuickCast: быстрая и эффективная передача данных между центрами обработки данных с использованием когорт дерева пересылки» . Проверено 23 января 2018 г.
- ^ КП Бирман (июль 1999 г.). «Обзор опыта надежной многоадресной рассылки» . Программное обеспечение: практика и опыт . 29 (9): 741–774. doi : 10.1002/(SICI)1097-024X(19990725)29:9<741::AID-SPE259>3.0.CO;2-I . hdl : 1813/7380 .
- ^ "Набор инструментов Исиды"
- ^ «Библиотека облачных вычислений Vsync» .
- ^ "Система Гора"
- ^ "Ансамблевая система"
- ^ "Проект OpenAIS"
- ^ https://infoscience.epfl.ch/record/32309
- ^ РСП ; нужна информация.
Дальнейшее чтение
[ редактировать ]- Надежные распределенные системы: технологии, веб-сервисы и приложения. КП Бирман. Спрингер Верлаг (1997). Учебник охватывает широкий спектр концепций распределенных вычислений, включая виртуальную синхронизацию.
- Распределенные системы: принципы и парадигмы (2-е издание). Эндрю С. Таненбаум, Маартен ван Стен (2002). Учебник охватывает широкий спектр концепций распределенных вычислений, включая виртуальную синхронизацию.
- «Групповой подход к надежным распределенным вычислениям» . К. П. Бирман, Сообщения ACM 16:12 (декабрь 1993 г.). Написано для неспециалистов.
- «Спецификации группового общения: комплексное исследование» Грегори В. Чоклер, Идит Кейдар ,
- Роман Витенберг. Обзоры вычислений ACM 33:4 (2001). Вводит математический формализм для таких моделей, а затем использует его для сравнения их выразительной силы и предположений об обнаружении отказов.
- «Неполный парламент» . Лесли Лэмпорт. Транзакции ACM в вычислительных системах (TOCS), 16:2 (1998). Представляет реализацию реплицируемых конечных автоматов Paxos.
- «Использование виртуальной синхронизации в распределенных системах» . К. П. Бирман и Т. Джозеф. Материалы 11-го симпозиума ACM по принципам операционных систем (SOSP), Остин, Техас, ноябрь 1987 г. Самое раннее использование этого термина, но, вероятно, не лучшее изложение темы.