Title :
Hybrid resource control of active extensions
Author :
Patel, Parveen ; Lepreau, Jay
Author_Institution :
Sch. of Comput., Utah Univ., Salt Lake City, UT, USA
Abstract :
The ability of active networks technology to allow customized router computation critically depends on having resource control techniques that prevent buggy, malicious, or greedy code from affecting the integrity or availability of node resources. It is hard to choose between static and dynamic checking for resource control. Dynamic checking has the advantage of basing its decisions on precise real-time information about what the extension is doing but causes runtime overhead and asynchronous termination. Static checking, on the other hand, has the advantage of avoiding asynchronous termination and runtime overhead, but is overly conservative. This paper presents a hybrid solution: static checking is used to reject extremely resource-greedy code from the kernel fast path, while dynamic checking is used to enforce overall resource control. This hybrid solution reduces runtime overhead and avoids the problem of asynchronous termination by delaying extension termination until times when no extension code is running, i.e., between processing of packets. This paper also presents the design and initial implementation of the key parts of a hybrid resource control technique, called RBClick. RBClick is an extension of the Click modular router, customized for active networking in Janos, an active network operating system. RBClick uses a modified version of Cyclone, a type-safe version of C, to allow users to download new router extensions directly into the Janos kernel. Our measurements of forwarding rates indicate that hybrid resource control can improve the performance of router extensions by up to a factor of two.
Keywords :
distributed programming; network operating systems; program diagnostics; telecommunication network routing; Click modular router; Cyclone; Janos; RBClick; active extensions; active network operating system; active networks; asynchronous termination; buggy code; customized router computation; dynamic checking; forwarding rates; greedy code; hybrid resource control; kernel fast path; malicious code; node resource availability; node resource integrity; real-time information; router extensions; runtime overhead; static checking; type-safe C; Availability; Centralized control; Cities and towns; Computer networks; Data structures; Delay; Kernel; Monitoring; Protection; Runtime;
Conference_Titel :
Open Architectures and Network Programming, 2003 IEEE Conference on
Print_ISBN :
0-7803-7764-8
DOI :
10.1109/OPNARC.2003.1196370