Snow on Silk: A NodeOS in the Linux Kernel
Transferring active networking technology from the research arena to everyday deployment on desktop and edge router nodes, requires a NodeOS design that simultaneously meets three goals: (1) be embedded within a wide-spread, open source operating system; (2) allow non-active applications and regular operating system operation to proceed in a regular manner, unhindered by the active networking component; (3) offer performance competitive with that of networking stacks of general purpose operating systems. Previous NodeOS systems, Bowman, Janos, AMP and Scout, only partially addressed these goals. Our contribution lies in the design and implementation of such a system, a NodeOS within the Linux kernel, and the demonstration of competitive performance for medium and larger packet sizes. We also illustrate how such a design easily renders to the deployment of other networking architectures, such as peer-to-peer networks and extensible routers.
KeywordsActive Application Execution Environment User Space Earliest Deadline First Device Driver
- Active Networks Security Working Group. Security architecture for active nets. Available as ftp://www.ftp.tislabs.com/pub/anfr/secrarch5.ps, November 2001.
- D. S. Alexander, M. Shaw, S. M. Nettles, and J. M. Smith. Active Bridging. In Proceedings of the ACM SIGCOMM’ 97 Conference, pages 101–111, September 1997.Google Scholar
- AN NodeOS Working Group. NodeOS interface specification. Available as http://www.cs.princeton.edu/nsg/papers/nodeos.ps, January 2002.
- A. Bavier, T. Voigt, M. Wawrzoniak, and L. Peterson. SILK: Scout Paths in the Linux Kernel. Technical Report TR-2002–009,, Department of Information Technology, February 2002.Google Scholar
- S. Berson, B. Braden, T. Faber, and B. Lindell. The ASP EE: An Active Network Execution Environment. In Proc. of the DARPA Active Networks Conference and Exposition (DANCE), San Francisco, CA, May 2002.Google Scholar
- S. Bhattacharjee, K. Calvert, and E. Zegura. Congestion control and caching in CANES. In ICC’ 98, 1998.Google Scholar
- K. Calvert. Architectural framework for active networks. Available as http://www.cs.gatech.edu/projects/canes/papers/arch1-0.ps.gz, July 1999.
- H. Dandekar, A. Purtell, and S. Schwab. AMP: Experiences in building an exokernel-based platform for active networking. In Proc. of the DARPA Active Networks Conference and Exposition (DANCE), San Francisco, CA, May 2002.Google Scholar
- M. Dasen, G. Fankhauser, and B. Plattner. An Error Tolerant, Scalable Video Stream Encoding and Compression for Mobile Computing. In Proceedings of ACTS Mobile Summit 96, pages 762–771, November 1996.Google Scholar
- B. Ford, G. Back, G. Benson, J. Lepreau, A. Lin, and O. Shivers. The Flux OSKit: A substrate for OS and language research. In Proceedings of the 16th ACM Symposium on Operating Systems Principles, pages 38–51, St. Malo, France, October 1997.Google Scholar
- M. Hicks, P. Kakkar, J. T. Moore, C. A. Gunter, and S. Nettles. PLAN: A packet language for active networks. In Proceedings of the 3rd ACM SIGPLAN International Conference on Functional Programming Languages, pages 86–93, September 1998.Google Scholar
- A. W. Jackson, J. P. Sterbenz, M. N. Condell, and R. R. Hain. Active Monitoring and Control: The SENCOMM Architecture and Implementation. In Proc. of the DARPA Active Networks Conference and Exposition (DANCE), San Francisco, CA, May 2002.Google Scholar
- M. F. Kaashoek, D. R. Engler, G. R. Ganger, H. Briceno, R. Hunt, D. Mazieres, T. Pinckney, R. Grimm, J. Jannotti, and K. Mackenzie. Application performance and flexibility on exokernel systems. In Proceedings of the 16th ACM Symposium on Operating Systems Principles, pages 52–65, St. Malo, France, October 1997.Google Scholar
- S. Karlin and L. Peterson. VERA: An Extensible Router Architecture. Computer Networks, 38(3):277–293, 2002.Google Scholar
- S. Merugu, S. Bhattacharjee, E. Zegura, and K. Calvert. BOWMAN: A node OS for Active Networks. In Infocom 2000, March 2000.Google Scholar
- J. T. Moore, M. Hicks, and S. Nettles. Practical programmable packets. In Proceedings of the Twentieth IEEE Computer and Communication Society INFOCOM Conference, pages 41–50, April 2001.Google Scholar
- D. Mosberger and L. L. Peterson. Making Paths Explicit in the Scout Operating System. In Proceedings of the Second USENIX Symposium on, pages 153–167, Seattle, WA USA, October 1996.Google Scholar
- S. Murphy, E. Lewis, R. Puga, R. Watson, and R. Yee. Strong security for active networks. In Proceedings of the Open Architectures 2001 Conference, pages 1–8, Anchorage, AK USA, April 2001.Google Scholar
- X. Qie, A. Bavier, L. Peterson, and S. C. Karlin. Scheduling Computations on a Software-Based Router. In Proceedings of the ACM SIGMETRICS 2001 Conference, pages 13–24, June 2001.Google Scholar
- A. Rowstron and P. Druschel. Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems. In IFIP/ACM International Conference on Distributed Systems Platforms (Middleware), pages 329–350, November 2001.Google Scholar
- H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson. RTP: A transport protocol for real-time applications; RFC 1812. Internet Request for Comments, January 1996.Google Scholar
- N. Shalaby, Y. Gottlieb, and L. Peterson. Snow on Silk: A NodeOS in the linux kernel. Technical Report TR-641–02, Department of Computer Science, Princeton University, June 2002.Google Scholar
- N. Shalaby, L. Peterson, A. Bavier, Y. Gottlieb, S. Karlin, A. Nakao, X. Qie, T. Spalink, and M. Wawrzoniak. Extensible Routers for Active Networks. In Proc. of the DARPA Active Networks Conference and Exposition (DANCE), pages 92–116, San Francisco, CA, May 2002.Google Scholar
- J. M. Smith, K. L. Calvert, S. L. Murphy, H. K. Orman, and L. L. Peterson. Activating Networks: A Progress Report. IEEE Computer, 32(4):32–41, April 1999.Google Scholar
- P. Tullmann, M. Hibler, and J. Lepreau. Janos: a Java-oriented OS for Active Networks. IEEE Journal on Selected Areas in Communications, 19(3), March 2001.Google Scholar
- M. Wawrzoniak, N. Shalaby, and L. Peterson. Intelligent Devices as Symmetric Partners: Architecture and Implementation. Technical Report TR-642–02, Department of Computer Science, Princeton University, January 2002.Google Scholar
- D. Wetherall. Active network vision and reality: lessons from a capsule-based system. In Proceedings of the 17th ACM Symposium on Operating Systems Principles, pages 64–79, December 1999.Google Scholar
- D. Wetherall, J. Guttag, and D. Tennenhouse. ANTS: A toolkit for building and dynamically deploying network protocols. In IEEE OPENARCH 98, San Francisco, CA, April 1998.Google Scholar