SPINE: An Operating System for Intelligent Network Adapters

The emergence of fast, cheap embedded processors presents the opportunity for processing to occur on the network adapter. We are investigating how a system design incorporating such an intelligent network adapter can be used for applications that benefit from being tightly integrated with the network subsystem. We are developing a safe, extensible operating system, called SPINE, which enables applications to compute directly on the network adapter. We demonstrate the feasibility of our approach with two applications: a video client and an Internet Protocol router. As a result of our system structure, image data is transferred only once over the I/O bus and places no load on the host CPU to display video at aggregate rates exceeding 100 Mbps. Similarly, the IP router can forward roughly 10,000 packets per second on each network adapter, while placing no load on the host CPU. Based on our experiences, we describe three hardware features useful for improving performance. Finally, we conclude that offloading work to the network adapter can make sense, even using current embedded processor technology.

[1]  Richard P. Martin,et al.  Effects Of Communication Latency, Overhead, And Bandwidth In A Cluster Architecture , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[2]  Kees Verstoep,et al.  Performance of a High-Level Parallel Language on a High-Speed Network , 1997, J. Parallel Distributed Comput..

[3]  George C. Necula,et al.  Safe kernel extensions without run-time checking , 1996, OSDI '96.

[4]  Syam Gadde,et al.  Cheating the I/O Bottleneck: Network Storage with Trapeze/Myrinet , 1998, USENIX Annual Technical Conference.

[5]  Anna R. Karlin,et al.  Implementing global memory management in a workstation cluster , 1995, SOSP.

[6]  Thorsten von Eicken,et al.  Incorporating Memory Management into User-Level Network Interfaces , 1997 .

[7]  Michael Dahlin,et al.  Cooperative caching: using remote client memory to improve file system performance , 1994, OSDI '94.

[8]  Scott Pakin,et al.  High Performance Messaging on Workstations: Illinois Fast Messages (FM) for Myrinet , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[9]  Brian N. Bershad,et al.  An Extensible Protocol Architecture for Application-Specific Networking , 1996, USENIX Annual Technical Conference.

[10]  Jonathan M. Smith,et al.  Functional divisions in the Piglet multiprocessor operating system , 1998, EW 8.

[11]  David R. Cheriton,et al.  The VMP network adapter board (NAB): high-performance network communication for multiprocessors , 1988, SIGCOMM 1988.

[12]  Thu D. Nguyen,et al.  Scheduling policies to support distributed 3D multimedia applications , 1998, SIGMETRICS '98/PERFORMANCE '98.

[13]  Bernard Tourancheau,et al.  BIP: A New Protocol Designed for High Performance Networking on Myrinet , 1998, IPPS/SPDP Workshops.

[14]  Michael B. Jones,et al.  The Tiger Video Fileserver , 1996 .

[15]  M. L. Bailey,et al.  The x-chip: an experiment in hardware demultiplexing , 1992, IEEE Workshop on the Architecture and Implementation of High Performance Communication Subsystems.

[16]  Richard P. Martin,et al.  Assessing Fast Network Interfaces , 1996, IEEE Micro.

[17]  Gunnar Karlsson,et al.  Fast address look-up for internet routers , 1998, Broadband Communications.

[18]  Matt Welsh,et al.  User Customization of Virtual Network Interfaces with U-Net/SLE , 1998 .

[19]  Brian N. Bershad,et al.  Extensibility safety and performance in the SPIN operating system , 1995, SOSP.

[20]  Brian Zill,et al.  Protocol implementation on the Nectar Communication Processor , 1990, SIGCOMM 1990.

[21]  Chandramohan A. Thekkath,et al.  Petal: distributed virtual disks , 1996, ASPLOS VII.

[22]  Brian N. Bershad,et al.  Type‐safe casting , 1998, Softw. Pract. Exp..

[23]  David A. Patterson,et al.  Hardware Technology Trends and Database Opportunities, SIGMOD Conference 1998 Keynote Speech, Video , 1999, ACM SIGMOD Digit. Symp. Collect..

[24]  Greg Nelson,et al.  Systems programming in modula-3 , 1991 .

[25]  Brian N. Bershad,et al.  Safe Dynamic Linking in an Extensible Operating System , 1999 .

[26]  Peter Druschel,et al.  Lazy receiver processing (LRP): a network subsystem architecture for server systems , 1996, OSDI '96.

[27]  Brian N. Bershad,et al.  Type-Safe Casting , 1998, Softw. Pract. Exp..

[28]  Thorsten von Eicken,et al.  U-Net: a user-level network interface for parallel and distributed computing , 1995, SOSP.

[29]  K. K. Ramakrishnan,et al.  Performance Considerations in Designing Network Interfaces , 1993, IEEE J. Sel. Areas Commun..

[30]  Milon Mackey,et al.  An implementation of the Hamlyn sender-managed interface architecture , 1996, OSDI '96.

[31]  Douglas M. Pase,et al.  System programming in Modula-2 , 1985, SIGP.

[32]  Jonathan M. Smith,et al.  A high-performance host interface for ATM networks , 1991, SIGCOMM 1991.

[33]  Kai Li,et al.  UTLB: a mechanism for address translation on network interfaces , 1998, ASPLOS VIII.

[34]  Joseph D. Touch,et al.  Implementing the Internet Checksum in Hardware , 1996, RFC.

[35]  David A. Patterson,et al.  Computer Architecture: A Quantitative Approach , 1969 .

[36]  George C. Necula,et al.  The design and implementation of a certifying compiler , 1998, PLDI.

[37]  Bruce S. Davie A host-network interface architecture for ATM , 1991, SIGCOMM '91.

[38]  Seth Copen Goldstein,et al.  Active Messages: A Mechanism for Integrated Communication and Computation , 1992, [1992] Proceedings the 19th Annual International Symposium on Computer Architecture.

[39]  Peter Druschel,et al.  Experiences with a high-speed network adaptor: a software perspective , 1994, SIGCOMM 1994.

[40]  Sean Matthew Dorward,et al.  Inferno: la commedia interattiva , 1997 .