PCIe Intermediary for Low-Latency CPU-Network Packet Forwarding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High packet forwarding delays occur when CPUs need to connect to network adapters in cloud computing environments, particularly in scenarios with multi-core processors and virtualization, leading to inefficiencies in data transmission.
Innovation Solution
Implementing an intermediate device, such as an FPGA or ASIC, that acts as a root node in the PCIe topology, enabling direct packet forwarding between CPUs and network adapters through SR-IOV technology, reducing the need for software conversions and utilizing an intermediate device to manage and forward packets directly.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a CPU needs to be connected to a network adapter through another CPU, then multi-core server configuration is achieved, but packet forwarding delay increases
Solution Approach 1:
The patent introduces a PCIe switch as an intermediary device between CPUs and network adapters. The PCIe switch receives packets from one CPU and directly forwards them to the network adapter, bypassing the need for another CPU to handle the forwarding operation. This mediator enables direct packet routing while maintaining the multi-core server architecture, thus reducing forwarding delay without sacrificing productivity.
2Adaptability or versatility
If virtualization technology is implemented, then resource pooling and dynamic scalability are achieved, but packet forwarding complexity increases
Solution Approach 1:
The patent segments the packet forwarding function by separating virtualization management from physical packet routing. The PCIe switch handles physical packet forwarding independently using its own resource allocation mechanisms, while virtualization software manages virtual resource allocation. This segmentation allows virtualization to provide adaptability without adding complexity to the actual packet forwarding path, as the PCIe switch operates autonomously at the hardware level.
Data Source
Figure 1
Figure 2A
Figure 2B
AI summary
This application provides a packet forwarding method, an intermediate device, and a computer device. The computer device provided in this application includes a CPU, a network adapter, a bus, and an intermediate device, where the intermediate device is connected to both the CPU and the network adapter through the bus, and is configured to establish a correspondence between address information of an agent unit and address information of a function unit, and implement forwarding of a packet between the CPU and the network adapter based on the correspondence. The CPU can implement forwarding of a packet without using another CPU, so that operations such as a software conversion that are needed when the packet is forwarded to the another CPU are omitted, thereby reducing a delay in sending a data packet or a command packet. In addition, a problem of an excessively high delay because of insufficient bandwidth of an inter-CPU communications bus can be avoided.