![]() Doing a bit of research (it took me about 10 minutes, but then I knew where to look) before making broad claims usually helps. How about “ it’s impossible to retain packet order in multi-core packet processing”. Using a reasonable CPU is cheaper than the alternatives. All these functions can be hard-coded in an ASIC or NPU, but once the packet forwarding functionality requires a complex algorithm, CPUs tend to be cheaper than the alternatives due to economies of scale.Īlso, do keep in mind that most low-speed packet forwarding (up to a few gigabits these days) is done in the CPU. It can, however, be good enough in many cases, and the optimal solution for complex packet forwarding like TCP session termination (including retransmissions), defragmentation, or out-of-order packet processing. Nobody can argue with the “ CPU is not designed for packet forwarding” argument. ![]() Yes CPU can do scheduling, but at a very high tax of CPU cycles. It is impossible for a multicore CPU to retain the packet order as is received after parallel processing by multiple cores. Junhui Liu added this comment to my Where Do We Need Smart NICs? blog post:ĬPU is not designed for the purpose of packet forwarding.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |