Preface |
|
xix | |
Contributors |
|
xxi | |
|
1 Scalable Computing and Communications: Past, Present, and Future |
|
|
1 | (6) |
|
|
|
|
|
|
1.1 Scalable Computing and Communications |
|
|
1 | (6) |
|
|
4 | (3) |
|
2 Reliable Minimum Connected Dominating Sets for Topology Control in Probabilistic Wireless Sensor Networks |
|
|
7 | (24) |
|
|
|
|
|
2.1 Topology Control in Wireless Sensor Networks (WSNs) |
|
|
7 | (3) |
|
2.2 DS-Based Topology Control |
|
|
10 | (2) |
|
2.3 Deterministic WSNs and Probabilistic WSNs |
|
|
12 | (1) |
|
2.4 Reliable MCDS Problem |
|
|
13 | (4) |
|
2.5 A GA to Construct RMCDS-GA |
|
|
17 | (9) |
|
2.6 Performance Evaluation |
|
|
26 | (1) |
|
|
27 | (4) |
|
|
28 | (3) |
|
3 Peer Selection Schemes in Scalable P2P Video Streaming Systems |
|
|
31 | (24) |
|
|
|
|
31 | (1) |
|
|
32 | (2) |
|
3.3 Peer Selection for Overlay Construction |
|
|
34 | (11) |
|
3.4 A Game Theoretic Perspective on Peer Selection |
|
|
45 | (2) |
|
3.5 Discussion and Future Work |
|
|
47 | (1) |
|
|
48 | (7) |
|
|
49 | (6) |
|
4 Multicore and Many-Core Computing |
|
|
55 | (26) |
|
|
|
55 | (5) |
|
4.2 Architectural Options for Multicore Systems |
|
|
60 | (4) |
|
4.3 Multicore Architecture Examples |
|
|
64 | (3) |
|
4.4 Programming Multicore Architectures |
|
|
67 | (7) |
|
4.5 Many-Core Architectures |
|
|
74 | (1) |
|
4.6 Many-Core Architecture Examples |
|
|
75 | (2) |
|
|
77 | (4) |
|
|
77 | (4) |
|
5 Scalable Computing on Large Heterogeneous CPU/GPU Supercomputers |
|
|
81 | (16) |
|
|
|
|
|
|
81 | (1) |
|
5.2 Heterogeneous Computing Environments |
|
|
82 | (2) |
|
5.3 Scalable Programming Patterns for Large GPU Clusters |
|
|
84 | (3) |
|
5.4 Hybrid Implementations |
|
|
87 | (2) |
|
|
89 | (5) |
|
|
94 | (3) |
|
|
94 | (1) |
|
|
94 | (3) |
|
6 Diagnosability of Multiprocessor Systems |
|
|
97 | (28) |
|
|
|
|
97 | (1) |
|
|
98 | (5) |
|
6.3 Diagnosability of (1,2)-MCNs under PMC Model |
|
|
103 | (2) |
|
6.4 Diagnosability of 2-MCNs under MM Model |
|
|
105 | (5) |
|
6.5 Application to Multiprocessor Systems |
|
|
110 | (12) |
|
|
122 | (3) |
|
|
122 | (3) |
|
7 A Performance Analysis Methodology for MultiCore, Multithreaded Processors |
|
|
125 | (20) |
|
|
|
|
|
125 | (1) |
|
|
126 | (4) |
|
|
130 | (2) |
|
7.4 Analytic Modeling Technique |
|
|
132 | (4) |
|
|
136 | (3) |
|
|
139 | (2) |
|
7.7 Conclusions and Future Work |
|
|
141 | (4) |
|
|
141 | (4) |
|
8 The Future in Mobile Multicore Computing |
|
|
145 | (12) |
|
|
|
|
|
145 | (1) |
|
|
146 | (2) |
|
|
148 | (3) |
|
|
151 | (1) |
|
8.5 Additional Discussion |
|
|
152 | (1) |
|
|
153 | (1) |
|
|
154 | (3) |
|
|
155 | (2) |
|
9 Modeling and Algorithms for Scalable and Energy-Efficient Execution on Multicore Systems |
|
|
157 | (28) |
|
|
Dimitrios S. Nikolopoulos |
|
|
|
|
157 | (1) |
|
9.2 Model-Based Hybrid Message-Passing Interface (MPI)/OpenMP Power-Aware Computing |
|
|
158 | (12) |
|
9.3 Power-Aware MPI Task Aggregation Prediction |
|
|
170 | (11) |
|
|
181 | (4) |
|
|
182 | (3) |
|
10 Cost Optimization for Scalable Communication in Wireless Networks with Movement-Based Location Management |
|
|
185 | (24) |
|
|
|
185 | (2) |
|
10.2 Background Information |
|
|
187 | (3) |
|
10.3 Cost Measure and Optimization for a Single User |
|
|
190 | (2) |
|
10.4 Cost Optimization with Location Update Constraint |
|
|
192 | (4) |
|
10.5 Cost Optimization with Terminal Paging Constraint |
|
|
196 | (5) |
|
|
201 | (5) |
|
|
206 | (3) |
|
|
206 | (3) |
|
11 A Framework for Semiautomatic Explicit Parallelization |
|
|
209 | (18) |
|
|
|
|
|
209 | (1) |
|
11.2 Explicit Parallelization Using MPI |
|
|
210 | (1) |
|
11.3 Building Blocks of FraSPA |
|
|
211 | (4) |
|
11.4 Evaluation of FraSPA through Case Studies |
|
|
215 | (6) |
|
|
221 | (1) |
|
|
222 | (2) |
|
|
224 | (3) |
|
|
224 | (3) |
|
12 Fault Tolerance and Transmission Reliability in Wireless Networks |
|
|
227 | (28) |
|
|
|
12.1 Introduction: Reliability Issues in Wireless and Sensor Networks |
|
|
227 | (3) |
|
12.2 Reliability and Fault Tolerance of Coverage Models for Sensor Networks |
|
|
230 | (8) |
|
12.3 Fault-Tolerant k-Fold Pivot Routing in Wireless Sensor Networks |
|
|
238 | (6) |
|
12.4 Impact of Variable Transmission Range in All-Wireless Networks |
|
|
244 | (6) |
|
12.5 Conclusions and Open Problems |
|
|
250 | (5) |
|
|
251 | (4) |
|
13 Optimizing and Tuning Scientific Codes |
|
|
255 | (22) |
|
|
|
255 | (1) |
|
13.2 An Abstract View of the Machine Architecture |
|
|
256 | (1) |
|
13.3 Optimizing Scientific Codes |
|
|
256 | (6) |
|
13.4 Empirical Tuning of Optimizations |
|
|
262 | (10) |
|
|
272 | (1) |
|
13.6 Summary and Future Work |
|
|
273 | (4) |
|
|
273 | (1) |
|
|
273 | (4) |
|
14 Privacy and Confidentiality in Cloud Computing |
|
|
277 | (14) |
|
|
|
|
277 | (1) |
|
14.2 Cloud Stakeholders and Computational Assets |
|
|
278 | (2) |
|
14.3 Data Privacy and Trust |
|
|
280 | (1) |
|
14.4 A Cloud Computing Example |
|
|
281 | (7) |
|
|
288 | (3) |
|
|
288 | (1) |
|
|
288 | (3) |
|
15 Reputation Management Systems for Peer-to-Peer Networks |
|
|
291 | (30) |
|
|
|
|
|
|
|
291 | (1) |
|
15.2 Reputation Management Systems |
|
|
292 | (15) |
|
15.3 Case Study of Reputation Systems |
|
|
307 | (9) |
|
|
316 | (1) |
|
|
316 | (5) |
|
|
317 | (1) |
|
|
317 | (4) |
|
16 Toward a Secure Fragment Allocation of Files in Heterogeneous Distributed Systems |
|
|
321 | (22) |
|
|
|
|
|
|
|
321 | (2) |
|
|
323 | (2) |
|
16.3 System and Threat Models |
|
|
325 | (2) |
|
16.4 S-FAS: A Secure Fragment Allocation Scheme |
|
|
327 | (2) |
|
|
329 | (3) |
|
16.6 Sap Allocation Principles and Prototype |
|
|
332 | (1) |
|
16.7 Evaluation of System Assurance and Performance |
|
|
333 | (6) |
|
|
339 | (4) |
|
|
341 | (1) |
|
|
341 | (2) |
|
17 Adopting Compression in Wireless Sensor Networks |
|
|
343 | (22) |
|
|
|
|
343 | (2) |
|
17.2 Compression in Sensor Nodes |
|
|
345 | (3) |
|
17.3 Compression Effect on Packet Delay |
|
|
348 | (2) |
|
17.4 Online Adaptive Compression Algorithm |
|
|
350 | (10) |
|
17.5 Performance Evaluations |
|
|
360 | (2) |
|
|
362 | (3) |
|
|
363 | (2) |
|
18 GFOG: Green and Flexible Opportunistic Grids |
|
|
365 | (22) |
|
|
|
|
|
|
|
|
|
365 | (1) |
|
|
366 | (3) |
|
18.3 UnaGrid Infrastructure |
|
|
369 | (3) |
|
18.4 Energy Consumption Model |
|
|
372 | (2) |
|
18.5 Experimental Results |
|
|
374 | (8) |
|
18.6 Conclusions and Future Work |
|
|
382 | (5) |
|
|
382 | (5) |
|
19 Maximizing Real-Time System Utilization by Adjusting Task Computation Times |
|
|
387 | (8) |
|
|
|
|
|
|
|
387 | (2) |
|
19.2 Expressing Task Schedulability in Polylinear Surfaces |
|
|
389 | (2) |
|
19.3 Task Execution Time Adjustment Based on the P-Bound |
|
|
391 | (2) |
|
|
393 | (2) |
|
|
393 | (1) |
|
|
393 | (2) |
|
20 Multilevel Exploration of the Optimization Landscape through Dynamical Fitness for Grid Scheduling |
|
|
395 | (24) |
|
|
|
395 | (2) |
|
20.2 Statement of the Problem |
|
|
397 | (2) |
|
20.3 General Characteristics of the Optimization Landscape |
|
|
399 | (3) |
|
20.4 Multilevel Metaheuristic Schedulers |
|
|
402 | (6) |
|
|
408 | (9) |
|
|
417 | (2) |
|
|
417 | (2) |
|
21 Implementing Pointer Jumping for Exact Inference on Many-Core Systems |
|
|
419 | (18) |
|
|
|
|
|
419 | (1) |
|
|
420 | (2) |
|
|
422 | (1) |
|
21.4 Pointer Jumping-Based Algorithms for Scheduling Exact Inference |
|
|
423 | (1) |
|
21.5 Analysis with Respect to Many-Core Processors |
|
|
424 | (3) |
|
21.6 From Exact Inference to Generic Directed Acyclic Graph (DAG)-Structured Computations |
|
|
427 | (1) |
|
|
428 | (6) |
|
|
434 | (3) |
|
|
435 | (2) |
|
22 Performance Optimization of Scientific Applications Using an Autonomic Computing Approach |
|
|
437 | (30) |
|
|
|
|
|
437 | (2) |
|
22.2 Scientific Applications and Their Performance |
|
|
439 | (2) |
|
22.3 Load Balancing via DLS |
|
|
441 | (1) |
|
22.4 The Use of Machine Learning in Improving the Performance of Scientific Applications |
|
|
441 | (4) |
|
22.5 Design Strategies and an Integrated Framework |
|
|
445 | (10) |
|
22.6 Experimental Results, Analysis, and Evaluation |
|
|
455 | (7) |
|
22.7 Conclusions, Future Work, and Open Problems |
|
|
462 | (5) |
|
|
463 | (1) |
|
|
463 | (4) |
|
23 A Survey of Techniques for Improving Search Engine Scalability through Profiling, Prediction, and Prefetching of Query Results |
|
|
467 | (40) |
|
|
|
|
|
|
467 | (5) |
|
23.2 Modeling User Behavior |
|
|
472 | (2) |
|
23.3 Grouping Users into Neighborhoods of Similarity |
|
|
474 | (7) |
|
|
481 | (16) |
|
23.5 Conclusion and Future Work |
|
|
497 | (10) |
|
Appendix A Comparative Analysis of Comparison Algorithms |
|
|
498 | (3) |
|
Appendix B Most Popular Searches |
|
|
501 | (1) |
|
|
502 | (5) |
|
24 KNN Queries in Mobile Sensor Networks |
|
|
507 | (16) |
|
|
|
|
507 | (2) |
|
24.2 Preliminaries and Infrastructure-Based KNN Queries |
|
|
509 | (2) |
|
24.3 Infrastructure-Free KNN Queries |
|
|
511 | (8) |
|
24.4 Future Research Directions |
|
|
519 | (1) |
|
|
519 | (4) |
|
|
520 | (3) |
|
25 Data Partitioning for Designing and Simulating Efficient Huge Databases |
|
|
523 | (40) |
|
|
|
|
|
|
523 | (4) |
|
25.2 Background and Related Work |
|
|
527 | (5) |
|
25.3 Fragmentation Methodology |
|
|
532 | (3) |
|
|
535 | (3) |
|
25.5 Proposed Selection Algorithms |
|
|
538 | (6) |
|
25.6 Impact of HP on Data Warehouse Physical Design |
|
|
544 | (5) |
|
25.7 Experimental Studies |
|
|
549 | (4) |
|
25.8 Physical Design Simulator Tool |
|
|
553 | (6) |
|
25.9 Conclusion and Perspectives |
|
|
559 | (4) |
|
|
560 | (3) |
|
26 Scalable Runtime Environments for Large-Scale Parallel Applications |
|
|
563 | (28) |
|
|
|
|
563 | (2) |
|
26.2 Goals of a Runtime Environment |
|
|
565 | (2) |
|
26.3 Communication Infrastructure |
|
|
567 | (4) |
|
26.4 Application Deployment |
|
|
571 | (6) |
|
26.5 Fault Tolerance and Robustness |
|
|
577 | (5) |
|
|
582 | (4) |
|
|
586 | (5) |
|
|
587 | (4) |
|
27 Increasing Performance through Optimization on APU |
|
|
591 | (22) |
|
|
|
|
|
591 | (1) |
|
27.2 Heterogeneous Architectures |
|
|
591 | (6) |
|
|
597 | (3) |
|
27.4 OpenCL, CUDA of the Future |
|
|
600 | (4) |
|
27.5 Simple Introduction to OpenCL Programming |
|
|
604 | (3) |
|
27.6 Performance and Optimization Summary |
|
|
607 | (1) |
|
|
607 | (2) |
|
|
609 | (4) |
|
|
609 | (3) |
|
|
612 | (1) |
|
28 Toward Optimizing Cloud Computing: An Example of Optimization under Uncertainty |
|
|
613 | (16) |
|
|
28.1 Cloud Computing: Why We Need It and How We Can Make It Most Efficient |
|
|
613 | (1) |
|
28.2 Optimal Server Placement Problem: First Approximation |
|
|
614 | (4) |
|
28.3 Server Placement in Cloud Computing: Toward a More Realistic Model |
|
|
618 | (2) |
|
28.4 Predicting Cloud Growth: Formulation of the Problem and Our Approach to Solving This Problem |
|
|
620 | (1) |
|
28.5 Predicting Cloud Growth: First Approximation |
|
|
621 | (1) |
|
28.6 Predicting Cloud Growth: Second Approximation |
|
|
622 | (1) |
|
28.7 Predicting Cloud Growth: Third Approximation |
|
|
623 | (2) |
|
28.8 Conclusions and Future Work |
|
|
625 | (4) |
|
|
625 | (1) |
|
Appendix: Description of Expenses Related to Cloud Computing |
|
|
626 | (1) |
|
|
626 | (3) |
|
29 Modeling of Scalable Embedded Systems |
|
|
629 | (30) |
|
|
|
|
|
629 | (2) |
|
29.2 Embedded System Applications |
|
|
631 | (3) |
|
29.3 Embedded Systems: Hardware and Software |
|
|
634 | (4) |
|
29.4 Modeling: An Integral Part of the Embedded System Design Flow |
|
|
638 | (6) |
|
29.5 Single- and Multiunit Embedded System Modeling |
|
|
644 | (10) |
|
|
654 | (5) |
|
|
655 | (1) |
|
|
655 | (4) |
|
30 Scalable Service Composition in Pervasive Computing |
|
|
659 | (16) |
|
|
|
|
659 | (1) |
|
30.2 Service Composition Framework |
|
|
660 | (4) |
|
30.3 Approaches and Techniques for Scalable Service Composition in PvCE |
|
|
664 | (7) |
|
|
671 | (4) |
|
|
671 | (4) |
|
31 Virtualization Techniques for Graphics Processing Units |
|
|
675 | (24) |
|
|
|
|
|
675 | (2) |
|
|
677 | (1) |
|
|
677 | (5) |
|
|
682 | (5) |
|
31.5 Experimental Evaluation |
|
|
687 | (9) |
|
|
696 | (1) |
|
|
696 | (3) |
|
|
697 | (2) |
|
32 Dense Linear Algebra on Distributed Heterogeneous Hardware with a Symbolic DAG Approach |
|
|
699 | (38) |
|
|
|
|
|
|
|
32.1 Introduction and Motivation |
|
|
699 | (2) |
|
32.2 Distributed Dataflow by Symbolic Evaluation |
|
|
701 | (4) |
|
32.3 The DAGuE Dataflow Runtime |
|
|
705 | (4) |
|
32.4 Dataflow Representation |
|
|
709 | (7) |
|
32.5 Programming Linear Algebra with DAGuE |
|
|
716 | (12) |
|
32.6 Performance Evaluation |
|
|
728 | (3) |
|
|
731 | (1) |
|
|
732 | (5) |
|
|
733 | (4) |
|
33 Fault-Tolerance Techniques for Scalable Computing |
|
|
737 | (22) |
|
|
|
|
33.1 Introduction and Trends in Large-Scale Computing Systems |
|
|
737 | (1) |
|
33.2 Hardware Features for Resilience |
|
|
738 | (5) |
|
33.3 Systems Software Features for Resilience |
|
|
743 | (5) |
|
33.4 Application or Domain-Specific Fault-Tolerance Techniques |
|
|
748 | (5) |
|
|
753 | (6) |
|
|
753 | (6) |
|
34 Parallel Programming Models for Scalable Computing |
|
|
759 | (18) |
|
|
|
34.1 Introduction to Parallel Programming Models |
|
|
759 | (2) |
|
34.2 The Message-Passing Interface (MPI) |
|
|
761 | (4) |
|
34.3 Partitioned Global Address Space (PGAS) Models |
|
|
765 | (4) |
|
34.4 Task-Parallel Programming Models |
|
|
769 | (3) |
|
34.5 High-Productivity Parallel Programming Models |
|
|
772 | (3) |
|
34.6 Summary and Concluding Remarks |
|
|
775 | (2) |
|
|
775 | (1) |
|
|
775 | (2) |
|
35 Grid Simulation Tools for Job Scheduling and Data File Replication |
|
|
777 | (22) |
|
|
|
|
|
777 | (2) |
|
35.2 Simulation Platforms |
|
|
779 | (13) |
|
35.3 Problem Statement: Data-Aware Job Scheduling (DAJS) |
|
|
792 | (7) |
|
|
795 | (4) |
Index |
|
799 | |