Title :
Linguistic support for controlling protocol execution
Author :
Huang, Yen-Min ; Ravishankar, Chinya V.
Author_Institution :
IBM Corp., Research Triangle Park, NC, USA
Abstract :
Implementing efficient communication protocols is an important task in building distributed systems, but is complicated by the difficulties of dealing with complex multi-thread interactions and timing-related bugs. The paper describes Cicero, a set of language constructs designed to alleviate these difficulties. Cicero uses the notion of event patterns (C. V Ravishankar and R. Finkel, 1989) to help programmers build robust protocol implementations. Event patterns provide structure for controlling synchrony, asynchrony, and concurrency in protocol execution, and also allow implementers to exploit parallelism of varying grains. Event patterns can be translated into other formal models, so that existing verification techniques may be used. Our prototype implementation indicates that the total overhead imposed by event patterns accounts for less than 5% of the overall latency for protocols above the transport layer on single-processor implementations
Keywords :
concurrency control; high level languages; parallel programming; protocols; Cicero; asynchrony; communication protocols; complex multi-thread interactions; concurrency; distributed systems; event patterns; formal models; language constructs; linguistic support; parallelism; programmers; protocol execution control; robust protocol implementations; single-processor implementations; synchrony; timing-related bugs; verification techniques; Buildings; Communication system control; Computer bugs; Concurrent computing; Control system synthesis; Multicast protocols; Programming profession; Prototypes; Robustness; Transport protocols;
Conference_Titel :
Distributed Computing Systems, 1994., Proceedings of the 14th International Conference on
Conference_Location :
Pozman
Print_ISBN :
0-8186-5840-1
DOI :
10.1109/ICDCS.1994.302472