Data Flow Implementation of Generalized Guarded Commands

Earlier approaches to execute generalized alternative/repetitive commands of Communicating Sequential Processes (CSP) attempt the selection of guards in a sequential order. Also, these implementations are based on either shared memory or message passing multiprocessor systems, which exploit parallelism only among the processes of a CSP program. In contrast, we propose a data flow implementation for CSP with generalized guarded commands in which both inter-process and intra-process concurrencies are exploited. A significant feature of our implementation is that it attempts the selection of guards of a process in parallel. A simulated model empirically demonstrates correctness properties, namely ‘safety’ and ‘liveness’, of our implementation. The simulation experiments are also helpful in obtaining certain efficiency and fairness parameters of the implementation.

[1]  Abraham Silberschatz,et al.  An Effective Implementation for the Generalized Input-Output Construct of CSP , 1983, TOPL.

[2]  Arvind,et al.  The U-Interpreter , 1982, Computer.

[3]  Ian Watson,et al.  The Manchester prototype dataflow computer , 1985, CACM.

[4]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.

[5]  Lalit M. Patnaik,et al.  Two Tools for Interprocess Communication in Distributed Data-Flow Systems , 1986, Comput. J..

[6]  John R. Gurd,et al.  Processor Allocation in a Multi-ring Dataflow Machine , 1986, J. Parallel Distributed Comput..

[7]  Ralph Grishman,et al.  The NYU Ultracomputer—Designing an MIMD Shared Memory Parallel Computer , 1983, IEEE Transactions on Computers.

[8]  Abraham Silberschatz,et al.  Communication and Synchronization in Distributed Systems , 1979, IEEE Transactions on Software Engineering.

[9]  Robert M. Keller,et al.  Data Flow Program Graphs , 1982, Computer.

[10]  Arthur J. Bernstein,et al.  Output Guards and Nondeterminism in “Communicating Sequential Processes” , 1980, TOPL.

[11]  Rajive L. Bagrodia,et al.  Synchronization of asynchronous processes in CSP , 1989, ACM Trans. Program. Lang. Syst..

[12]  Abraham Silberschatz,et al.  Comments on “Communicating Sequential Processes” , 1979, TOPL.

[13]  Rajive L. Bagrodia A Distributed Algorithm to Implement the Generalized Alternative Command of CSP , 1986, ICDCS.

[14]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[15]  Allen D. Malony,et al.  Parallel discrete event simulation: a shared memory approach , 1987, SIGMETRICS '87.

[16]  Richard P. Hopkins,et al.  Data-Driven and Demand-Driven Computer Architecture , 1982, CSUR.