Cloud Computing Principles, Systems and Applications
This essential reference is a thorough and timely examination of the services, interfaces and types of applications that can be executed on cloud-based systems. Among other things, it identifies and highlights state-of-the-art techniques and methodologies.
Saved in:
Main Authors | , |
---|---|
Format | eBook Book |
Language | English |
Published |
Cham
Springer Nature
2017
Springer Springer International Publishing AG Springer International Publishing |
Edition | 2 |
Series | Computer Communications and Networks |
Subjects | |
Online Access | Get full text |
Cover
Loading…
Table of Contents:
- 7.5 X10-Based Distributed Graph Database Engine -- 7.5.1 System Design -- 7.5.2 Implementation of Acacia -- 7.5.3 RDF Data Partitioner and Native Store -- 7.5.4 SPARQL Query Processor -- 7.5.5 Evaluation of Acacia's Performance -- 7.6 XGDBench Graph Database Benchmarking Framework on Clouds -- 7.6.1 Methodology of XGDBench -- 7.6.2 Requirements of XGDBench -- 7.6.2.1 Attribute Read/Update -- 7.6.2.2 Graph Traversal -- 7.6.3 Implementation of XGDBench -- 7.6.3.1 Graph Generator -- 7.6.3.2 Graph Data Structure -- 7.6.3.3 Workload Executor -- 7.6.3.4 Graph DB Workload -- 7.6.3.5 Graph DB Interface Layer -- 7.6.3.6 Implementation of Traversal Operation -- 7.6.3.7 Implementation of Insert and Update Operations -- 7.6.4 Evaluation of XGDBench in HPC Cluster -- 7.6.4.1 Performance Evaluation of Titan -- 7.6.4.2 Evaluation of Graph Generation Time -- 7.7 Conclusion -- References -- 8 Implementing MapReduce Applications in Dynamic Cloud Environments -- 8.1 Introduction -- 8.2 MapReduce Background -- 8.3 P2P-MapReduce Architecture -- 8.4 System Mechanisms -- 8.5 Implementation -- 8.6 Evaluation -- 8.7 Conclusions -- References -- Part IV Multi-clouds -- 9 Facilitating Cloud Federation Management via DataInteroperability -- 9.1 Introduction -- 9.2 Challenges and Related Work -- 9.2.1 Challenges to Cloud Federation Deployment -- 9.2.2 Related Work -- 9.3 Cloud Service Monitoring -- 9.3.1 Architecture Design -- 9.3.2 Implementation -- 9.4 Data Interchange Formats -- 9.4.1 eXtensible Markup Language -- 9.4.2 JavaScript Object Notation -- 9.4.3 MessagePack -- 9.4.4 Protocol Buffers -- 9.5 Messaging Bus Communication System -- 9.5.1 Intercommunication Potential -- 9.5.2 Design and Implementation -- 9.5.2.1 Producer -- 9.5.2.2 Messaging Infrastructure -- 9.5.2.3 Consumer -- 9.6 Cloud Federation Management -- 9.6.1 Architecture Design
- 3 A Taxonomy of Adaptive Resource Management Mechanisms in Virtual Machines: Recent Progress and Challenges -- 3.1 Introduction -- 3.2 From Virtual Machines Fundamentals to Recent Trends -- 3.2.1 Computation as a Resource -- 3.2.2 Memory as a Resource -- 3.2.3 Input/Output as a Resource -- 3.2.4 Research Trends -- 3.3 Adaptation Techniques -- 3.3.1 System Virtual Machine -- 3.3.1.1 CPU Management -- 3.3.1.2 Memory Management -- 3.3.2 High-Level Language Virtual Machine -- 3.3.2.1 Just in Time Compilation -- 3.3.2.2 Garbage Collection -- 3.3.2.3 Resource Management -- 3.3.3 Summary of Techniques -- 3.4 The RCI Taxonomy -- 3.4.1 Quantitative Criteria of the RCI Taxonomy -- 3.4.2 Classification of Techniques -- 3.4.3 Aggregation of Quantities -- 3.4.4 Critical Analysis of the Taxonomy -- 3.5 VM Systems and Their Classification -- 3.5.1 System Virtual Machine -- 3.5.1.1 Friendly Virtual Machines (FVM) -- 3.5.1.2 ASMan -- 3.5.1.3 HPC Computing -- 3.5.1.4 Auto Control -- 3.5.1.5 PRESS -- 3.5.1.6 Overbooking and Consolidation -- 3.5.1.7 Difference Engine -- 3.5.1.8 VMMB -- 3.5.1.9 Overall System Analysis -- 3.5.2 High-Level Language Virtual Machines -- 3.5.2.1 KaffeOS -- 3.5.2.2 JRES -- 3.5.2.3 Multitask Virtual Machine (MVM) -- 3.5.2.4 Isla Vista -- 3.5.2.5 GC Switch -- 3.5.2.6 Paging-Aware GC -- 3.5.2.7 GC Economics -- 3.5.2.8 Control Theory -- 3.5.2.9 Machine Learning for Memory Management -- 3.5.2.10 Overall Systems Analysis -- 3.6 Summary and Open Research Issues -- References -- Part II Science Cloud -- 4 Exploring Cloud Elasticity in Scientific Applications -- 4.1 Introduction -- 4.2 Basic Concepts and State of the Art -- 4.2.1 Taxonomy and Classification -- 4.2.2 Elasticity in Scientific Applications -- 4.3 Developing Elastic Scientific Applications -- 4.3.1 Programming Level Elasticity -- 4.3.1.1 Architecture -- 4.3.2 Middleware Level Elasticity
- 4.3.2.1 Architecture -- 4.3.2.2 Model of Parallel Application -- 4.4 Elasticity Analysis and Research Opportunities -- 4.5 Conclusion -- References -- 5 Clouds and Reproducibility: A Way to Go to ScientificExperiments? -- 5.1 Introduction -- 5.2 A Taxonomy on Reproducibility of Experiments -- 5.3 How Clouds Can Foster Reproducibility in Science? -- 5.4 Reproducible Research Architecture -- 5.5 Survey on Approaches for Reproducible Science -- 5.5.1 SHARE: Sharing Hosted Autonomous Research Environments -- 5.5.2 Paper Mâché -- 5.5.3 CDE: Code, Data, and Environment -- 5.5.4 Reprozip -- 5.5.5 PASS: Provenance Aware Storage Systems -- 5.5.6 SciCumulus Workflow System -- 5.5.7 Reproducible Research in the Cloud -- 5.5.7.1 WSSE: Whole System Snapshot Exchange -- 5.5.7.2 Chef -- 5.5.7.3 Reproducibility with AMOS -- 5.5.7.4 PDIFF: Using Provenance and Data Differencing for Workflow Reproducibility -- 5.5.8 Final Considerations -- 5.6 Conclusions -- References -- 6 Big Data Analytics in Healthcare: A Cloud-Based Framework for Generating Insights -- 6.1 Introduction -- 6.2 Genomics and Clinical Data -- 6.2.1 Genomics Data -- 6.2.2 Clinical Data -- 6.3 Data Integration -- 6.4 Data Consistency -- 6.5 Data Infrastructure -- 6.6 Data Analysis -- 6.7 Conclusions -- References -- Part III Data Cloud -- 7 High-Performance Graph Data Management and Mining in Cloud Environments with X10 -- 7.1 Introduction -- 7.2 Challenges and Technologies: Review of Previous Work -- 7.2.1 HPC Graph Data Processing -- 7.2.2 Graph Data Management -- 7.2.3 HPC Graph Data Management Benchmarks -- 7.3 Overview of X10 -- 7.4 Large Graph Processing with X10 -- 7.4.1 ScaleGraph Architecture -- 7.4.2 Implementation of Graph Algorithms in ScaleGraph -- 7.4.2.1 Degree Distribution Calculation -- 7.4.2.2 Betweenness Centrality -- 7.4.2.3 Spectral Clustering
- 12.3.3 Cloud-IoT
- Intro -- Foreword -- Preface -- 1. Introduction -- 2. Expected Audience -- 3. Book Overview -- Part I: General Principles -- Part II: Science Cloud -- Part III: Data Cloud -- Part IV: Multi-clouds -- Part V: Performance and Efficiency -- Acknowledgements -- Contents -- Part I General Principles -- 1 The Rise of Cloud Computing in the Era of Emerging Networked Society -- 1.1 Introduction -- 1.2 Cloud Computing in Nutshell -- 1.2.1 Service Models and Deployment Modes of Cloud Computing -- 1.2.1.1 Cloud Service Models -- 1.2.1.2 Cloud Deployment Modes -- 1.3 Networked Society -- 1.3.1 Taxonomy of Enabling Technologies of Networked Society -- 1.3.1.1 Edge Computing: Cloudlet, Fog Computing, and Mobile-Edge Computing -- 1.3.1.2 Internet of Things: Smart Grids and Smart Cities -- 1.3.1.3 Big Data -- 1.3.2 5G Networks: Technology Requirements and Potential Use Cases -- 1.3.2.1 Cloud Radio Access Network (C-RAN) -- 1.3.2.2 Tactile Internet -- 1.3.2.3 Software-Defined Networking (SDN) -- 1.3.2.4 Network Function Virtualization (NFV) -- 1.3.2.5 Augmented Reality, Virtual Reality, and Mixed Reality -- 1.3.2.6 Network Slicing -- 1.3.2.7 Containerization -- 1.4 Conclusions -- References -- 2 Mirror Mirror on the Wall, How Do I Dimension My Cloud After All? -- 2.1 Introduction -- 2.2 Desiderata for HPC Applications and Scientific Workflows -- 2.2.1 Scientific Applications -- 2.2.2 Computer-Based Scientific Experiments -- 2.2.3 Scientific Workflows -- 2.3 Static Cloud Dimensioning -- 2.3.1 Mathematical Formulation -- 2.3.2 Federated Clouds Scenario -- 2.3.3 A Heuristic Approach -- 2.3.4 Experimental Results for Static Cloud Dimensioning -- 2.4 Dynamic Cloud Dimensioning -- 2.5 Survey on Existing Approaches for Cloud Dimensioning -- 2.6 Conclusions and Open Problems -- References
- 9.6.2 Architecture Importance for Cloud Advancement -- 9.7 Data Interchange Format and Message Bus Evaluations -- 9.7.1 Evaluation Environment Setup -- 9.7.2 Use Case Description -- 9.7.3 Data Structuring -- 9.7.3.1 XML -- 9.7.3.2 JSON -- 9.7.3.3 MessagePack -- 9.7.3.4 Protocol Buffers -- 9.7.4 Serialisation Compactness -- 9.7.4.1 Short Summary -- 9.8 Conclusion and Future Work -- References -- 10 Applying Self-* Principles in Heterogeneous Cloud Environments -- 10.1 Introduction -- 10.2 Autonomic Computing -- 10.2.1 Properties of Autonomic Computing -- 10.2.2 The Autonomic Loop -- 10.2.3 European Initiatives for Autonomic Clouds -- 10.3 Cloud Architectures -- 10.3.1 Service Automation -- 10.3.2 Autonomic SLA Management -- 10.3.3 Cloud Brokerage and Cloud Service Lifecycle -- 10.4 Self-* -- 10.5 Applications of Self-* Principles in Cloud Computing -- 10.6 Conclusion -- References -- Part V Performance and Efficiency -- 11 Optimizing the Profit and QoS of Virtual Brokers in the Cloud -- 11.1 Introduction -- 11.2 Brokering and Virtual Brokering in Cloud Computing Systems -- 11.2.1 Cloud Brokering -- 11.2.2 Broker Types -- 11.2.3 The Virtual Broker for IaaS -- 11.3 Virtual Machine Planning for a Virtual Cloud Broker -- 11.3.1 Problem Formulation -- 11.3.2 Extended Problem Formulation -- 11.4 The Proposed Scheduling Methods -- 11.4.1 Online Scheduling Heuristics -- 11.4.2 Offline Scheduling Heuristics -- 11.5 Experimental Evaluation -- 11.5.1 Problem Instances -- 11.5.2 Computing Infrastructure -- 11.5.3 Experimental Results for the Location-Agnostic Problem -- 11.5.4 Experimental Results for the Location-Aware Problem -- 11.6 Conclusions and Future Work -- References -- 12 Adaptive Resource Allocation for Load Balancing in Cloud -- 12.1 Introduction -- 12.2 Related Work -- 12.3 Cloud Computing Continuum -- 12.3.1 Cloudlets -- 12.3.2 Fog Computing