Multi-core network packet steering: Difference between revisions

Content deleted Content added
No edit summary
FrancioT (talk | contribs)
No edit summary
Line 1:
'''Network packet steering''' of incoming traffic for '''[[Multi-core_processor|multi-core architectures]]''' is needed in modern network computing environment, especially in [[Data_center|data centers]], where the high bandwidth and heavy loads would easily congestion a single core's queue.
For this reason many techniques, both in hardware and in software, are leveraged in order to distribute the incoming load of [[Network_packet|packets]] across the cores of the processor.
 
[[File:Phone camera loop.jpg|thumb|This is a photo captured while projecting the screen of the same device]]
 
== Hardware techniques ==
Hardware accelerated techniques like RSS and aRFS are used to route and load balance incoming [[Network_packet|packets]] across the multiple cores' queues of a processor.<br>
Those hardware supported methods achieve extremely low latencies and reduce the load on the CPU, as compared to the software based ones. However they require a specialized hardware integrated within the [[Network_interface_controller|network interface card (NIC)]] (which could be for example a [[Data_processing_unit|SmartNIC]]).
 
=== RSS ===
Line 14 ⟶ 13:
 
== Software techniques ==
Software techniques like RPS and RFS employ one of the CPU cores to steer incoming packets across the other cores of the processor. <br>
The benefits of a software solutions is the ease in implementation, without having to change any component (like the NIC) of the currently used architecture, but by simply deploying the proper kernel module. This benefit can be crucial especially in cases where the server machine can't be customized or accessed (like in [[Cloud computing#Infrastructure as a service (IaaS)|cloud computing]] environment), even if the network performances could be reduced as compared the hardware supported ones.
 
=== RPS ===