User Customization of Virtual Network Interfaces with U-Net/SLE

We describe U-Net/SLE (Safe Language Extensions), a user-level network interface architecture which enables per-application customization of communication semantics through downloading of user extension applets, implemented as Java classfiles, to the network interface. This architecture permits applications to safely specify code to be executed within the NI on message transmission and reception. By leveraging the existing U-Net model, applications may implement protocol code at the user level, within the NI, or using some combination of the two. Our current implementation, using the Myricom Myrinet interface and a small Java Virtual Machine subset, obtains good performance, allowing host communication overhead to be reduced and improving the overlap of communication and computation during protocol processing.

[1]  Robert Sedgewick,et al.  Algorithms in C , 1990 .

[2]  P. Daniels The Unicode Standard: Worldwide Character Encoding, Version 1.0 , 1993 .

[3]  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.

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

[5]  Liwu Li,et al.  The Java Language , 1998 .

[6]  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.

[7]  J. E. Thornton Design of a Computer: The Control Data 6600 , 1970 .

[8]  Dawson R. Engler,et al.  ASHs: Application-specific handlers for high-performance messaging , 1996, SIGCOMM 1996.

[9]  Thorsten von Eicken,et al.  Low-Latency Communication over Fast Ethernet , 1996, Euro-Par, Vol. I.

[10]  David R. Cheriton,et al.  Application-controlled physical memory using external page-cache management , 1992, ASPLOS V.

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

[12]  Katherine Yelick,et al.  Introduction to Split-C , 1995 .

[13]  Robert Wahbe,et al.  Efficient software-based fault isolation , 1994, SOSP '93.

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

[15]  John K. Ousterhout,et al.  The Safe-Tcl Security Model , 1998, USENIX Annual Technical Conference.

[16]  Robert Grimm,et al.  Application performance and flexibility on exokernel systems , 1997, SOSP.

[17]  Bernard Tourancheau,et al.  Protocol design for high performance networking: a Myrinet experience , 1997 .

[18]  David Wetherall,et al.  Towards an active network architecture , 1996, CCRV.

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

[20]  Emerson W. Pugh,et al.  IBM's Early Computers , 1985 .

[21]  Frank Yellin,et al.  Inside the Java Virtual Machine , 1997 .

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

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

[24]  Brian N. Bershad,et al.  SPINE: a safe programmable and integrated network environment , 1998, ACM SIGOPS European Workshop.

[25]  Margo Seltzer,et al.  VINO: The 1994 Fall Harvest , 1994 .

[26]  Henri E. Bal,et al.  Challenging applications on fast networks , 1998, Proceedings 1998 Fourth International Symposium on High-Performance Computer Architecture.