A Distributed Protocol for Channel-Based Communication with Choice

Recent attempts at incorporating concurrency into functional languages have identified synchronous communication via shared channels as a promising primitive. An additional useful feature found in many proposals is a nondeterministic choice operator. Similar in nature to the CSP alternative command, this operator allows different possible actions to be guarded by sends or receives. Choice is difficult to implement in a distributed environment because it requires offering many potential communications but closing only one. In this paper we present the first distributed, deadlock-free algorithm for choice.

Keywords: Distributed protocols, channels, synchronous communication, choice operator, CSP alternative command.


Fritz Knabe <knabe@cs.virginia.edu>
Last modified: Thu Jan 30 11:29:12 EST 2003