Programming Distributed SystemsSilicon 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 |
278 | |
Alte ediții - Afișează-le pe toate
Termeni și expresii frecvente
abstract data types algorithm alpha alpha-beta search Amoeba Amoeba RTS array asynchronous message passing atomic transactions block boolean branch-and-bound Cited on pages clause Communication and synchronization compiler Concurrent Prolog contains CPUs created data structures described descriptor discussed distributed computing Distributed Computing Systems distributed data structures distributed operating system distributed programming distributed systems efficient entry evaluated example executed fault tolerance function global graph guard hardware implementation input integer IntObject iteration languages for distributed Linda manager mechanism message passing Modula-2 module multicast RTS multiple multiprocessor node object type object-oriented occam optimization Orca Orca programs overhead parameters PARLOG partial failures pointer primitives problem Proc processors programming language Prolog Remote Procedure Call replicated run time system select statement semantics sender sending sequential server shared memory shared object shared variables Shared-memory RTS slave process specification task tion Tuple Space update protocol write operations
Referințe la această carte
Programming Environments for Massively Parallel Distributed Systems: Working ... Karsten M. Decker,René M. Rehmann Previzualizare limitată - 1994 |
Practical Parallel Rendering Alan Chalmers,Timothy A. Davis,Erik Reinhard Nu există previzualizare disponibilă - 2002 |