Networking in Osprey
01 November 2012
Network links have more and more bandwidth while processor frequencies do not increase significantly and thus the best way to improve networking performance is to process packets in parallel on multiple cores. This paper describes a networking architecture where incoming network traffic is demultiplexed to user-level network protocol stacks running on different cores using a software packet filter and multiple hardware receive rings. Such architecture allows efficient use of network controller capabilities, processor caches, and memory, enabling very efficient and scalable networking. This architecture has been implemented in the Osprey operating system.