Improvements at the physical network layer have enabled technologies such as 10 Gigabit Ethernet. Single core end-systems are unable to fully utilize these networks, due to limited clock cycles. Using a Multi-core architecture is one method which increases the number of available cycles, and thus allow networks to be fully utilized. However, using these systems creates a new set of challenges for network protocol processing, for example, deciding how best to utilize many cores for high network performance.This paper examines different ways the cores of a multi-core system can be utilized, and, by experimentation, we show that in an eight core system deciding which cores to use is important. In one test, there was a 40% discrepancy in CPU utilization depending on which cores were used. This discrepancy results from the resources each core shares, an example being the multi-hierarchy CPU caches, and to which bus the processors are connected.
['Matthew Faulkner', 'Andrew Brampton', 'Stephen Pink']
Evaluating the Performance of Network Protocol Processing on Multi-core Systems