Abstract
Active Network nodes are increasingly being used for nontrivial processing of data streams. These complex network applications typically benefit from protection between their components for faulttolerance or security. However, fine-grained memory protection introduces bottlenecks in communication among components. This paper describes memory protection in Expert, an OS for programmable network elements which re-examines thread tunnelling as a way of allowing these complex applications to be split over multiple protection domains. We argue that previous problems with tunnelling are symptoms of overly general designs, and we demonstrate a minimal domain-crossing primitive which nevertheless achieves the majority of benefits possible from tunnelling.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Brian Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, David Becker, Marc Fiuczynski, Craig Chambers, and Susan Eggers. Extensibility, Safety and Performance in the SPIN Operating System. In Proceedings of the 15th ACM Symposium on Operating System Principles (SOSP-15), pages 267–284, Colorado, December 1995.
Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy. Lightweight remote procedure call. ACM Transactions on Computer Systems, 8(1):37–55, February 1990.
Brian N. Bershad, Richard P. Draves, and Alessandro Forin. Using microbenchmarks to evaluate system performance. Proceedings of the Third Workshop on Workstation Operating Systems, pages 148–153, April 1992.
Austin Donnelly. Resource Control in Network Elements. PhD thesis, Cambridge University Computer Laboratory, January 2002. Also available as CUCL Tech. Rep. 534.
Marc E. Fiuczynski, Richard P. Martin, Tsutomu Owa, and Brian N. Bershad. Spine: A safe programmable and integrated network environment. In Proceedings of Eighth ACM SIGOPS European Workshop, September 1998. See also extended version published as University of Washington TR-98-08-01.
Bryan Ford and Jay Lepreau. Evolving Mach 3.0 to a migrating thread model. In Proceedings of the 1994 Winter USENIX Conference, pages 97–114, January 1994.
Graham Hamilton and Panos Kougiouris. The Spring nucleus: A microkernel for objects. In Proceedings of the USENIX Summer Conference, pages 147–159, Cincinnati, OH, June 1993.
Timothy L. Harris. Extensible virtual machines. PhD thesis, Computer Science Department, University of Cambridge, April 2001. Also available as CUCL Tech. Rep. 525.
Timothy L. Harris, Keir Fraser, and Ian A. Pratt. A practical multi-word compareand-swap operation. Proceedings of the 16th International Symposium on Distributed Computing (DISC 2002), 2002.
B. W. Lampson and D. D. Redell. Experience with processes and monitors in Mesa. Communications of the ACM, 23(2):105–117, February 1980.
Jochen Liedtke. Improving IPC by kernel design. In Proceedings of the 14th ACM Symposium on Operating System Principles (SOSP-14), pages 175–188, Asheville, NC, December 1993.
Paul Menage. RCANE: A Resource Controlled Framework for Active Network Services. In Proceedings of the First International Working Conference on Active Networks (IWAN’ 99), volume 1653, pages 25–36. Springer-Verlag, 1999.
Jonathan T. Moore, Michael Hicks, and Scott Nettles. Practical programmable packets. In Proceedings of the 20th Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM’01), April 2001.
David Mosberger and Larry L. Peterson. Making paths explicit in the Scout operating system. In Proceedings of the 2nd Symposium on Operating Systems Design and Implementation (OSDI’96), pages 153–167, Seattle, Washington, October 1996.
George C. Necula. Proof-carrying code. In Proceedings of the 24th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’ 97), pages 106–119, Paris, January 1997.
Larry L. Peterson, Scott C. Karlin, and Kai Li. OS support for general-purpose routers. In Proceedings of the 7th Workshop on Hot Topics in Operating Systems (HotOS-VII), pages 38–43, March 1999.
Jonathan S. Shapiro, David J. Farber, and Jonathan M. Smith. The measured performance of a fast local IPC. In Proceedings of the 5th International Workshop on Object Orientation in Operating Systems, pages 89–94, Seattle, WA, November 1996.
Oliver Spatscheck and Larry L. Petersen. Defending against denial of service attacks in Scout. In Proceedings of the 3rd Symposium on Operating Systems Design and Implementation (OSDI’99), New Orleans, Louisiana, February 1999.
David L. Tennenhouse and David J. Wetherall. Towards an active network architecture. ACM Computer Communications Review (CCR), 26(2):5–18, April 1996.
Ken Thompson. Unix implementation. Bell System Technical Journal, 57(6, Part 2):1931–1946, July/August 1978.
David J. Wetherall, John V. Guttag, and David L. Tennenhouse. ANTS: A toolkit for building and dynamically deploying network protocols. In Proceedings of the 1st IEEE Conference on Open Architectures and Network Programming (OPENARCH’ 98), April 1998.
Maurice V. Wilkes and Roger M. Needham. The Cambridge CAP computer and its operating system. Elsevier North Holland, 52 Vanderbilt Avenue, New York, 1979.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Donnelly, A. (2002). Lightweight Thread Tunnelling in Network Applications. In: Sterbenz, J., Takada, O., Tschudin, C., Plattner, B. (eds) Active Networks. IWAN 2002. Lecture Notes in Computer Science, vol 2546. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36199-5_4
Download citation
DOI: https://doi.org/10.1007/3-540-36199-5_4
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00223-9
Online ISBN: 978-3-540-36199-2
eBook Packages: Springer Book Archive