Hello again guys,
Iam trying to asses the best hardware for a machine that procceses a high number of packets per second on its NIC. THe only way I can achieve this without guesses is If iam able to understand or test what the number of interrupts available per core and how to translate that to PPS capabilities.
So far ive been testing an Core I5 CPU and was able to achieve up to 400k packets (small syn packets) in a single core (2.8Ghz i think..) untill the point where 100% was reported to serve as hardware interrupts, yet what is the math behind this?
In any case, i find this rather low and confused as I know for a fact that small home routers even on gigabit have specs that detail they can do packet forwarding at rates up to 1.4 million pps and iam sure there CPU is no where as powerfull as a 2.8Ghz Core I5 core.
Any orientation is much appreciated.
Alex
On 5/20/2013 10:07 PM, Alex Flex wrote:
Iam trying to asses the best hardware for a machine that procceses a high number of packets per second on its NIC. THe only way I can achieve this without guesses is If iam able to understand or test what the number of interrupts available per core and how to translate that to PPS capabilities.
So far ive been testing an Core I5 CPU and was able to achieve up to 400k packets (small syn packets) in a single core (2.8Ghz i think..) untill the point where 100% was reported to serve as hardware interrupts, yet what is the math behind this?
In any case, i find this rather low and confused as I know for a fact that small home routers even on gigabit have specs that detail they can do packet forwarding at rates up to 1.4 million pps and iam sure there CPU is no where as powerfull as a 2.8Ghz Core I5 core.
Any orientation is much appreciated.
use a better server grade NIC. the cheap desktop/laptop ones require more CPU per IRQ and generate more IRQs requiring CPU intervention, the server grade NICs unload more of the work and allow the CPU to handle things more efficiently.
that said, 400K packets per second on a 1gigE, thats 335 bytes/per packet, INCLUDING packet overhead and interpacket time .... subtracting about 10% and assuming the 1gigE is max 100MByte/sec actual useful data transfer (I rarely see over 80MB/s), now we're looking at 260 bytes/packet.