Send-receive considered harmful
- 1 January 2004
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 26 (1) , 47-56
- https://doi.org/10.1145/963778.963780
Abstract
During the software crisis of the 1960s, Dijkstra's famous thesis "goto considered harmful" paved the way for structured programming. This short communication suggests that many current difficulties of parallel programming based on message passing are caused by poorly structured communication, which is a consequence of using low-level send-receive primitives. We argue that, like goto in sequential programs, send-receive should be avoided as far as possible and replaced by collective operations in the setting of message passing. We dispute some widely held opinions about the apparent superiority of pairwise communication over collective communication and present substantial theoretical and empirical evidence to the contrary in the context of MPI (Message Passing Interface).Keywords
This publication has 10 references indexed in Scilit:
- TURING UNIVERSALITY OF RECURSIVE PATTERNS FOR PARALLEL PROGRAMMINGParallel Processing Letters, 2002
- Toward formally-based design of message passing programsIEEE Transactions on Software Engineering, 2000
- MagPIePublished by Association for Computing Machinery (ACM) ,1999
- Single-Message vs. Batch CommunicationPublished by Springer Nature ,1999
- Structural properties of hypertextPublished by Association for Computing Machinery (ACM) ,1998
- On Concurrent ProgrammingPublished by Springer Nature ,1997
- Towards efficiency and portabilityPublished by Association for Computing Machinery (ACM) ,1996
- BSP vs LogPPublished by Association for Computing Machinery (ACM) ,1996
- Letters to the editor: go to statement considered harmfulCommunications of the ACM, 1968
- Flow diagrams, turing machines and languages with only two formation rulesCommunications of the ACM, 1966