ACM Home Page
Please provide us with feedback. Feedback
Paradigms for process interaction in distributed programs
Full text PdfPdf (3.77 MB)
Source ACM Computing Surveys (CSUR) archive
Volume 23 ,  Issue 1  (March 1991) table of contents
Pages: 49 - 90  
Year of Publication: 1991
ISSN:0360-0300
Author
Gregory R. Andrews  Univ. of Arizona, Tuscon
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 24,   Downloads (12 Months): 163,   Citation Count: 32
Additional Information:

abstract   references   cited by   index terms   review   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/103162.103164
What is a DOI?

ABSTRACT

Distributed computations are concurrent programs in which processes communicate by message passing. Such programs typically execute on network architectures such as networks of workstations or distributed memory parallel machines (i.e., multicomputers such as hypercubes). Several paradigms—examples or models—for process interaction in distributed computations are described. These include networks of filters, clients, and servers, heartbeat algorithms, probe/echo algorithms, broadcast algorithms, token-passing algorithms, decentralized servers, and bags of tasks. These paradigms are appliable to numerous practical problems. They are illustrated by solving problems, including parallel sorting, file servers, computing the topology of a network, distributed termination detection, replicated databases, and parallel adaptive quadrature. Solutions to all problems are derived in a step-wise fashion from a general specification of the problem to a concrete solution. The derivations illustrate techniques for developing distributed algorithms.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
AFEK, Y., AWERBUCH, B, AND GAFNI, E. 1987. Applying static network protocols to dynamic networks. In Proceedings of the 28th Annual Symposium on Foundations of Computer Science IEEE Computer Society (Los Angeles, Oct.), pp. 358-370.
 
2
 
3
 
4
 
5
6
7
8
 
9
10
11
12
13
 
14
15
16
 
17
 
18
CHANG, E. J. H. 1982. Echo algomthms: Depth parallel operations on general graphs. IEEE Trans Softw. Eng. 8, 4 (Jul.), 391-401.
19
20
 
21
 
22
D~JKSTRA, E. W., AND SCHOLTEN, C. S. 1980. Termination detection in diffusing computations. Inf. Process. Lett. 11, 1 (Aug.), 1 4.
 
23
DIJKSTRA, E. W., FEIJEN, W. H. J., AND VAN GASTEREN, A. J. M. 1983. Derivation of a termination detection algorithm for distributed computation. Inf. Process. Lett. 16, 5 (JunO, 217-219.
 
24
ELSHOFF, I. J. P., AND ANDREWS, G. R. 1988. The development of two distributed algorithms for network topology. Tech. Rep. TR 88-13. Dept. of Computer Science, Univ. of Arizona.
25
 
26
27
 
28
GARCIA-MOLINA, H. 1982. Elections in a distributed computing system. IEEE Trans. Comput. C-31, 1 (Jan.), 48-59.
 
29
30
 
31
GENTLEMAN, W. M. 1981. Message passing between sequential processes: The reply primitive and the administrator concept. Softw. Pract. Exper. 11,435-466.
32
 
33
GRIT, D. H., AND McGRAw, J. R. 1985. Programming divide and conquer on a MIMD machine. Softw. Pract. Exper. 15, 1 (Jan.), 41-53.
34
 
35
36
37
38
 
39
LAMPORT, L. 1982. An assertional correctness proof of a distributed algorithm. Sci. Comput. Program. 2, 3 (Dec.), 175-206.
40
41
 
42
LELANN, G. 1977. Distributed systems: Towards a formal approach. In Proceedings of Information Processing 77. North-Holland Publishing Co., Amsterdam, pp. 155-160.
43
 
44
45
 
46
47
48
 
49
MITCHELL, J. G., MAYBURY, W., AND SWEET, R. 1979. Mesa language manual, version 5.0. Report CSL-79-3, Xerox Palo Alto Research Center, Palo Alto, Calif.
 
50
MORGAN, C. 1985. Global and logical time in distributed algorithms. Inf Process. Lett. 20, 4 (May), 189-194.
 
51
OWlCK~, S. ANU GRIES, D. 1976. An axiomatic proof technique for parallel programs. Acta Inf. 6, 319-340.
 
52
 
53
RANA, S. P. 1983. A distributed solution of the distributed termination problem. Inf. Process. Lett. 17, 1 (Jul.), 43-46.
 
54
 
55
 
56
57
 
58
SANDBERG, e., GOLDBERG, D. KLEIMAN, S., WALSH, D., AND LYON, B. 1985. Design and implementation of the Sun network filesystem. In Proceedings of the Usenix Conference. (Jun~). pp. 119-130.
59
 
60
SCHNEIDER, F. B. 1980. Ensuring consistency in a distributed database system by use of distributed semaphores. In Proceedings of International Symposium on Distributed Databases. (Versailles, France, Mar.), pp. 183-189.
61
 
62
 
63
 
64
SmSERSCHATZ, A 1979. Communication and synchronization m distributed systems. IEEE Trarzs. Softw. Engr. SE 5, 6 (Nov.), 542-546.
65
 
66
67
 
68
THOMAS, R. H., AND CROW~HER, W. 1988. The uniform system: An approach to runtime support for large scale shared memory parallel processors. In Proceedings of the 1988 International Conference on Parallel Processing. IEEE Computer Society (St. Charles, Illinois, Aug.), pp. 245-254.
 
69
THOMPSON, K. 1978. UNIX implementation. Bell Syst. Tech. J. 57, 6, part 2 (Jul.-Aug.), 1931-1946

CITED BY  32


REVIEW

"Martti J. Tienari : Reviewer"

Distributed algorithms are a novel field that sets intellectual challenges to computer scientists. The writer of this well-written survey is an active contributor to the field. The paper contains, in a condensed form, material published in a n  more...