Корпорация Google объявилао запуске технологии передачи данных под названием Falcon (аппаратно-ускоренный транспортный уровень) и о включении ее в проект Open Compute , который ориентирован на совместное развитие открытых спецификаций оборудования для оснащения датацентров. Falcon преподносится как Ethernet следующего поколения, способный повысить пропускную способность и увеличить эффективность передачи данных в существующих стандартных сетях на базе Ethernet и TCP/IP, критичных к пропускной способности и задержкам, таких как сети для систем высокопроизводительных вычислений и искусственного интеллекта.
Протокол Falcon спроектирован с учетом масштабирования для применения в датацентрах и обеспечения предсказуемо высокой производительности, низких задержек, гибкости и расширяемости. Поддержка Falcon первой будет обеспечена в сетевых ускорителях серии Intel IPU E2000 (Infrastructure Processing Unit), сочетающих Ethernet-адаптер с программируемым процессором, на который можно выносить операции, обычно выполняемые на стороне сетевого стека или системы, такие как управление трафиком, контроль перегрузки и разбор высокоуровневых протоколов.
Для достижения минимальных задержек в высокоскоростных Ethernet-сетях с возможностью потери пакетов Falcon использует три принципа: точное измерение задержек между отправкой запроса и получением ответа (RTT), аппаратное управление трафиком для отдельных потоков и быструю и точную повторную передачу пакетов. Эти характеристики дополняются возможностью одновременного использования нескольких каналов (Multipath) и поддержкой шифрования соединений.
Falcon включает в себя следующие технологии:
- Carousel: механизм управления трафиком для регулирования пропускной способности и интенсивности потоков на уровне отдельных хостов.
- Snap: сетевая подсистема на основе микроядра, которая может быть расширена с помощью модулей для добавления дополнительной функциональности, такой как сетевая виртуализация и управление трафиком.
- Swift: механизм управления перегрузкой для датацентров, обеспечивающий минимальные задержки при поддержании пропускной способности 100Gbps на сервер при максимальной загрузке.
- RACK-TLP: алгоритм определения потери пакетов для TCP.
- PLB: механизм балансировки нагрузки с использованием сигналов о перегрузке, что привело к снижению дизбаланса нагрузки, потерь пакетов и задержек в сетях Google.
- CSIG (Congestion Signaling): протокол обмена телеметрической информацией, используемый для передачи сигналов о перегрузке и управления трафиком.
- PSP (PSP Security Protocol): протокол шифрования трафика.
Falcon поддерживает протоколы верхнего уровня, такие как RDMA и NVM Express, и предоставляет возможность добавления поддержки других протоколов верхнего уровня через расширения. Этот протокол разделен на три уровня: уровень сопоставления с протоколами верхнего уровня, уровень транзакций и уровень доставки пакетов, что обеспечивает управление потоком данных, планирование ресурсов и обеспечение надежности передачи данных.