Networking performance for microkernels

Performance measurements for network protocols in microkernel systems are typically two to five times slower than comparable macrokernel systems. It is shown that user-level network protocols have performed poorly because they rely on code designed to run in a kernel environment. As a result, they make assumptions about the costs of primitive protocol operations such as scheduling, preemption, and data transfer which can require substantial overhead to satisfy at user level. Good user-level protocol performance can be achieved by restructuring protocol servers to take advantage of microkernel facilities, rather than ignore them.<<ETX>>

[1]  Brian N. Bershad,et al.  An I/O System for Mach 3.0 , 1991, USENIX MACH Symposium.

[2]  Brian N. Bershad,et al.  Mutual exclusion for uniprocessors , 1991 .

[3]  Michael Burrows,et al.  Performance of Firefly RPC , 1990, ACM Trans. Comput. Syst..

[4]  A. Forin,et al.  Using microbenchmarks to evaluate system performance , 1992, [1992] Proceedings Third Workshop on Workstation Operating Systems.

[5]  Brian N. Bershad,et al.  Using continuations to implement thread management and communication in operating systems , 1991, SOSP '91.

[6]  Franklin Reynolds,et al.  Kernel Support for Network Protocol Servers , 1991, USENIX MACH Symposium.

[7]  Jeffrey C. Mogul,et al.  The packer filter: an efficient mechanism for user-level network code , 1987, SOSP '87.

[8]  Joseph S. Barrera A Fast Mach Network IPC Implementation , 1991, USENIX MACH Symposium.

[9]  Andrew R. Cherenson,et al.  The Sprite network operating system , 1988, Computer.

[10]  Alessandro Forin,et al.  UNIX as an Application Program , 1990, USENIX Summer.