A Language-Based Approach to Protocol Construction

The increasing availability of high-speed LANs is fueling interest in user-level network architectures. Such architectures provide applications with direct access to the network interface, thereby allowing network protocols to be moved to user-level and specialized for various applications. As a result, the construction of efficient yet flexible network protocols that have been tailored for specific application domains has become a new challenge. Flexibility is typically addressed by protocol layering techniques such as those available in the x-kernel, but layering often adds to message passing overheads. This thesis presents a language-based framework for quickly and easily constructing correct and modular protocols without sacrificing performance. The framework has been used to implement multiple protocols (e.g., Horus and Active Messages) that have been subjected to formal validation techniques to detect errors in the protocol logic and then compiled to efficient executable code that shows performance better than or comparable to corresponding hand-optimized versions in C.

[1]  Thorsten von Eicken,et al.  Low-Latency Communication on the IBM RISC System/6000 SP , 1996, Proceedings of the 1996 ACM/IEEE Conference on Supercomputing.

[2]  David Mosberger,et al.  Analysis of techniques to improve protocol processing latency , 1996, SIGCOMM 1996.

[3]  Robbert van Renesse,et al.  Optimizing layered communication protocols , 1997, Proceedings. The Sixth IEEE International Symposium on High Performance Distributed Computing (Cat. No.97TB100183).

[4]  Walid Dabbous,et al.  Generating efficient protocol code from an abstract specification , 1996, SIGCOMM '96.

[5]  Kai Li,et al.  Virtual-Memory-Mapped Network Interfaces , 1995, IEEE Micro.

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

[7]  David D. Clark,et al.  Architectural considerations for a new generation of protocols , 1990, SIGCOMM '90.

[8]  Chris J. Scheiman,et al.  Experience with active messages on the Meiko CS-2 , 1995, Proceedings of 9th International Parallel Processing Symposium.

[9]  Martin Peschke,et al.  Design and Validation of Computer Protocols , 2003 .

[10]  Walid Dabbous,et al.  Generating efficient protocol code from an abstract specification , 1996, SIGCOMM 1996.

[11]  Robbert van Renesse,et al.  Horus: a flexible group communication system , 1996, CACM.

[12]  Peter Lee,et al.  Advanced Languages for Systems Software: The Fox Project in 1994 , 1994 .

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

[14]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

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

[16]  Seth Copen Goldstein,et al.  Active messages: a mechanism for integrating communication and computation , 1998, ISCA '98.