Lightweight Thread Tunnelling in Network Applications

  • Austin Donnelly
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2546)


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.


Network Application Program Counter Tunnelling System Encryption Module Protected Procedure 
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.


  1. [1]
    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.Google Scholar
  2. [2]
    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.CrossRefGoogle Scholar
  3. [3]
    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.Google Scholar
  4. [4]
    Austin Donnelly. Resource Control in Network Elements. PhD thesis, Cambridge University Computer Laboratory, January 2002. Also available as CUCL Tech. Rep. 534.Google Scholar
  5. [5]
    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.Google Scholar
  6. [6]
    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.Google Scholar
  7. [7]
    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.Google Scholar
  8. [8]
    Timothy L. Harris. Extensible virtual machines. PhD thesis, Computer Science Department, University of Cambridge, April 2001. Also available as CUCL Tech. Rep. 525.Google Scholar
  9. [9]
    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.Google Scholar
  10. [10]
    B. W. Lampson and D. D. Redell. Experience with processes and monitors in Mesa. Communications of the ACM, 23(2):105–117, February 1980.CrossRefGoogle Scholar
  11. [11]
    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.Google Scholar
  12. [12]
    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.Google Scholar
  13. [13]
    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.Google Scholar
  14. [14]
    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.Google Scholar
  15. [15]
    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.Google Scholar
  16. [16]
    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.Google Scholar
  17. [17]
    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.Google Scholar
  18. [18]
    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.Google Scholar
  19. [19]
    David L. Tennenhouse and David J. Wetherall. Towards an active network architecture. ACM Computer Communications Review (CCR), 26(2):5–18, April 1996.CrossRefGoogle Scholar
  20. [20]
    Ken Thompson. Unix implementation. Bell System Technical Journal, 57(6, Part 2):1931–1946, July/August 1978.Google Scholar
  21. [21]
    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.Google Scholar
  22. [22]
    Maurice V. Wilkes and Roger M. Needham. The Cambridge CAP computer and its operating system. Elsevier North Holland, 52 Vanderbilt Avenue, New York, 1979.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Austin Donnelly
    • 1
  1. 1.University of CambridgeComputer LaboratoryCambridgeUK

Personalised recommendations