Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Arvind and Gostelow, K.P., “The U Interpreter”, IEEE Computer, vol. 15, no. 2, pp. 42–49, Feb. 1982.
Back, R.J.R, Ekslund, P., and Kurki-Suonia, R., “A Fair and Efficient Implementation of CSP with Output Guards”, Technical Report, Ser. A, No. 38, Abo Akademic, Finland, 1984.
Bagrodia, R., “A Distributed Algorithm to Implement the Generalized Alternative Command in CSP”, In: Proc. of the 6th International Conference on Distributed Computing Systems, pp. 422–427, 1986.
Bagrodia, R., “Synchronization of Asynchronous Processes in CSP”, ACM Transactions on Programming Languages and Systems, vol. 11, no. 4, pp. 585–597, 1989.
Barahona, P.M.C.C., and Gurd, J.R., “Processor Allocation in a Multi-ring Data Flow Machine,” Journal of Parallel and Distributed Computing, vol. 3, no. 3, pp. 305–327, 1986.
Bernstein, A.J., “Output Guards and Nondeterminism in Communicating Sequential Processes”, ACM Transactions on Programming Language and Systems, vol. 2, no. 2, pp. 234–238, 1980.
Buckley, G.N. and Silberschatz, A., “An Effective Implementation for the Generalized Input-Output Construct of CSP”, ACM Transactions on Programming Languages and Systems, vol. 5, no. 2, pp. 223–235, 1983.
Davis, A.L. and Keller, R.M., “Data Flow Program Graphs”, IEEE Computer, vol. 15, no. 2, pp. 26–41, Feb. 1982.
Francez, N., Fairness, Springer-Verlag, New York, 1986.
Fujimoto, R.N. and Hwa-chung Feng, “A Shared Memory Algorithm and Proof for the Generalized Alternative Construct in CSP”, International Journal of Parallel Programming, vol. 16, no. 3, pp. 215–241, 1987.
Gottlieb, A., Grishman, R., Kruskal, C.P., McAuliffe, Rudolph, L., and Snir, M., “The NYU Ultracomputer — Designing an MIMD Shared Memory Parallel Computer”, IEEE Transactions on Computers, vol. 0–32, no. 2, pp. 175–189, 1983.
Govindarajan, R. and Yu. S, “Attempting Guards in Parallel: A Data Flow Approach to Execute Generalized Guarded Commands”, Technical Report # 273, Department of Computer Science, University of Western Ontario, London, May 1990.
Gurd, J.R., Watson, I., and Kirkham, C.C., “The Manchester Prototype Data Flow Computer”, Communications of the ACM, vol. 28, no. 1, pp. 34–52, 1985.
Hoare, C.A.R., “Communicating Sequential Processes”, Communications of the ACM, vol. 21, no. 8, pp. 666–677, 1978.
Kieburtz, R.B. and Silberschatz, A., “Comments on Communicating Sequential Processes”, ACM Transactions on Programming Language and Systems, vol.l, no. 2, pp. 218–225, 1979.
Owicki, S. and Lamport, L., “Proving Liveness Properties of Concurrent Programs”, ACM Transactions on Programming Languages and Systems, vol. 6, no. 2, pp. 455–495, 1982.
Patnaik, L.M. and Basu, J., “Two Tools for Interprocess Communication in Distributed Data Flow Systems”, The Computer Journal, vol. 29, no. 6, pp. 506–521, 1986.
Ramesh, S., “A New Implementation of CSP with Output Guards” In: Proc. of the 7th International Conference on Distributed Computing Systems, pp. 266–273, 1987.
Reed, D.A., Malony, A.D., and McCredie, B.D., “Parallel Discrete Event Simulation: A Shared Memory Approach”, In: Proc. of the ACM SIGMETRIC S Conference on Measuring and Modeling Computer Systems, vol. 15, no.1, pp. 36–38, May 1987.
Silberschatz, A., “Communication and Synchronization in Distributed Systems” IEEE Transactions on Software Engineering, vol.SE-5, no. 6, pp. 542–546, Nov.1979.
Treleaven, P.C., Brownbridge, D.R., and Hopkins, R.P., “Data-Driven and Demand-Driven Architecture”, Computing Surveys, vol. 14, no. 1, pp. 93–143, Mar. 1982.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Govindarajan, R., Yu, S. (1991). Data Flow Implementation of Generalized Guarded Commands. In: Aarts, E.H.L., van Leeuwen, J., Rem, M. (eds) Parle ’91 Parallel Architectures and Languages Europe. Lecture Notes in Computer Science, vol 505. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-25209-3_25
Download citation
DOI: https://doi.org/10.1007/978-3-662-25209-3_25
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-23206-4
Online ISBN: 978-3-662-25209-3
eBook Packages: Springer Book Archive