U-Net: a user-level network interface for parallel and distributed computing
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Link-sharing and resource management models for packet networks
IEEE/ACM Transactions on Networking (TON)
Making paths explicit in the Scout operating system
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Lazy receiver processing (LRP): a network subsystem architecture for server systems
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Dummynet: a simple approach to the evaluation of network protocols
ACM SIGCOMM Computer Communication Review
Resource containers: a new facility for resource management in server systems
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
Defending against denial of service attacks in Scout
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor
Proceedings of the General Track: 2002 USENIX Annual Technical Conference
CCGRID '03 Proceedings of the 3st International Symposium on Cluster Computing and the Grid
A framework for alternate queueing: towards traffic management by PC-UNIX based routers
ATEC '98 Proceedings of the annual conference on USENIX Annual Technical Conference
An extensible protocol architecture for application-specific networking
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
Eliminating receive livelock in an interrupt-driven kernel
ATEC '96 Proceedings of the 1996 annual conference on USENIX Annual Technical Conference
Trickle: a userland bandwidth shaper for Unix-like systems
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Running a Java VM inside an operating system kernel
Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Hi-index | 14.98 |
In the recent past, with the advent of more powerful networks, computations have become more distributed in nature and control of network resources has become essential for Operating Systems (OS). Nevertheless, proposed primitives for network control at end-host OS are designed without an OS design perspective and have been in disagreement with existing OS constructs, causing a variety of problems. In this paper, we propose a new OS service for network control, namely, hierarchical virtualization of network interface. The virtual network interface is hierarchically structured and attached to various OS constructs, such as threads, processes, and sockets, for the control of their network I/O. We show that our proposed mechanism provides the following properties: 1) flexible control granularity, 2) resource protection, 3) reasonable abstraction and Application Programming Interface (API), and 4) various types of packet scheduling and control in a single framework, such as work-conserving and non-work-conserving, in accordance with existing OS mechanisms. For a proof of concept, we present an implementation on a PC-Unix, using the file system abstraction, and carry out systematic profiling. The system exhibited the expected control behavior, that is, good responsiveness to the control commands while keeping the performance penalty small.