Programming Distributed Systems

Coperta unu
Silicon Press, 1990 - 282 pagini
 

Cuprins

INTRODUCTION
1
11 Distributed computing systems
2
12 Classes of distributed applications
5
122 Faulttolerant applications
6
124 Inherently distributed applications
7
14 Languages for distributed programming
8
15 Overview of our research
12
152 Relation with other projects
14
511 Implicit versus explicit parallelism
113
512 Implicit versus explicit communication
114
513 Implicit versus explicit handling of partial failures
116
52 Sharing data in distributed systems
117
53 A new model based on logically shared data
121
532 Mutual exclusion synchronization
122
533 Condition synchronization
124
534 Comparison with other models
125

153 Organization of the book
15
DISTRIBUTED PROGRAMMING WITHOUT LANGUAGE SUPPORT
17
21 Operating system support for distributed programming
18
212 Interprocess communication and synchronization
19
213 Partial failure
20
the Amoeba distributed operating system
21
23 Parallel branchandbound on Amoeba
22
231 A parallel branchandbound algorithm
23
232 Implementation of parallel TSPon Amoeba
24
233 Discussion
26
24 Parallel alphabeta search on Amoeba
28
241 A parallel alphabeta search algorithm
29
243 Discussion
31
25 Evaluation
32
251 Parallelism
33
253 Handling partial failures
34
254 Other issues
35
LANGUAGE SUPPORT FOR PROGRAMMING DISTRIBUTED SYSTEMS
37
31 Parallelism
38
311 Expressing parallelism
40
312 Mapping parallel computations onto physical processors
44
32 Interprocess communication and synchronization
46
321 Message passing
47
322 Data sharing
52
323 Expressing and controlling nondeterminism
57
33 Partial failure
61
332 Atomic transactions
63
333 Transparent fault tolerance
64
LANGUAGES FOR PROGRAMMING DISTRIBUTED SYSTEMS
65
41 Languages with logically distributed address spaces
67
412 Asynchronous message passing
70
413 Rendezvous
73
414 Remote procedure call
76
415 Multiple communication primitives
78
416 Objectbased languages
80
417 Atomic transactions
83
42 Languages with logically shared address spaces
87
422 Parallel logic languages
89
423 Distributed data structures
93
43 Evaluation
95
432 Communication and synchronization
99
433 Fault tolerance
102
434 Integration of sequential and distributed programming
105
435 Complexity of the language design
107
436 Type security
108
44 Conclusions
110
THE SHARED DATAOBJECT MODEL
112
54 A language based on the shared dataobject model
128
542 Processes and procedures
129
543 Abstract data types
132
544 Data structures
141
545 Generic abstract data types
147
546 Program structure
151
IMPLEMENTATION
153
62 Compiler and run time system
155
631 Replication of shared dataobjects
156
632 The inconsistency problem
158
633 Consistent update protocols for shared dataobjects
161
634 Summary
169
65 Management of data structures
170
651 Descriptors
171
652 Implementation of data structures
174
66 Implementation of the compiler
177
661 Structure of the Orca compiler
178
663 The compiler front end
181
664 Compiler optimizations
182
67 Implementations of the run time system
184
671 The sharedmemory run time system
185
672 A distributed run time system using reliable multicast
187
673 A distributed run time system on top of Amoeba
189
EXAMPLE PROGRAMS AND THEIR PERFORMANCE
192
71 Notes on the performance measurements
193
712 Computing speedups
194
713 The measurements
196
72 Matrix multiplication
197
73 The allpairs shortest paths problem
199
74 Branchandbound
203
75 Game tree search
208
76 Successive overrelaxation
211
77 A chess problem solver
214
78 Discussion
216
CONCLUSIONS
217
82 Conclusions and future research
221
Matrix multiplication
222
The allpairs shortest paths problem
225
The traveling salesman problem
229
Alphabeta search
234
Successive overrelaxation
240
Performance of the Orca programs
246
Performance of the CAmoeba programs
250
REFERENCES
252
INDEX
278
Drept de autor

Alte ediții - Afișează-le pe toate

Termeni și expresii frecvente

Informații bibliografice