Protocol Service Decomposition for High-Performance Networking
C. Maeda, and Brian N. Bershad. Proceedings of the 14th ACM Symposium on Operating Systems Principles. December 1993, pp. 244-255.
The Idea: implement protocol stack in user space on top of a low-level kernel interface. It will go faster than the "server implementation" (it runs on the Mach microkernel, so there are lots of boundary crossings).
Details:
- Use the kernel to make/break connections (so that dead
processes can be cleaned up after).
- Expose almost-raw Ethernet (actually, filter packets by process for security reasons.
- It is faster that u-Kernel implementation but not (really )faster than monolithic kernel.
- On fork() and other "exceptional" events, they have to move the connecition back into the kernel
-
- Kernel handles lower-level stuff like ARP requests.
-
- Oddly, performance is only good in a relative sense; probably the flexibility is the bigger win.
Umesh Shankar
Last modified: Thu Jul 5 16:03:27 PDT 2001