A framework for the non-monolithic implementation of protocols in the x-kernel

  • Authors:
  • Parag K. Jain;Norman C. Hutchinson;Samuel T. Chanson

  • Affiliations:
  • Department of Computer Science, University of British Columbia, Vancouver, BC, Canada;Department of Computer Science, University of British Columbia, Vancouver, BC, Canada;Department of Computer Science, University of British Columbia, Vancouver, BC, Canada

  • Venue:
  • HSNS'94 Proceedings of the High-Speed Networking Symposium on USENIX 1994 High-Speed Networking Symposium
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes a framework for splitting the implementation of network protocols in the x-kernel into a user-level library, which implements the majority of the protocol functionality, and a kernel component, which provides a fast track to demultiplex packets into the appropriate recipient address space. The design also provides the user with flexibility to decide which aspects of the protocol implementation should be in user space and which should be in the kernel. We implement an example TCP/UDP-IP-Ethernet protocol stack and report on its performance which is competitive with monolithic implementations. The kernel level demultiplexing of network packets is well structured, modular and scalable. The cost of demultiplexing is shown to be insensitive to the number of user-level instances of protocols. The performance of the approach on a multiprocessor system shows that non-monolithic protocol implementations are potentially more parallelizable than traditional monolithic ones.