This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: 17th ACM Symposium on Operating Systems Principles (SOSP ’99) Published as Operating Systems Review , 34 (5):80–92, Dec. 1999 Building reliable, high-performance communication systems from components Xiaoming Liu, Christoph Kreitz, Robbert van Renesse, Jason Hickey, Mark Hayden, Kenneth Birman, Robert Constable 1 Department of Computer Science Cornell University, Ithaca, NY 14850 xliu,kreitz,rvr,ken,[email protected], [email protected], [email protected] Abstract Although building systems from components has attractions, this approach also has problems. Can we be sure that a cer- tain configuration of components is correct? Can it perform as well as a monolithic system? Our paper answers these questions for the Ensemble communication architecture by showing how, with help of the Nuprl formal system, configu- rations may be checked against specifications, and how op- timized code can be synthesized from these configurations. The performance results show that we can substantially re- duce end-to-end latency in the already optimized Ensemble system. Finally, we discuss whether the techniques we used are general enough for systems other than communication systems. 1 Introduction Building systems from components has many attractions. First, it can be easier to design, develop, test, and optimize individual components of limited functionality than when the same functionality is embedded within a large mono- lithic system. Second, systems built from components may be more readily adapted and tuned for new environments than monolithic systems. Third, component-based systems may be extended at run-time with new components, facilitat- 1 The current address of J. Hickey is California Institute of Tech- nology, CS Dept., M/S 256-80, Pasadena, CA 91125. The cur- rent address of M. Hayden is Compaq SRC, 130 Lytton Ave., Palo Alto, CA 94301. This work is supported in part by ARPA/ONR grant N00014-92-J-1866, ARPA/RADC grants F30602-96-1-0317 and F30602-98-2-0198, and NSF grant EIA 97-03470. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advan- tage, and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. SOSP-17 12/1999 Kiawah Island, SC c circlecopyrt 1999 ACM 1-58113-140-2/99/0012. . . $5.00 ing evolution. And components can be individually formally specified and verified more easily, allowing safety-critical applications to be synthesized from such components. The component-based approach has long been used suc- cessfully by VLSI designers. Yet, realizing the development of an efficient and correct software system from components has been difficult. One problem is that the abstraction barri- ers between the components impose high overheads arising from additional function calls, poor locality of data and code...
View Full Document
- Fall '08
- protocol stack