netmap

Luigi Rizzo, Matteo Landi
2011 Proceedings of the ACM SIGCOMM 2011 conference on SIGCOMM - SIGCOMM '11  
http://info.iet.unipi.it/∼luigi/netmap/ Moving packets quickly between the wire and the application is a must for systems such as software routers, switches, firewalls, traffic generators and monitors. But at 10 Gbit/s line rate equals to 14.88 Mpps per port, or 67.2 ns per packet. Sure, there are a few custom solutions [1, 2, 3, 4, 5] that run really fast. But how do we achieve such speeds (and remain compatible with applications written in the past 20 years) on general purpose OS designed
more » ... "fast" was 2-3 orders of magnitude lower ? netmap [6] addresses the problem by making the datapath between the wire and userspace applications as fast as possible, but otherwise leaving unchanged the rest of the OS, and most/all user APIs. As a result we achieved 10..20 times faster I/O rates with minimal modifications to the operating system and applications. Why current APIs are slow ?
doi:10.1145/2018436.2018500 dblp:conf/sigcomm/RizzoL11 fatcat:p2ogifuud5c6peyyet3iyqmnp4