I/O Is Faster Than the CPU

Pekka Enberg, Ashwin Rao, Sasu Tarkoma
2019 Proceedings of the Workshop on Hot Topics in Operating Systems - HotOS '19  
I/O is getting faster in servers that have fast programmable NICs and non-volatile main memory operating close to the speed of DRAM, but single-threaded CPU speeds have stagnated. Applications cannot take advantage of modern hardware capabilities when using interfaces built around abstractions that assume I/O to be slow. We therefore propose a structure for an OS called parakernel, which eliminates most OS abstractions and provides interfaces for applications to leverage the full potential of
more » ... e underlying hardware. The parakernel facilitates application-level parallelism by securely partitioning the resources and multiplexing only those resources that are not partitioned. Many OS abstractions being used today were designed when I/O speeds were significantly slower than CPU speeds. OSes could, therefore, get away with abstracting the underlying hardware to make application programming easier without paying attention to the inefficiency of the interfaces [13] . However, the assumption that I/O is significantly slower than CPU is no longer valid given that 400 Gbps Ethernet is in the horizon and non-volatile memory (NVM) is approaching the speeds of DRAM [18] , while the performance of singlethreaded CPUs has stagnated [16, 43] . More than two decades ago Engler et al. [13] argued that OS abstractions and their corresponding interfaces incur a substantial performance cost. The impact of these inefficiencies is now amplified because I/O speeds are becoming
doi:10.1145/3317550.3321426 dblp:conf/hotos/EnbergRT19 fatcat:3n2t7h3w4jax5ihmne3ibqcxwm