Compilation and Automatic Optimization
of Network Protocol Implementations
Grant Status

01 Sept 1998


Network software is hard to design, implement, debug, and maintain. This basic problem is compounded by heterogeneity and the need for high performance. Heterogeneity results in multiplying the amount of networking software that must be developed and maintained. To improve performance, networking software is often hand-crafted in an operating system kernel, where software is particularly hard to debug and maintain. Emerging high-speed networking technology, coupled with next generation multimedia applications, is resulting in increased demand for high performance and extremely flexible networking software. A fundamental theme of this proposal is that advances in network software can only be achieved by an approach that simultaneously considers programming ease, platform diversity, and performance.

This proposal investigates the use of compiler technology to rapidly prototype and automatically optimize complex protocol software. The result is network software that is easier to write, more portable, and more maintainable. Yet, with the appropriate automatic optimizations, the performance of such implementations should compare favorably to the performance of hand-crafted implementations.

Ron Cytron, Doug Schmidt, and George Varghese
Students supported
Andy Gokhale , Girish P. Chandranmenon , Mahesh Jayaram, Jonathan Franklin (REU Supplement), Dan Rosenstein (REU Supplement)

Prepared by Ron Cytron,
Prepared 7/97, Last Modified 7/97.