Scalable Computing and Communications: Theory and Practice

Book description

Reviews the latest advances in the all-important field of scalable computing

In telecommunications and software engineering, scalability is the ability of a system, network, or process to either handle growing amounts of work in a graceful manner or be enlarged to accommodate that growth. It is a desirable property for many scientific, industrial, and business applications and an important feature for hardware.

This immersive book summarizes the latest research achievements in the field of scalable computing and covers new topics that have emerged recently on computing and communications, such as unconventional computing, green and sustainable computing, cloud and volunteer computing, and more. Filled with contributions from world-renowned engineers, researchers, and IT professionals in diverse areas, Scalable Computing and Communications covers:

  • Circuit and component design

  • Operating systems

  • Green computing

  • Network-on-chip paradigms

  • Computational grids

  • High-performance computing

  • Software

  • Networking in scalable computing and mobile computing

  • Next-generation networking

  • Cloud computing

  • Peer-to-peer systems

  • Scalable Computing and Communications is well organized with basic concepts, software infrastructure and middleware, and applications and systems. Filled with numerous case studies, figures, and tables, it is a valuable book that offers great insight into future trends and emerging topics for professionals and students in the field.

    Table of contents

    1. Cover page
    2. Halftitle page
    3. Editor page
    4. Title page
    5. Copyright
    6. Dedication
    7. Contents
    8. Preface
    9. Contributors
    10. 1 Scalable Computing and Communications: Past, Present, and Future
      1. 1.1 Scalable Computing and Communications
      2. References
    11. 2 Reliable Minimum Connected Dominating Sets for Topology Control in Probabilistic Wireless Sensor Networks
      1. 2.1 Topology Control in Wireless Sensor Networks (WSNs)
      2. 2.2 DS-Based Topology Control
      3. 2.3 Deterministic WSNs and Probabilistic WSNs
      4. 2.4 Reliable MCDS Problem
      5. 2.5 A GA to Construct RMCDS-GA
      6. 2.6 Performance Evaluation
      7. 2.7 Conclusions
      8. References
    12. 3 Peer Selection Schemes in Scalable P2P Video Streaming Systems
      1. 3.1 Introduction
      2. 3.2 Overlay Structures
      3. 3.3 Peer Selection for Overlay Construction
      4. 3.4 A Game Theoretic Perspective on Peer Selection
      5. 3.5 Discussion and Future Work
      6. 3.6 Summary
      7. References
    13. 4 Multicore and Many-Core Computing
      1. 4.1 Introduction
      2. 4.2 Architectural Options for Multicore Systems
      3. 4.3 Multicore Architecture Examples
      4. 4.4 Programming Multicore Architectures
      5. 4.5 Many-Core Architectures
      6. 4.6 Many-Core Architecture Examples
      7. 4.7 Summary
      8. References
    14. 5 Scalable Computing on Large Heterogeneous CPU/GPU Supercomputers
      1. 5.1 Introduction
      2. 5.2 Heterogeneous Computing Environments
      3. 5.3 Scalable Programming Patterns for Large GPU Clusters
      4. 5.4 Hybrid Implementations
      5. 5.5 Experimental Results
      6. 5.6 Conclusions
      7. Acknowledgments
      8. References
    15. 6 Diagnosability of Multiprocessor Systems
      1. 6.1 Introduction
      2. 6.2 Fundamental Concepts
      3. 6.3 Diagnosability of (1,2)-MCNS under PMC Model
      4. 6.4 Diagnosability of 2-MCNS under MM* Model
      5. 6.5 Application to Multiprocessor Systems
      6. 6.6 Concluding Remarks
      7. References
    16. 7 A Performance Analysis Methodology for MultiCore, Multithreaded Processors
      1. 7.1 Introduction
      2. 7.2 Methodology
      3. 7.3 Simulation Tool (ST)
      4. 7.4 Analytic Modeling Technique
      5. 7.5 Testing
      6. 7.6 Related Work
      7. 7.7 Conclusions and Future Work
      8. References
    17. 8 The Future in Mobile Multicore Computing
      1. 8.1 Introduction
      2. 8.2 Background
      3. 8.3 Hardware Initiatives
      4. 8.4 Software Initiatives
      5. 8.5 Additional Discussion
      6. 8.6 Future Trends
      7. 8.7 Conclusion
      8. References
    18. 9 Modeling and Algorithms for Scalable and Energy-Efficient Execution on Multicore Systems
      1. 9.1 Introduction
      2. 9.2 Model-Based Hybrid Message-Passing Interface (MPI)/OpenMP Power-Aware Computing
      3. 9.3 Power-Aware MPI Task Aggregation Prediction
      4. 9.4 Conclusions
      5. References
    19. 10 Cost Optimization for Scalable Communication in Wireless Networks with Movement-Based Location Management
      1. 10.1 Introduction
      2. 10.2 Background Information
      3. 10.3 Cost Measure and Optimization for a Single User
      4. 10.4 Cost Optimization with Location Update Constraint
      5. 10.5 Cost Optimization with Terminal Paging Constraint
      6. 10.6 Numerical Data
      7. 10.7 Concluding Remarks
      8. References
    20. 11 A Framework for Semiautomatic Explicit Parallelization
      1. 11.1 Introduction
      2. 11.2 Explicit Parallelization Using MPI
      3. 11.3 Building Blocks of FraSPA
      4. 11.4 Evaluation of FraSPA through Case Studies
      5. 11.5 Lessons Learned
      6. 11.6 Related Work
      7. 11.7 Summary
      8. References
    21. 12 Fault Tolerance and Transmission Reliability in Wireless Networks
      1. 12.1 Introduction: Reliability Issues in Wireless and Sensor Networks
      2. 12.2 Reliability and Fault Tolerance of Coverage Models for Sensor Networks
      3. 12.3 Fault-Tolerant k-Fold Pivot Routing in Wireless Sensor Networks
      4. 12.4 Impact of Variable Transmission Range in All-Wireless Networks
      5. 12.5 Conclusions and Open Problems
      6. References
    22. 13 Optimizing and Tuning Scientific Codes
      1. 13.1 Introduction
      2. 13.2 An Abstract View of the Machine Architecture
      3. 13.3 Optimizing Scientific Codes
      4. 13.4 Empirical Tuning of Optimizations
      5. 13.5 Related Work
      6. 13.6 Summary and Future Work
      7. Acknowledgments
      8. References
    23. 14 Privacy and Confidentiality in Cloud Computing
      1. 14.1 Introduction
      2. 14.2 Cloud Stakeholders and Computational Assets
      3. 14.3 Data Privacy and Trust
      4. 14.4 A Cloud Computing Example
      5. 14.5 Conclusion
      6. Acknowledgments
      7. References
    24. 15 Reputation Management Systems for Peer-to-Peer Networks
      1. 15.1 Introduction
      2. 15.2 Reputation Management Systems
      3. 15.3 Case Study of Reputation Systems
      4. 15.4 Open Problems
      5. 15.5 Conclusion
      6. Acknowledgments
      7. References
    25. 16 Toward a Secure Fragment Allocation of Files in Heterogeneous Distributed Systems
      1. 16.1 Introduction
      2. 16.2 Related Work
      3. 16.3 System and Threat Models
      4. 16.4 S-FAS: A Secure Fragment Allocation Scheme
      5. 16.5 Assurance Models
      6. 16.6 Sap Allocation Principles and Prototype
      7. 16.7 Evaluation of System Assurance and Performance
      8. 16.8 Conclusion
      9. Acknowledgments
      10. References
    26. 17 Adopting Compression in Wireless Sensor Networks
      1. 17.1 Introduction
      2. 17.2 Compression in Sensor Nodes
      3. 17.3 Compression Effect on Packet Delay
      4. 17.4 Online Adaptive Compression Algorithm
      5. 17.5 Performance Evaluations
      6. 17.6 Summary
      7. References
    27. 18 GFOG: Green and Flexible Opportunistic Grids
      1. 18.1 Introduction
      2. 18.2 Related Work
      3. 18.3 UnaGrid Infrastructure
      4. 18.4 Energy Consumption Model
      5. 18.5 Experimental Results
      6. 18.6 Conclusions and Future Work
      7. References
    28. 19 Maximizing Real-Time System Utilization by Adjusting Task Computation Times
      1. 19.1 Introduction
      2. 19.2 Expressing Task Schedulability in Polylinear Surfaces
      3. 19.3 Task Execution Time Adjustment Based on the P-Bound
      4. 19.4 Conclusions
      5. Acknowledgments
      6. References
    29. 20 Multilevel Exploration of the Optimization Landscape through Dynamical Fitness for Grid Scheduling
      1. 20.1 Introduction
      2. 20.2 Statement of the Problem
      3. 20.3 General Characteristics of the Optimization Landscape
      4. 20.4 Multilevel Metaheuristic Schedulers
      5. 20.5 Empirical Analysis
      6. 20.6 Conclusions
      7. References
    30. 21 Implementing Pointer Jumping for Exact Inference on Many-Core Systems
      1. 21.1 Introduction
      2. 21.2 Background
      3. 21.3 Related Work
      4. 21.4 Pointer Jumping-Based Algorithms for Scheduling Exact Inference
      5. 21.5 Analysis with Respect to Many-Core Processors
      6. 21.6 From Exact Inference to Generic Directed Acyclic Graph (DAG)-Structured Computations
      7. 21.7 Experiments
      8. 21.8 Conclusions
      9. References
    31. 22 Performance Optimization of Scientific Applications Using an Autonomic Computing Approach
      1. 22.1 Introduction
      2. 22.2 Scientific Applications and Their Performance
      3. 22.3 Load Balancing via DLS
      4. 22.4 The Use of Machine Learning in Improving the Performance of Scientific Applications
      5. 22.5 Design Strategies and an Integrated Framework
      6. 22.6 Experimental Results, Analysis, and Evaluation
      7. 22.7 Conclusions, Future Work, and Open Problems
      8. Acknowledgments
      9. References
    32. 23 A Survey of Techniques for Improving Search Engine Scalability through Profiling, Prediction, and Prefetching of Query Results
      1. 23.1 Introduction
      2. 23.2 Modeling User Behavior
      3. 23.3 Grouping Users into Neighborhoods of Similarity
      4. 23.4 Similarity Metrics
      5. 23.5 Conclusion and Future Work
      6. Appendix A Comparative Analysis of Comparison Algorithms
      7. Appendix B Most Popular Searches
      8. References
    33. 24 KNN Queries in Mobile Sensor Networks
      1. 24.1 Introduction
      2. 24.2 Preliminaries and Infrastructure-Based KNN Queries
      3. 24.3 Infrastructure-Free KNN Queries
      4. 24.4 Future Research Directions
      5. 24.5 Conclusions
      6. References
    34. 25 Data Partitioning for Designing and Simulating Efficient Huge Databases
      1. 25.1 Introduction
      2. 25.2 Background and Related Work
      3. 25.3 Fragmentation Methodology
      4. 25.4 Hardness Study
      5. 25.5 Proposed Selection Algorithms
      6. 25.6 Impact of HP on Data Warehouse Physical Design
      7. 25.7 Experimental Studies
      8. 25.8 Physical Design Simulator Tool
      9. 25.9 Conclusion and Perspectives
      10. References
    35. 26 Scalable Runtime Environments for Large-Scale Parallel Applications
      1. 26.1 Introduction
      2. 26.2 Goals of a Runtime Environment
      3. 26.3 Communication Infrastructure
      4. 26.4 Application Deployment
      5. 26.5 Fault Tolerance and Robustness
      6. 26.6 Case Studies
      7. 26.7 Conclusion
      8. References
    36. 27 Increasing Performance through Optimization on APU
      1. 27.1 Introduction
      2. 27.2 Heterogeneous Architectures
      3. 27.3 Related Work
      4. 27.4 OpenCL, CUDA of the Future
      5. 27.5 Simple Introduction to OpenCL Programming
      6. 27.6 Performance and Optimization Summary
      7. 27.7 Application
      8. 27.8 Summary
      9. Appendix
      10. References
    37. 28 Toward Optimizing Cloud Computing: An Example of Optimization under Uncertainty
      1. 28.1 Cloud Computing: Why We Need It and How We Can Make It Most Efficient
      2. 28.2 Optimal Server Placement Problem: First Approximation
      3. 28.3 Server Placement in Cloud Computing: Toward a More Realistic Model
      4. 28.4 Predicting Cloud Growth: Formulation of the Problem and Our Approach to Solving This Problem
      5. 28.5 Predicting Cloud Growth: First Approximation
      6. 28.6 Predicting Cloud Growth: Second Approximation
      7. 28.7 Predicting Cloud Growth: Third Approximation
      8. 28.8 Conclusions and Future Work
      9. Acknowledgments
      10. Appendix: Description of Expenses Related to Cloud Computing
      11. References
    38. 29 Modeling of Scalable Embedded Systems
      1. 29.1 Introduction
      2. 29.2 Embedded System Applications
      3. 29.3 Embedded Systems: Hardware and Software
      4. 29.4 Modeling: An Integral Part of the Embedded System Design Flow
      5. 29.5 Single- and Multiunit Embedded System Modeling
      6. 29.6 Conclusions
      7. Acknowledgments
      8. References
    39. 30 Scalable Service Composition in Pervasive Computing
      1. 30.1 Introduction
      2. 30.2 Service Composition Framework
      3. 30.3 Approaches and Techniques for Scalable Service Composition in PvCE
      4. 30.4 Conclusions
      5. References
    40. 31 Virtualization Techniques for Graphics Processing Units
      1. 31.1 Introduction
      2. 31.2 Background
      3. 31.3 VOCL Framework
      4. 31.4 VOCL Optimizations
      5. 31.5 Experimental Evaluation
      6. 31.6 Related Work
      7. 31.7 Concluding Remarks
      8. References
    41. 32 Dense Linear Algebra on Distributed Heterogeneous Hardware with a Symbolic DAG Approach
      1. 32.1 Introduction and Motivation
      2. 32.2 Distributed Dataflow by Symbolic Evaluation
      3. 32.3 The DAGuE Dataflow Runtime
      4. 32.4 Dataflow Representation
      5. 32.5 Programming Linear Algebra with DAGuE
      6. 32.6 Performance Evaluation
      7. 32.7 Conclusion
      8. 32.8 Summary
      9. References
    42. 33 Fault-Tolerance Techniques for Scalable Computing
      1. 33.1 Introduction and Trends in Large-Scale Computing Systems
      2. 33.2 Hardware Features for Resilience
      3. 33.3 Systems Software Features for Resilience
      4. 33.4 Application or Domain-Specific Fault-Tolerance Techniques
      5. 33.5 Summary
      6. References
    43. 34 Parallel Programming Models for Scalable Computing
      1. 34.1 Introduction to Parallel Programming Models
      2. 34.2 The Message-Passing Interface (MPI)
      3. 34.3 Partitioned Global Address Space (PGAS) Models
      4. 34.4 Task-Parallel Programming Models
      5. 34.5 High-Productivity Parallel Programming Models
      6. 34.6 Summary and Concluding Remarks
      7. Acknowledgment
      8. References
    44. 35 Grid Simulation Tools for Job Scheduling and Data File Replication
      1. 35.1 Introduction
      2. 35.2 Simulation Platforms
      3. 35.3 Problem Statement: Data-Aware Job Scheduling (DAJS)
      4. References
    45. Index

    Product information

    • Title: Scalable Computing and Communications: Theory and Practice
    • Author(s): Samee U. Khan, Albert Y. Zomaya, Lizhe Wang
    • Release date: January 2013
    • Publisher(s): Wiley-IEEE Press
    • ISBN: 9781118162651