|
CMU-CS-98-156
Computer Science Department
School of Computer Science, Carnegie Mellon University
CMU-CS-98-156
On the Kahn Principle and Fair Networks
Stephen Brookes
August 1998
This is an extended version of a paper presented at
MFPS'98. Also submitted to Theoretical Computer
Science.
CMU-CS-98-156.ps
CMU-CS-98-156.pdf
Keywords: Communicating processes, dataflow, networks,
denotational semantics, fairness, safety, liveness, non-determinism,
parallel programming
The Kahn Principle states that each node in an asynchronous deterministic
network computes a continuous function from input histories to output
histories, and the behavior of the network can be characterized as a
least fixed point. Fairness plays a vital but implicit role: the Kahn
Principle is only sound when network execution is assumed to be (weakly)
fair. Kahn's model does not extend easily to non-deterministic networks,
since the obvious generalization to continuous relations on histories is
not compositional. Previous attempts to model non-deterministic networks
have sought to remain faithful to Kahn's spirit by retaining some form of
continuity assumption; these approaches typically apply only to a limited
class of network and do not deal adequately with fairness. We argue that
for non-deterministic networks the assumption of continuity is not
operationally justifiable, whereas fairness is still vital. We provide a
compositional model for fair non-deterministic networks, based
on trace sets which can be regarded as history relations "extended in time"
to allow for the possibility of interference during execution. For a
deterministic network one can extract the Kahn-style history function from
the network's trace set, showing that our model is a natural generalization
of Kahn's.
49 pages
|