English

Causing Communication Closure: Safe Program Composition with Reliable Non-FIFO Channels

Distributed, Parallel, and Cluster Computing 2009-09-29 v1

Abstract

A semantic framework for analyzing safe composition of distributed programs is presented. Its applicability is illustrated by a study of program composition when communication is reliable but not necessarily FIFO\@. In this model, special care must be taken to ensure that messages do not accidentally overtake one another in the composed program. We show that barriers do not exist in this model. Indeed, no program that sends or receives messages can automatically be composed with arbitrary programs without jeopardizing their intended behavior. Safety of composition becomes context-sensitive and new tools are needed for ensuring it. A notion of \emph{sealing} is defined, where if a program PP is immediately followed by a program QQ that seals PP then PP will be communication-closed--it will execute as if it runs in isolation. The investigation of sealing in this model reveals a novel connection between Lamport causality and safe composition. A characterization of sealable programs is given, as well as efficient algorithms for testing if QQ seals PP and for constructing a seal for a significant class of programs. It is shown that every sealable program that is open to interference on O(n2)O(n^2) channels can be sealed using O(n) messages.

Keywords

Cite

@article{arxiv.cs/0701064,
  title  = {Causing Communication Closure: Safe Program Composition with Reliable Non-FIFO Channels},
  author = {Kai Engelhardt and Yoram Moses},
  journal= {arXiv preprint arXiv:cs/0701064},
  year   = {2009}
}