|
|
xiii | |
|
|
xvii | |
Foreword |
|
xix | |
Preface |
|
xxi | |
Warranty |
|
xxiii | |
|
1 Grid computing overview |
|
|
1 | (28) |
|
|
|
|
|
1 | (1) |
|
|
2 | (1) |
|
1.3 Classifying grid systems |
|
|
3 | (1) |
|
|
4 | (1) |
|
|
5 | (1) |
|
1.6 Grid computing projects |
|
|
6 | (16) |
|
1.6.1 Grid middleware (core services) |
|
|
6 | (5) |
|
1.6.2 Grid resource brokers and schedulers |
|
|
11 | (3) |
|
|
14 | (2) |
|
1.6.4 Grid programming environments |
|
|
16 | (2) |
|
|
18 | (4) |
|
|
22 | (1) |
|
|
23 | (1) |
|
|
24 | (5) |
|
2 Synchronization protocols for sharing resources in grid environments |
|
|
29 | (38) |
|
|
|
|
|
|
29 | (2) |
|
2.2 Token-based mutual exclusion algorithms |
|
|
31 | (5) |
|
|
31 | (2) |
|
2.2.2 Naimi-Trehel's algorithm |
|
|
33 | (1) |
|
2.2.3 Suzuki-Kasami's algorithm |
|
|
34 | (2) |
|
2.3 Mutual exclusion algorithms for large configurations |
|
|
36 | (3) |
|
2.3.1 Priority-based approach |
|
|
36 | (1) |
|
2.3.2 Composition-based approach |
|
|
37 | (2) |
|
2.4 Composition approach to mutual exclusion algorithms |
|
|
39 | (4) |
|
2.4.1 Coordinator processes |
|
|
41 | (2) |
|
2.5 Composition properties and its natural effects |
|
|
43 | (4) |
|
2.5.1 Filtering and aggregation |
|
|
43 | (2) |
|
2.5.2 Preemption and structural effects |
|
|
45 | (1) |
|
2.5.3 Natural effects of composition |
|
|
46 | (1) |
|
2.6 Performance evaluation |
|
|
47 | (15) |
|
2.6.1 Experiment parameters |
|
|
47 | (2) |
|
2.6.2 Performance results: composition study |
|
|
49 | (7) |
|
2.6.3 The impact of the grid architecture |
|
|
56 | (6) |
|
|
62 | (1) |
|
|
63 | (4) |
|
3 Data replication in grid environments |
|
|
67 | (34) |
|
|
|
|
67 | (1) |
|
|
68 | (8) |
|
3.2.1 Replication in databases |
|
|
69 | (1) |
|
3.2.2 Replication in peer-to-peer systems |
|
|
70 | (1) |
|
3.2.3 Replication in web environments |
|
|
71 | (1) |
|
3.2.4 Replication in data grids |
|
|
72 | (4) |
|
|
76 | (2) |
|
3.4 Selective-rank model for a replication system |
|
|
78 | (4) |
|
|
79 | (1) |
|
3.4.2 Estimating the availability of files |
|
|
80 | (1) |
|
|
80 | (2) |
|
3.5 Selective-rank replication algorithm |
|
|
82 | (3) |
|
3.5.1 Popularity of files |
|
|
82 | (1) |
|
3.5.2 Correlation of files |
|
|
82 | (1) |
|
3.5.3 MaxDAR optimizer algorithm |
|
|
83 | (2) |
|
|
85 | (9) |
|
|
87 | (1) |
|
3.6.2 Experimental results |
|
|
87 | (7) |
|
|
94 | (1) |
|
|
95 | (6) |
|
4 Data management in grids |
|
|
101 | (24) |
|
|
|
101 | (2) |
|
4.2 From data sources to databases to data sources |
|
|
103 | (1) |
|
4.3 Positioning the data management in grids within distributed systems |
|
|
104 | (2) |
|
4.4 Links with the other services of the middleware |
|
|
106 | (1) |
|
4.5 Problems and some solutions |
|
|
107 | (9) |
|
4.5.1 Data identification, indexing, metadata |
|
|
107 | (2) |
|
4.5.2 Data access, interoperability, query processing, transactions |
|
|
109 | (2) |
|
|
111 | (1) |
|
4.5.4 Placement, replication, caching |
|
|
112 | (1) |
|
4.5.5 Security: transport, authentication, access control, encryption |
|
|
113 | (2) |
|
|
115 | (1) |
|
4.6 Toward pervasive, autonomic and on-demand data management |
|
|
116 | (1) |
|
|
117 | (1) |
|
|
118 | (7) |
|
5 Future of grids resources management |
|
|
125 | (18) |
|
|
|
|
125 | (1) |
|
5.2 Several computing paradigms |
|
|
126 | (3) |
|
|
126 | (1) |
|
|
127 | (1) |
|
5.2.3 Autonomic computing |
|
|
127 | (1) |
|
|
128 | (1) |
|
5.3 Definition of cloud computing |
|
|
129 | (1) |
|
|
129 | (1) |
|
|
130 | (1) |
|
|
130 | (4) |
|
5.4.1 Three-level services |
|
|
130 | (2) |
|
|
132 | (2) |
|
5.5 Cloud resource management |
|
|
134 | (3) |
|
5.5.1 Comparison with grid systems |
|
|
134 | (1) |
|
|
135 | (1) |
|
5.5.3 Economy-oriented model |
|
|
136 | (1) |
|
5.6 Future direction of resource scheduling |
|
|
137 | (2) |
|
5.6.1 Scalable and dynamic |
|
|
138 | (1) |
|
5.6.2 Secure and trustable |
|
|
138 | (1) |
|
5.6.3 Virtual machines-based |
|
|
138 | (1) |
|
|
139 | (1) |
|
|
140 | (3) |
|
6 Fault-tolerance and availability awareness in computational grids |
|
|
143 | (34) |
|
|
|
|
|
|
|
143 | (3) |
|
6.2 Background and definitions |
|
|
146 | (3) |
|
6.2.1 Grid architecture and execution model |
|
|
147 | (1) |
|
|
148 | (1) |
|
6.2.3 Consistent system states |
|
|
148 | (1) |
|
6.3 Multi-objective scheduling for safety |
|
|
149 | (4) |
|
|
149 | (1) |
|
|
150 | (2) |
|
|
152 | (1) |
|
6.4 Stable memory-based protocols |
|
|
153 | (3) |
|
6.4.1 Log-based rollback recovery |
|
|
153 | (2) |
|
6.4.2 Checkpoint-based rollback recovery |
|
|
155 | (1) |
|
6.5 Stochastic checkpoint model analysis issues |
|
|
156 | (7) |
|
6.5.1 Completion time without fault tolerance |
|
|
157 | (2) |
|
6.5.2 Impact of checkpointing on the completion time |
|
|
159 | (4) |
|
|
163 | (5) |
|
6.6.1 Single process snapshot |
|
|
164 | (1) |
|
6.6.2 Fault-tolerance protocol implementations |
|
|
164 | (2) |
|
6.6.3 Implementation comparison |
|
|
166 | (2) |
|
|
168 | (2) |
|
|
170 | (7) |
|
7 Fault tolerance for distributed scheduling in grids |
|
|
177 | (30) |
|
|
|
|
177 | (2) |
|
7.2 Fault tolerance in distributed systems |
|
|
179 | (1) |
|
7.3 Distributed scheduling model |
|
|
180 | (3) |
|
7.3.1 MMS fault tolerance |
|
|
180 | (1) |
|
7.3.2 LMS/SMS fault tolerance |
|
|
181 | (1) |
|
|
182 | (1) |
|
7.4 Fault detection and repairing in the tree structure |
|
|
183 | (6) |
|
|
183 | (1) |
|
7.4.2 Algorithms description |
|
|
183 | (5) |
|
7.4.3 Messages treatment analysis |
|
|
188 | (1) |
|
7.5 Distributed scheduling algorithm |
|
|
189 | (2) |
|
7.5.1 Distributed dynamic scheduling algorithm with fault tolerance (DDFT) |
|
|
189 | (1) |
|
7.5.2 Algorithm fault tolerance issues |
|
|
190 | (1) |
|
7.6 SimGrid and simulation design |
|
|
191 | (1) |
|
|
192 | (7) |
|
|
193 | (1) |
|
7.7.2 Comparison with centralized scheduling |
|
|
193 | (4) |
|
7.7.3 Fault tolerance experiments |
|
|
197 | (1) |
|
|
197 | (2) |
|
|
199 | (1) |
|
|
200 | (1) |
|
|
201 | (6) |
|
|
207 | (28) |
|
|
|
|
|
207 | (1) |
|
|
208 | (3) |
|
8.3 Heuristics for broadcasting |
|
|
211 | (9) |
|
8.3.1 Basic approaches for broadcasting in homogeneous environments |
|
|
212 | (1) |
|
8.3.2 Advanced approaches for heterogeneous clusters |
|
|
213 | (1) |
|
8.3.3 Grid aware heuristics |
|
|
214 | (1) |
|
8.3.4 New approach for broadcasting in clusters and hyper clusters |
|
|
215 | (5) |
|
8.4 Related work and related methods |
|
|
220 | (10) |
|
8.4.1 Broadcasting and dynamic programming |
|
|
220 | (3) |
|
8.4.2 Multi-criteria approach |
|
|
223 | (5) |
|
8.4.3 Broadcast for clusters |
|
|
228 | (2) |
|
8.4.4 Broadcast and heterogeneous systems |
|
|
230 | (1) |
|
|
230 | (2) |
|
|
232 | (3) |
|
9 Load balancing algorithms for dynamic networks |
|
|
235 | (38) |
|
|
|
|
|
235 | (2) |
|
9.2 A taxonomy for load balancing |
|
|
237 | (3) |
|
9.3 Distributed load balancing algorithms for static networks |
|
|
240 | (10) |
|
9.3.1 Network model and performance measures |
|
|
240 | (2) |
|
|
242 | (4) |
|
|
246 | (2) |
|
|
248 | (2) |
|
9.3.5 Second order algorithms |
|
|
250 | (1) |
|
9.4 Distributed load balancing algorithms for dynamic networks |
|
|
250 | (7) |
|
9.4.1 Adaption to dynamic networks |
|
|
251 | (1) |
|
9.4.2 Generalized adaptive exchange (GAE) |
|
|
251 | (4) |
|
9.4.3 Illustrating the generalized adaptive exchange most to least loaded policy on a dynamic network |
|
|
255 | (2) |
|
|
257 | (4) |
|
9.5.1 On synchronous and asynchronous approaches |
|
|
257 | (2) |
|
9.5.2 How to define the load for some applications |
|
|
259 | (1) |
|
9.5.3 Implementation of static algorithms |
|
|
259 | (1) |
|
9.5.4 Implementation of dynamic algorithms |
|
|
260 | (1) |
|
9.6 A practical example: the advection diffusion application |
|
|
261 | (7) |
|
9.6.1 Load balancing and the application |
|
|
264 | (2) |
|
9.6.2 Load balancing in a dynamic network |
|
|
266 | (2) |
|
|
268 | (1) |
|
|
269 | (4) |
|
A Implementation of the replication strategies in OptorSim |
|
|
273 | (6) |
|
|
|
|
273 | (1) |
|
|
274 | (1) |
|
|
274 | (2) |
|
A.3.1 OptorSim implementation |
|
|
274 | (1) |
|
A.3.2 MaxDAR implementation |
|
|
275 | (1) |
|
A.4 How to execute the simulation |
|
|
276 | (3) |
|
B Implementation of the simulator for the distributed scheduling model |
|
|
279 | (4) |
|
|
|
|
279 | (1) |
|
|
279 | (1) |
|
|
280 | (2) |
|
|
280 | (1) |
|
|
280 | (2) |
|
B.4 How to execute the simulation |
|
|
282 | (1) |
Glossary |
|
283 | (14) |
Author Index |
|
297 | |