Networking performance for microkernels
Chris Maeda, Brian N. Bershad · 2003
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.>