|
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
|
Gregory R. Andrews , Michael Coffin , Irving Elshoff , Kelvin Nilson , Gregg Townsend , Ronald A. Olsson , Titus Purdin, An overview of the SR language and implementation, ACM Transactions on Programming Languages and Systems (TOPLAS), v.10 n.1, p.51-86, Jan. 1988
[doi> 10.1145/42192.42324]
|
 |
8
|
M. Annaratone , E. Arnould , T. Gross , H. T. Kung , M. S. Lam, Warp architecture and implementation, Proceedings of the 13th annual international symposium on Computer architecture, p.346-356, June 02-05, 1986, Tokyo, Japan
|
| |
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
|
Geoffrey C. Fox , Mark A. Johnson , Gregory A. Lyzenga , Steve W. Otto , John K. Salmon , David W. Walker, Solving problems on concurrent processors. Vol. 1: General techniques and regular problems, Prentice-Hall, Inc., Upper Saddle River, NJ, 1988
|
 |
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
|
M. W. Alford , J. P. Ansart , G. Hommel , L. Lamport , B. Liskov , G. P. Mullery , F. B. Schneider, Distributed systems: methods and tools for specification. An advanced course, Springer-Verlag New York, Inc., New York, NY, 1985
|
| |
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
|
|
Matthew B. Dwyer , Lori A. Clarke , Kari A. Nies, A compact Petri net representation for concurrent programs, Proceedings of the 17th international conference on Software engineering, p.147-157, April 24-28, 1995, Seattle, Washington, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Imran Ahmad , Aneel Rahim , Adeel Javed , Khalid Haseeb , G. Qasim, A comparative study of parallelization paradigms, Proceedings of the 7th WSEAS International Conference on Software Engineering, Parallel and Distributed Systems, p.89-94, February 20-22, 2008, Cambridge, UK
|
|
|
|
INDEX TERMS
Primary Classification:
C.
Computer Systems Organization
C.2
COMPUTER-COMMUNICATION NETWORKS
C.2.4
Distributed Systems
Subjects:
Distributed applications
Additional Classification:
C.
Computer Systems Organization
C.1
PROCESSOR ARCHITECTURES
C.1.2
Multiple Data Stream Architectures (Multiprocessors)
Subjects:
Multiple-instruction-stream, multiple-data-stream processors (MIMD)
D.
Software
D.1
PROGRAMMING TECHNIQUES
D.1.3
Concurrent Programming
Subjects:
Distributed programming
D.4
OPERATING SYSTEMS
D.4.1
Process Management
Subjects:
Concurrency
D.4.4
Communications Management
Subjects:
Message sending
General Terms:
Algorithms,
Design
Keywords:
clients and servers,
distributed and parallel algorithms,
distributed programming,
distributed programming methods,
heartbeat algorithms,
networks of filters,
patterns for interprocess communication,
probe/echo algorithms,
replicated servers,
token-passing algorithms
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...
|