Graphical Construction of Parallel Programs
Abstract
Parallel programming is not difficult, as the programs build up their complex behaviours in a similar way to the real world (i.e through the simple interaction of independent and simple entities). The parallel system engineer needs, however, a systematic method to decomposing the networks into independent ones or composing existing processes to form new networks. In this paper, we introduce a technique for the graphical construction of hierarchical networks (or configurations) of processes. The technique focuses on the concept of templates which define reusable patterns of communication and synchronisation for processes. We introduce a set of graphical rules based on the equivalence between processes, more specifically templates, and networks (configurations) of templates. The rules can be used to decompose networks of processes by substituting a single process for an equivalent sub-network of processes, or to abstract a sub-network of processes as a single process in order to simpl...
Key takeaways
AI
AI
- Graphical rules facilitate the hierarchical construction and decomposition of parallel program configurations using templates.
- Templates IO-SEQ and IO-PAR define specific communication and synchronization patterns for process behavior.
- The concept of p-equivalence simplifies verification of process interactions within configurations.
- Abstraction reduces complexity by allowing a configuration of processes to be represented as a single template.
- The paper presents methods for ensuring deadlock-freedom through compositional proofs in parallel program design.
References (14)
- R. Milner. Flowgraphs and ow algebras. Journal of ACM, 26(4):794{818, October 1979.
- K. G. Shin D. Peng. Modeling of concurrent task execution in a distributed system for real-time control. IEEE Transactions on Computers, C-36(4):500{516, April 1987.
- J. Kramer, J. Magee, and K. Ng. Graphical con guration programming: The struc- tural description, construction and evolution of software systems using graphics. IEEE Computer, 22(10):53{65, October 1989.
- T. Bolognesi. A graphical composition theorem for network of LOTOS processes. In 10th Int. Conf. on Distributed Computer Systems, pages 88{95, Paris, France, May 28 { June 1 1990. IEEE.
- J. Parrow. Structural and behavioural equivalences of networks. ICALP 90, 1990.
- J. Parrow. The expressive power of simple parallelism. In PARLE'89, pages 389{405. Springer-Verlag, 1989.
- C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.
- R. Milner. Communication and Concurrency. Prentice-Hall, 1989.
- R. J. A. Buhr and R. S. Casselman. Architectures with pictures. In A. Paepcke, editor, OOPSLA'92: Conf. on Object-Oriented Programming Systems, Languages and Applications. ACM Press, October 1992.
- G. R. R. Justo. Con guration-oriented Development of Parallel Programs. PhD thesis, University of Kent at Canterbury, England, 1993.
- G. R. R. Justo and P. R. F. Cunha. Deadlock-free con guration programming. In 2nd Int. Workshop on Con gurable Distributed Systems, SEI, Carnegie Mellow University. IEEE Computer Society, March 1994.
- P. Welch, G. R. R. Justo, and C. Willcock. High-level paradigms for deadlock-free high-performance systems. In R. Grebe, J. Hektor, S. C. Hilton, M. R. Jane, and P. H. Welch, editors, Transputer Applications and Systems '93, volume 1, pages 981{1004. IOS Press, September 1993.
- P. H. Welch. Emulating digital logic using transputer networks (very high paral- lelism = simplicity = performance). In Parallel Architecture and languages Europe, volume 1, pages 357{373. Springer-Verlag, June 1987. LNCS 258.
- J. Zwiers. Compositionality, Concurrency and Partial Correctness: Proof Theories For Network of Processes and Their Relationship. Springer-Verlag, 1987.