You are previewing Scalable Computing and Communications: Theory and Practice.
O'Reilly logo
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. Coverpage
    2. Halftitlepage
    3. Editorpage
    4. Titlepage
    5. Copyright
    6. Dedication
    7. Contents
    8. Preface
    9. Contributors
    10. 1 Scalable Computing and Communications: Past, Present, and Future
    11. 1.1 Scalable Computing and Communications
    12. References
    13. 2 Reliable Minimum Connected Dominating Sets for Topology Control in Probabilistic Wireless Sensor Networks
    14. 2.1 Topology Control in Wireless Sensor Networks (WSNs)
    15. 2.2 DS-Based Topology Control
    16. 2.3 Deterministic WSNs and Probabilistic WSNs
    17. 2.4 Reliable MCDS Problem
    18. 2.5 A GA to Construct RMCDS-GA
    19. 2.6 Performance Evaluation
    20. 2.7 Conclusions
    21. References
    22. 3 Peer Selection Schemes in Scalable P2P Video Streaming Systems
    23. 3.1 Introduction
    24. 3.2 Overlay Structures
    25. 3.3 Peer Selection for Overlay Construction
    26. 3.4 A Game Theoretic Perspective on Peer Selection
    27. 3.5 Discussion and Future Work
    28. 3.6 Summary
    29. References
    30. 4 Multicore and Many-Core Computing
    31. 4.1 Introduction
    32. 4.2 Architectural Options for Multicore Systems
    33. 4.3 Multicore Architecture Examples
    34. 4.4 Programming Multicore Architectures
    35. 4.5 Many-Core Architectures
    36. 4.6 Many-Core Architecture Examples
    37. 4.7 Summary
    38. References
    39. 5 Scalable Computing on Large Heterogeneous CPU/GPU Supercomputers
    40. 5.1 Introduction
    41. 5.2 Heterogeneous Computing Environments
    42. 5.3 Scalable Programming Patterns for Large GPU Clusters
    43. 5.4 Hybrid Implementations
    44. 5.5 Experimental Results
    45. 5.6 Conclusions
    46. Acknowledgments
    47. References
    48. 6 Diagnosability of Multiprocessor Systems
    49. 6.1 Introduction
    50. 6.2 Fundamental Concepts
    51. 6.3 Diagnosability of (1,2)-MCNS under PMC Model
    52. 6.4 Diagnosability of 2-MCNS under MM* Model
    53. 6.5 Application to Multiprocessor Systems
    54. 6.6 Concluding Remarks
    55. References
    56. 7 A Performance Analysis Methodology for MultiCore, Multithreaded Processors
    57. 7.1 Introduction
    58. 7.2 Methodology
    59. 7.3 Simulation Tool (ST)
    60. 7.4 Analytic Modeling Technique
    61. 7.5 Testing
    62. 7.6 Related Work
    63. 7.7 Conclusions and Future Work
    64. References
    65. 8 The Future in Mobile Multicore Computing
    66. 8.1 Introduction
    67. 8.2 Background
    68. 8.3 Hardware Initiatives
    69. 8.4 Software Initiatives
    70. 8.5 Additional Discussion
    71. 8.6 Future Trends
    72. 8.7 Conclusion
    73. References
    74. 9 Modeling and Algorithms for Scalable and Energy-Efficient Execution on Multicore Systems
    75. 9.1 Introduction
    76. 9.2 Model-Based Hybrid Message-Passing Interface (MPI)/OpenMP Power-Aware Computing
    77. 9.3 Power-Aware MPI Task Aggregation Prediction
    78. 9.4 Conclusions
    79. References
    80. 10 Cost Optimization for Scalable Communication in Wireless Networks with Movement-Based Location Management
    81. 10.1 Introduction
    82. 10.2 Background Information
    83. 10.3 Cost Measure and Optimization for a Single User
    84. 10.4 Cost Optimization with Location Update Constraint
    85. 10.5 Cost Optimization with Terminal Paging Constraint
    86. 10.6 Numerical Data
    87. 10.7 Concluding Remarks
    88. References
    89. 11 A Framework for Semiautomatic Explicit Parallelization
    90. 11.1 Introduction
    91. 11.2 Explicit Parallelization Using MPI
    92. 11.3 Building Blocks of FraSPA
    93. 11.4 Evaluation of FraSPA through Case Studies
    94. 11.5 Lessons Learned
    95. 11.6 Related Work
    96. 11.7 Summary
    97. References
    98. 12 Fault Tolerance and Transmission Reliability in Wireless Networks
    99. 12.1 Introduction: Reliability Issues in Wireless and Sensor Networks
    100. 12.2 Reliability and Fault Tolerance of Coverage Models for Sensor Networks
    101. 12.3 Fault-Tolerant k-Fold Pivot Routing in Wireless Sensor Networks
    102. 12.4 Impact of Variable Transmission Range in All-Wireless Networks
    103. 12.5 Conclusions and Open Problems
    104. References
    105. 13 Optimizing and Tuning Scientific Codes
    106. 13.1 Introduction
    107. 13.2 An Abstract View of the Machine Architecture
    108. 13.3 Optimizing Scientific Codes
    109. 13.4 Empirical Tuning of Optimizations
    110. 13.5 Related Work
    111. 13.6 Summary and Future Work
    112. Acknowledgments
    113. References
    114. 14 Privacy and Confi dentiality in Cloud Computing
    115. 14.1 Introduction
    116. 14.2 Cloud Stakeholders and Computational Assets
    117. 14.3 Data Privacy and Trust
    118. 14.4 A Cloud Computing Example
    119. 14.5 Conclusion
    120. Acknowledgments
    121. References
    122. 15 Reputation Management Systems for Peer-to-Peer Networks
    123. 15.1 Introduction
    124. 15.2 Reputation Management Systems
    125. 15.3 Case Study of Reputation Systems
    126. 15.4 Open Problems
    127. 15.5 Conclusion
    128. Acknowledgments
    129. References
    130. 16 Toward a Secure Fragment Allocation of Files in Heterogeneous Distributed Systems
    131. 16.1 Introduction
    132. 16.2 Related Work
    133. 16.3 System and Threat Models
    134. 16.4 S-FAS: A Secure Fragment Allocation Scheme
    135. 16.5 Assurance Models
    136. 16.6 Sap Allocation Principles and Prototype
    137. 16.7 Evaluation of System Assurance and Performance
    138. 16.8 Conclusion
    139. Acknowledgments
    140. References
    141. 17 Adopting Compression in Wireless Sensor Networks
    142. 17.1 Introduction
    143. 17.2 Compression in Sensor Nodes
    144. 17.3 Compression Effect on Packet Delay
    145. 17.4 Online Adaptive Compression Algorithm
    146. 17.5 Performance Evaluations
    147. 17.6 Summary
    148. References
    149. 18 GFOG: Green and Flexible Opportunistic Grids
    150. 18.1 Introduction
    151. 18.2 Related Work
    152. 18.3 UnaGrid Infrastructure
    153. 18.4 Energy Consumption Model
    154. 18.5 Experimental Results
    155. 18.6 Conclusions and Future Work
    156. References
    157. 19 Maximizing Real-Time System Utilization by Adjusting Task Computation Times
    158. 19.1 Introduction
    159. 19.2 Expressing Task Schedulability in Polylinear Surfaces
    160. 19.3 Task Execution Time Adjustment Based on the P-Bound
    161. 19.4 Conclusions
    162. Acknowledgments
    163. References
    164. 20 Multilevel Exploration of the Optimization Landscape through Dynamical Fitness for Grid Scheduling
    165. 20.1 Introduction
    166. 20.2 Statement of the Problem
    167. 20.3 General Characteristics of the Optimization Landscape
    168. 20.4 Multilevel Metaheuristic Schedulers
    169. 20.5 Empirical Analysis
    170. 20.6 Conclusions
    171. References
    172. 21 Implementing Pointer Jumping for Exact Inference on Many-Core Systems
    173. 21.1 Introduction
    174. 21.2 Background
    175. 21.3 Related Work
    176. 21.4 Pointer Jumping-Based Algorithms for Scheduling Exact Inference
    177. 21.5 Analysis with Respect to Many-Core Processors
    178. 21.6 From Exact Inference to Generic Directed Acyclic Graph (DAG)-Structured Computations
    179. 21.7 Experiments
    180. 21.8 Conclusions
    181. References
    182. 22 Performance Optimization of Scientifi c Applications Using an Autonomic Computing Approach
    183. 22.1 Introduction
    184. 22.2 Scientifi c Applications and Their Performance
    185. 22.3 Load Balancing via DLS
    186. 22.4 The Use of Machine Learning in Improving the Performance of Scientifi c Applications
    187. 22.5 Design Strategies and an Integrated Framework
    188. 22.6 Experimental Results, Analysis, and Evaluation
    189. 22.7 Conclusions, Future Work, and Open Problems
    190. Acknowledgments
    191. References
    192. 23 A Survey of Techniques for Improving Search Engine Scalability through Profi ling, Prediction, and Prefetching of Query Results
    193. 23.1 Introduction
    194. 23.2 Modeling User Behavior
    195. 23.3 Grouping Users into Neighborhoods of Similarity
    196. 23.4 Similarity Metrics
    197. 23.5 Conclusion and Future Work
    198. Appendix A Comparative Analysis of Comparison Algorithms
    199. Appendix B Most Popular Searches
    200. References
    201. 24 KNN Queries in Mobile Sensor Networks
    202. 24.1 Introduction
    203. 24.2 Preliminaries and Infrastructure-Based KNN Queries
    204. 24.3 Infrastructure-Free KNN Queries
    205. 24.4 Future Research Directions
    206. 24.5 Conclusions
    207. References
    208. 25 Data Partitioning for Designing and Simulating Effi cient Huge Databases
    209. 25.1 Introduction
    210. 25.2 Background and Related Work
    211. 25.3 Fragmentation Methodology
    212. 25.4 Hardness Study
    213. 25.5 Proposed Selection Algorithms
    214. 25.6 Impact of HP on Data Warehouse Physical Design
    215. 25.7 Experimental Studies
    216. 25.8 Physical Design Simulator Tool
    217. 25.9 Conclusion and Perspectives
    218. References
    219. 26 Scalable Runtime Environments for Large-Scale Parallel Applications
    220. 26.1 Introduction
    221. 26.2 Goals of a Runtime Environment
    222. 26.3 Communication Infrastructure
    223. 26.4 Application Deployment
    224. 26.5 Fault Tolerance and Robustness
    225. 26.6 Case Studies
    226. 26.7 Conclusion
    227. References
    228. 27 Increasing Performance through Optimization on APU
    229. 27.1 Introduction
    230. 27.2 Heterogeneous Architectures
    231. 27.3 Related Work
    232. 27.4 OpenCL, CUDA of the Future
    233. 27.5 Simple Introduction to OpenCL Programming
    234. 27.6 Performance and Optimization Summary
    235. 27.7 Application
    236. 27.8 Summary
    237. Appendix
    238. References
    239. 28 Toward Optimizing Cloud Computing: An Example of Optimization under Uncertainty
    240. 28.1 Cloud Computing: Why We Need It and How We Can Make It Most Effi cient
    241. 28.2 Optimal Server Placement Problem: First Approximation
    242. 28.3 Server Placement in Cloud Computing: Toward a More Realistic Model
    243. 28.4 Predicting Cloud Growth: Formulation of the Problem and Our Approach to Solving This Problem
    244. 28.5 Predicting Cloud Growth: First Approximation
    245. 28.6 Predicting Cloud Growth: Second Approximation
    246. 28.7 Predicting Cloud Growth: Third Approximation
    247. 28.8 Conclusions and Future Work
    248. Acknowledgments
    249. Appendix: Description of Expenses Related to Cloud Computing
    250. References
    251. 29 Modeling of Scalable Embedded Systems
    252. 29.1 Introduction
    253. 29.2 Embedded System Applications
    254. 29.3 Embedded Systems: Hardware and Software
    255. 29.4 Modeling: An Integral Part of the Embedded System Design Flow
    256. 29.5 Single- and Multiunit Embedded System Modeling
    257. 29.6 Conclusions
    258. Acknowledgments
    259. References
    260. 30 Scalable Service Composition in Pervasive Computing
    261. 30.1 Introduction
    262. 30.2 Service Composition Framework
    263. 30.3 Approaches and Techniques for Scalable Service Composition in PvCE
    264. 30.4 Conclusions
    265. References
    266. 31 Virtualization Techniques for Graphics Processing Units
    267. 31.1 Introduction
    268. 31.2 Background
    269. 31.3 VOCL Framework
    270. 31.4 VOCL Optimizations
    271. 31.5 Experimental Evaluation
    272. 31.6 Related Work
    273. 31.7 Concluding Remarks
    274. References
    275. 32 Dense Linear Algebra on Distributed Heterogeneous Hardware with a Symbolic DAG Approach
    276. 32.1 Introduction and Motivation
    277. 32.2 Distributed Datafl ow by Symbolic Evaluation
    278. 32.3 The DAGuE Datafl ow Runtime
    279. 32.4 Datafl ow Representation
    280. 32.5 Programming Linear Algebra with DAGuE
    281. 32.6 Performance Evaluation
    282. 32.7 Conclusion
    283. 32.8 Summary
    284. References
    285. 33 Fault-Tolerance Techniques for Scalable Computing
    286. 33.1 Introduction and Trends in Large-Scale Computing Systems
    287. 33.2 Hardware Features for Resilience
    288. 33.3 Systems Software Features for Resilience
    289. 33.4 Application or Domain-Specifi c Fault-Tolerance Techniques
    290. 33.5 Summary
    291. References
    292. 34 Parallel Programming Models for Scalable Computing
    293. 34.1 Introduction to Parallel Programming Models
    294. 34.2 The Message-Passing Interface (MPI)
    295. 34.3 Partitioned Global Address Space (PGAS) Models
    296. 34.4 Task-Parallel Programming Models
    297. 34.5 High-Productivity Parallel Programming Models
    298. 34.6 Summary and Concluding Remarks
    299. Acknowledgment
    300. References
    301. 35 Grid Simulation Tools for Job Scheduling and Data File Replication
    302. 35.1 Introduction
    303. 35.2 Simulation Platforms
    304. 35.3 Problem Statement: Data-Aware Job Scheduling (DAJS)
    305. References
    306. Bindex