FPGA Partitioning for Network Packet Processing Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The efficiency of packet processing in servers is reduced due to the need for processors to identify and distribute each packet individually, especially when handling a large quantity, leading to decreased distribution efficiency and increased workload.
Innovation Solution
The method involves partitioning an FPGA or NP into multiple isolated service processing resources and using configuration instructions and forwarding rules to distribute and process packets efficiently, allowing for flexible and fast packet processing without relying solely on processor identification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If hypervisor software is used to virtualize servers, then multiple network service processing software can be deployed on the same server, but the processor workload increases significantly and packet distribution efficiency decreases
Solution Approach 1:
The patent segments the packet processing function by introducing a forwarding rule table that separates packet classification (done by network interface card) from packet distribution (done by vswitch). This segmentation prevents the processor from needing to identify and distribute each packet individually, thus resolving the contradiction between service deployment flexibility and packet processing efficiency.
Solution Approach 2:
The patent applies preliminary action by pre-configuring forwarding rules in the forwarding rule table before packets arrive. The network interface card uses these pre-configured rules to perform packet classification and distribution decisions in advance, eliminating the need for real-time processor intervention in packet distribution and thereby maintaining high packet processing efficiency while supporting virtualized service deployment.
2Reliability
If the processor identifies and distributes each packet individually, then packets can be correctly delivered to the appropriate VM, but the distribution efficiency decreases when handling a large quantity of packets
Solution Approach 1:
The patent introduces a forwarding rule table as an intermediary between the network interface card and the vswitch. This intermediary contains pre-configured rules that enable the network interface card to perform packet classification and distribution without requiring the processor to identify and distribute each packet individually. This intermediary mechanism ensures both accurate packet delivery to the correct VM and high distribution efficiency when handling large quantities of packets.
3Reliability
If the vswitch distributes packets after processor identification, then packets can be correctly delivered to VMs, but the overall packet processing speed decreases
Solution Approach 1:
The patent applies preliminary action by pre-configuring all forwarding rules in the forwarding rule table before packet processing begins. The network interface card uses these pre-configured rules to perform packet classification and determine distribution destinations in advance, eliminating the need for real-time processor intervention. This preliminary configuration ensures both accurate packet routing to the correct VM and high packet processing speed, as the vswitch can distribute packets without waiting for processor identification.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A network service processing method and apparatus are provided. The method includes: partitioning a field-programmable gate array (FPGA) or a network processor (NP) into multiple mutually isolated service processing resources (110); receiving a first configuration instruction, where the first configuration instruction includes a first service configuration execution file (120); performing service configuration on the service processing resource according to the first service configuration execution file, so that the service processing resource performs service processing on a to-be-processed service packet (130); receiving a forwarding rule used when service forwarding is to be performed on the to-be-processed service packet (140); and receiving the to-be-processed service packet sent by a user terminal, and distributing the to-be-processed service packet to the service processing resource by using the forwarding rule, so that the service processing resource performs service processing on the to-be-processed service packet (150).