Gaining efficiency in transport services by appropriate design and implementation choices
ACM Transactions on Computer Systems (TOCS)
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
The packer filter: an efficient mechanism for user-level network code
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Firefly: A Multiprocessor Workstation
IEEE Transactions on Computers - Special issue on architectural support for programming languages and operating systems
Threads and input/output in the synthesis kernal
SOSP '89 Proceedings of the twelfth ACM symposium on Operating systems principles
The X-Kernel: An Architecture for Implementing Network Protocols
IEEE Transactions on Software Engineering
SIGCOMM '91 Proceedings of the conference on Communications architecture & protocols
Using continuations to implement thread management and communication in operating systems
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Synthesis: an efficient implementation of fundamental operating system services
Synthesis: an efficient implementation of fundamental operating system services
A language-based approach to protocol implementation
SIGCOMM '92 Conference proceedings on Communications architectures & protocols
The structuring of systems using upcalls
Proceedings of the tenth ACM symposium on Operating systems principles
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
Protocol Service Decomposition for High-Performance Networking
Protocol Service Decomposition for High-Performance Networking
Fbufs: a high-bandwidth cross-domain transfer facility
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Protocol service decomposition for high-performance networking
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Experiences with a high-speed network adaptor: a software perspective
SIGCOMM '94 Proceedings of the conference on Communications architectures, protocols and applications
User-space protocols deliver high performance to applications on a low-cost Gb/s LAN
SIGCOMM '94 Proceedings of the conference on Communications architectures, protocols and applications
Networking support for large scale multiprocessor servers
Proceedings of the 1996 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Operating system support for high-speed communication
Communications of the ACM
IEEE/ACM Transactions on Networking (TON)
ASHs: Application-specific handlers for high-performance messaging
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
DPF: fast, flexible message demultiplexing using dynamic code generation
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
ASHs: application-specific handlers for high-performance messaging
IEEE/ACM Transactions on Networking (TON)
Structuring Communication Software for Quality-of-Service Guarantees
IEEE Transactions on Software Engineering
Adapting the Network Interface for High-Performance Computing: The CNI Approach
The Journal of Supercomputing - Special issue: high performance distributed computing
User-level Real-Time Network System on Microkernel-basedOperating Systems
WPDRTS Selected papers from the 4th workshop on Parallel and distributed real-time systems
Efficient user-space protocol implementations with QoS guarantees using real-time upcalls
IEEE/ACM Transactions on Networking (TON)
Experiences implementing a high performance TCP in user-space
SIGCOMM '95 Proceedings of the conference on Applications, technologies, architectures, and protocols for computer communication
Realize network subsystem QoS guarantee
ACM SIGOPS Operating Systems Review
Fast and flexible application-level networking on exokernel systems
ACM Transactions on Computer Systems (TOCS)
Handoff and Systems Support for Indirect TCP/IP
MLICS '95 Proceedings of the 2nd Symposium on Mobile and Location-Independent Computing
CNI: A High-Performance Network Interface for Workstation Clusters
HPDC '96 Proceedings of the 5th IEEE International Symposium on High Performance Distributed Computing
An operating system architecture for network processors
Proceedings of the 2005 ACM symposium on Architecture for networking and communications systems
10Gb/s Ethernet performance and retrospective
ACM SIGCOMM Computer Communication Review
Self-prevention of socket buffer overflow
Computer Networks: The International Journal of Computer and Telecommunications Networking
Modular communication subsystem implementation using a synchronous approach
HSNS'94 Proceedings of the High-Speed Networking Symposium on USENIX 1994 High-Speed Networking Symposium
An extensible protocol architecture for application-specific networking
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
An analysis of process and memory models to support high-speed networking in a UNIX environment
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
A virtual platform for network experimentation
Proceedings of the 1st ACM workshop on Virtualized infrastructure systems and architectures
A portable communication system for video-on-demand applications using the existing infrastructure
INFOCOM'96 Proceedings of the Fifteenth annual joint conference of the IEEE computer and communications societies conference on The conference on computer communications - Volume 1
Hi-index | 0.02 |
Traditionally, network software has been structured in a monolithic fashion with all protocol stacks executing either within the kernel or in a single trusted user-level server. This organization is motivated by performance and security concerns. However, considerations of code maintenance, ease of debugging, customization, and the simultaneous existence of multiple protocols argue for separating the implementations into more manageable user-level libraries of protocols. This paper describes the design and implementation of transport protocols as user-level libraries.We begin by motivating the need for protocol implementations as user-level libraries and placing our approach in the context of previous work. We then describe our alternative to monolithic protocol organization, which has been implemented on Mach workstations connected not only to traditional Ethernet, but also to a more modern network, the DEC SRC ANI. Based on our experience, we discuss the implications for host-network interface design and for overall system structure to support efficient user-level implementations of network protocols.