Linguistic support for controlling protocol execution

Yen-Min Huang, Chinya V. Ravishankar · 2002

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.>

Read the paper · More papers on PaperTik