310 likes | 452 Views
Operating System Support for Network Control a virtual network interface approach for end-host OSs. Takashi Okumura WIDE Project / Asahikawa Medical College. Daniel Mossé University of Pittsburgh. Masaki Minami Keio University. Osamu Nakamura Keio University. Contents. Introduction
E N D
Operating System Support for Network Controla virtual network interface approach for end-host OSs Takashi OkumuraWIDE Project / Asahikawa Medical College Daniel MosséUniversity of Pittsburgh Masaki MinamiKeio University Osamu NakamuraKeio University
Contents • Introduction • Control Model • Implementation & Performance • Conclusion
Priority inversion problem in network Low priorityprocess High priorityprocess • Need for Network Control Service by End-Host OS Userland Kernel Network Interface
Dummynet, ALTQ, LTS MS QoS Manager netnice Some implementations, but... • No work has explored this issue in the context of design principle of operating systems...
? Dummynet, ALTQ, LTS netnice Need for a Resource Protection Model ?
Per-flow Per-process Per-thread Need for Flexible Control Granularity • Per-Flow control, Per-Process control, Per-* control...
Various types of network control WeightedFairQueuing Priority Queuing Token Bucket Work-conserving: PQ, WFQ, etc... Non Work-conserving: LB, TB, etc...
Useful System Interface • Need a API that enables various controls in a single scheme.
Control Model- How OS support for Network Control should be realized -
BEFORE AFTER VIF : Virtual Network InterFace An Alternative Approach • Virtualization of network interfaces!!
What VIF provides (1) • Hierarchical Resource Protection Model
What VIF provides (2) • Flexible Control Granularity
What VIF provides (3) • Realization of various network control Packet shaping Fair Queuing
2002 2003 VIF_1 fxp0 fxp0 netnicecommand % netnice -i fxp0 2002 64Kbps
netniced HTML CGI Pseudo-stream Packet Shaper Priority Queue http stream Constant Bit Rate Stream netniceddaemon • Quality of Service Manager for VIF kernel httpd 45Mbps
100 101 /proc 100/ 101/ network/ VIF_1 VIF_2 fxp0 lo0/ files sockets/ fxp0/ lo0@ fxp0@ VIF_1/ VIF_2/ params params System Interface: procfs • Protection semantics is given by file access control...
Kernel Module userland Transport Input Transport Output Network Input Network Output Struct ifnet Hierarchical Packet Scheduler ipintr Interface Input Interface Output Device Input Device Output kernel
Syscalls (in msec)
How OS support for network control should be realized • Through virtualization of network interfaces! AFTER BEFORE
Advantages • Hierarchical resource protection • Flexible control granularity • Various types of network control • Simple, but powerful, API Realized at reasonable cost,for general-purpose Operating Systems.
Thank you for listening!! http://www.asahikawa.wide.ad.jp/netnice/
Abstraction of communicationvsVirtualization of network interface
Network Perspective: Low-level abstraction • OS Perspective: High-level abstraction Abstraction of Communication Flows • What is it • Two perspectives
Lack of system protection • Scalability problem • Lack of user knowledge ? Network Perspective OS should provide unified resource management scheme!!
Lack of controllability of remote resources • Difficulty in the separation of system functionality • Lack of a simple API for various topologies and protocols ? ? ? ? ? ? Operating System Perspective High-level abstraction for communication flow is not easy!
Low(network) High(OS) ? Abstraction of Communication Flows, Revisited. OS support for network contorl requires a new paradigm for its design principle...