14th International Conference on Distributed Computing Systems (1994)
June 21, 1994 to June 24, 1994
Yen-Min Huang , IBM Corp., Research Triangle Park, NC, USA
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.<
protocols, concurrency control, high level languages, parallel programming
Yen-Min Huang and C. Ravishankar, "Linguistic support for controlling protocol execution," 14th International Conference on Distributed Computing Systems(ICDCS), Pozman, Poland, 1994, pp. 581-588.