Во время глобального саммита OCP (который состоялся несколько дней назад) Google представил через рекламу решение выпустить свою технологию передачи данных Falcon и передача его развитие после проекта Open Compute, целью которого является совместная разработка открытых спецификаций оборудования для оснащения центров обработки данных.
Cокол (аппаратный транспорт, транспортный уровень с аппаратным ускорением) рекламируется как следующее поколение Ethernet, поскольку Google предполагает, что способен повысить производительность и эффективность передачи данных в стандартных сетях существующие сети на базе Ethernet и TCP/IP, которые критически важны для производительности и задержки, например сети для высокопроизводительных вычислений и искусственного интеллекта.
Некоторые из этих атрибутов уже давно необходимы для таких рабочих нагрузок, как хранилище; Однако с появлением новых вариантов использования, таких как крупномасштабное обучение искусственному интеллекту и машинному обучению и высокопроизводительные вычисления (HPC), потребность значительно возросла. В прошлом мы открыто делились с отраслью своими знаниями в области формирования трафика, контроля перегрузок, балансировки нагрузки и многого другого, внося свои идеи в Целевую группу Ассоциации вычислительной техники и интернет-инженерии.
Для достижения этой цели мы разработали Falcon, чтобы обеспечить возможность многоуровневой производительности для программной транспортировки.
О Соколе
В описании протокола упоминается, что Falcon Он предназначен для адаптации к сетям центров обработки данных. y предназначен для обеспечить предсказуемую высокую производительность, низкую задержку, гибкость и расширяемость.
В рамках своей функции обеспечения низкой задержки в высокоскоростных сетях Ethernet, допускающих потерю пакетов, Falcon использует три принципа: детальное измерение задержек между отправкой запроса и получением ответа (RTT, время туда и обратно), аппаратно реализованное обрезка трафика для отдельных потоков, а также быстрая и точная повторная передача пакетов. Эти свойства дополняются средствами одновременного доступа по нескольким каналам (Multipath) и поддержкой шифрования соединения.
В дополнение к этой основе Falcon был разработан с нуля как многопротокольный транспорт, способный поддерживать ULP с самыми разными требованиями к семантике приложений и производительности. Уровень сопоставления ULP не только обеспечивает готовую поддержку Infiniband Verbs RDMA и NVMe ULP, но также включает в себя дополнительные инновации, критически важные для приложений масштаба склада, такие как гибкая семантика заказа и элегантная обработка ошибок.
И последнее, но не менее важное: аппаратное и программное обеспечение совместно разработаны для совместной работы и помогают достичь желаемых характеристик: высокой скорости передачи сообщений, низкой задержки и высокой пропускной способности, сохраняя при этом гибкость для программирования и непрерывные инновации.
Со стороны базы «Сокол» упоминается, что задействованы следующие технологии:
- Карусель: механизм ограничения трафика (Traffic Shaping), позволяющий регулировать производительность и интенсивность потока пакетов в разрезе отдельных хостов.
- Щелчок: сетевая подсистема на основе микроядра, которую можно расширить с помощью модулей, с помощью которых можно добавлять расширенные функции, такие как виртуализация сети, ограничение трафика и функции доставки сообщений.
- Swift: механизм контроля перегрузки для сетей на уровне центра обработки данных, обеспечивающий задержку менее 50 микросекунд для коротких сообщений RPC при сохранении пропускной способности 100 Гбит/с на сервер при нагрузке почти 100%.
- СТОЙКА-TLP: алгоритм определения потери пакетов для TCP.
- ПЛБ: — это механизм балансировки нагрузки, использующий сигналы перегрузки.
- CSIG: протокол обмена телеметрией, используемый для отправки сигналов управления перегрузкой и трафиком.
- PSP: протокол шифрования трафика.
Поддержка Falcon будет впервые доступна в серии сетевых ускорителей Intel IPU E2000, которые сочетают в себе адаптер Ethernet с программируемым процессором, который может обрабатывать операции, обычно выполняемые в сетевом стеке или на стороне системы, такие как управление трафиком и управление перегрузкой и анализ протоколов высокого уровня.
Наконец, если вы заинтересованы в том, чтобы узнать больше об этом, вы можете ознакомиться с подробностями в по следующей ссылке.