Google announced the launch of the Falcon data transmission technology (hardware transport, hardware-accelerated transport layer) and its further development as part of the Open Compute project, aimed at collaboratively developing open hardware specifications for equipping data centers. Falcon is presented as the next-generation Ethernet, capable of increasing bandwidth and enhancing the efficiency of data transmission over existing Ethernet and TCP/IP-based networks, which are critical regarding bandwidth and latency, such as networks for high-performance computing systems and artificial intelligence.
The protocol scales to data center networks and is designed to ensure predictable high performance, low latency, flexibility, and extensibility. Initially, Falcon will be supported in Intel's E2000 series IPU (Infrastructure Processing Unit) network accelerators, which combine Ethernet adapters with programmable processors that can offload operations typically performed on the network stack or system side, such as traffic management, congestion control, and parsing high-level protocols.
To achieve low latency in high-speed Ethernet networks that allow for packet loss, Falcon employs three principles: detailed measurement of latency between request sending and response receiving (RTT, round-trip time), hardware-implemented traffic shaping tied to individual streams, and rapid and accurate retransmission of packets. These features are complemented by capabilities for simultaneous access across multiple channels (Multipath) and support for encryption of connections.
The implementation of Falcon involves the following technologies:
- Carousel — a traffic shaping mechanism that allows the regulation of bandwidth and the intensity of packet streams across individual hosts.
- Snap — a network subsystem based on a microkernel, extensible through modules that can add advanced functionality, such as network virtualization, traffic shaping, and message delivery.
- Swift is a congestion control mechanism for data center networks that enables latencies of less than 50 microseconds for short RPC messages while maintaining throughput of 100Gbps at server load conditions close to 100%.
- RACK-TLP is a packet loss detection algorithm for TCP.
- PLB is a load balancing mechanism that uses congestion signals. After implementing PLB in Google’s networks, load imbalance on switches decreased by 60%, packet loss was reduced by 33%, and latencies for delivering short RPC messages decreased by 25%.
- CSIG (Congestion Signaling) is a telemetry exchange protocol used to send congestion signals and for traffic management.
- PSP (PSP Security Protocol) is a traffic encryption protocol.
Falcon uses RDMA and NVM Express as upper-level protocols but also allows the addition of support for additional upper-level protocols in the form of extensions. Falcon's functionality is defined by three levels: the level for mapping to upper-level protocols (ULP Mapping), the transaction level, and the packet delivery level. The first level manages flow control, message processing, and mapping to upper levels. The second level handles scheduling, resource management, and ordering. The third level manages congestion, traffic throttling, reliability maintenance, and simultaneous use of different channels (Multipathing).

Source: opennet.ru
