The packer filter: an efficient mechanism for user-level network code
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
Congestion avoidance and control
SIGCOMM '88 Symposium proceedings on Communications architectures and protocols
MIPS RISC architecture
Architectural considerations for a new generation of protocols
SIGCOMM '90 Proceedings of the ACM symposium on Communications architectures & protocols
UNIX network programming
The X Window System, version 11
Software—Practice & Experience - The X Window system
Practical UNIX security
The X-Kernel: An Architecture for Implementing Network Protocols
IEEE Transactions on Software Engineering
SIGCOMM '91 Proceedings of the conference on Communications architecture & protocols
Porting UNIX to the 386: (the final step)
Dr. Dobb's Journal
SIGCOMM '92 Conference proceedings on Communications architectures & protocols
Implementing network protocols at user level
SIGCOMM '93 Conference proceedings on Communications architectures, protocols and applications
The design and implementation of the 4.4BSD operating system
The design and implementation of the 4.4BSD operating system
Security Mechanisms in High-Level Network Protocols
ACM Computing Surveys (CSUR)
Accent: A communication oriented network operating system kernel
SOSP '81 Proceedings of the eighth ACM symposium on Operating systems principles
Fbufs: a high-bandwidth cross-domain transfer facility
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Implementing network protocols at user level
IEEE/ACM Transactions on Networking (TON)
Experiences with a high-speed network adaptor: a software perspective
SIGCOMM '94 Proceedings of the conference on Communications architectures, protocols and applications
A structured TCP in standard ML.
SIGCOMM '94 Proceedings of the conference on Communications architectures, protocols and applications
SPIN—an extensible microkernel for application-specific operating system services
ACM SIGOPS Operating Systems Review
Protocol implementation using integrated layer processing
SIGCOMM '95 Proceedings of the conference on Applications, technologies, architectures, and protocols for computer communication
SCONE: using concurrent objects for low-level operating system programming
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
U-Net: a user-level network interface for parallel and distributed computing
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Extensibility safety and performance in the SPIN operating system
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Performance evaluation and cache analysis of an ILP protocol implementation
IEEE/ACM Transactions on Networking (TON)
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
Strategic directions in storage I/O issues in large-scale computing
ACM Computing Surveys (CSUR) - Special ACM 50th-anniversary issue: strategic directions in computing research
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
Analysis of techniques to improve protocol processing latency
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
Speeding up protocols for small messages
Conference proceedings on Applications, technologies, architectures, and protocols for computer communications
File server scaling with network-attached secure disks
SIGMETRICS '97 Proceedings of the 1997 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
ASHs: application-specific handlers for high-performance messaging
IEEE/ACM Transactions on Networking (TON)
Application performance and flexibility on exokernel systems
Proceedings of the sixteenth ACM symposium on Operating systems principles
Structuring Communication Software for Quality-of-Service Guarantees
IEEE Transactions on Software Engineering
Constructive Protocol Specification Using Cicero
IEEE Transactions on Software Engineering
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)
A cost-effective, high-bandwidth storage architecture
Proceedings of the eighth international conference on Architectural support for programming languages and operating systems
Migrating sockets—end system support for networking with quality of service guarantees
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
MMLite: a highly componentized system architecture
Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications
SPIN: an extensible microkernel for application-specific operating system services
EW 6 Proceedings of the 6th workshop on ACM SIGOPS European workshop: Matching operating systems to application needs
Fast and flexible application-level networking on exokernel systems
ACM Transactions on Computer Systems (TOCS)
Design and implementation of multicast operations for ATM-based high performance computing
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
Client-Server Computing on Shrimp
IEEE Micro
Structure and Performance of the Direct Access File System
ATEC '02 Proceedings of the General Track of the annual conference on USENIX Annual Technical Conference
Transparent end-host-based service composition through network virtualization
Proceedings of the first ACM international workshop on Multimedia service composition
Self-prevention of socket buffer overflow
Computer Networks: The International Journal of Computer and Telecommunications Networking
Deploying safe user-level network services with icTCP
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Efficient packet demultiplexing for multiple endpoints and large messages
WTEC'94 Proceedings of the USENIX Winter 1994 Technical Conference on USENIX Winter 1994 Technical Conference
A framework for the non-monolithic implementation of protocols in the x-kernel
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
Solaris MC: a multi computer OS
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
Porting a user-level communication architecture to NT: experiences and performance
WINSYM'99 Proceedings of the 3rd conference on USENIX Windows NT Symposium - Volume 3
High-performance local area communication with fast sockets
ATEC '97 Proceedings of the 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
Hi-index | 0.02 |
In this paper we describe a new approach to implementing network protocols that enables them to have high performance and high flexibility, while retaining complete conformity to existing application programming interfaces. The key insight behind our work is that an application's interface to the network is distinct and separable from its interface to the operating system. We have separated these interfaces for two protocol implementations, TCP/IP and UDP/IP, running on the Mach 3.0 operating system and UNIX server. Specifically, library code in the application's address space implements the network protocols and transfers data to and from the network, while an operating system server manages the heavyweight abstractions that applications use when manipulating the network through operations other than send and receive. On DECstation 5000/200 systems connected by 10Mb/sec Ethernet, this approach to protocol decomposition achieves TCP/IP throughput of 1088 KB/second, which is comparable to that of a high-quality in-kernel TCP/IP implementation, and substantially better than a server-based one. Our approach achieves small-packet UDP/IP round trip latencies of 1.23 ms, again comparable to a kernel-based implementation and more than twice as fast as a server-based one.