PIKA: A Network Service for Multikernel Operating Systems

Nathan Beckmann, Charles Gruenwald, Christopher R. Johnson, Harshad Kasture, Filippo Sironi, Anant K. Agarwal, M. Frans Kaashoek, Nickolai Zeldovich · DSpace@MIT (Massachusetts Institute of Technology) · 2014

PIKA is a network stack designed for multikernel operat-ing systems that target potential future architectures lacking cache-coherent shared memory but supporting message pass-ing. PIKA splits the network stack into several servers that communicate using a low-overhead message passing layer. A key challenge faced by PIKA is the maintenance of shared state, such as a single accept queue and load balance infor-mation. PIKA addresses this challenge using a speculative 3-way handshake for connection acceptance, and a new dis-tributed load balancing scheme for spreading connections. A PIKA prototype achieves competitive performance, excel-lent scalability, and low service times under load imbalance on commodity hardware. Finally, we demonstrate that split-ting network stack processing by function across separate cores is a net loss on commodity hardware, and we describe conditions under which it may be advantageous. 1

Read the paper · More papers on PaperTik