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:
Bibliographic Details
Main Authors Antonopoulos, Nick, Gillam, Lee
Format eBook Book
LanguageEnglish
Published Cham Springer Nature 2017
Springer
Springer International Publishing AG
Springer International Publishing
Edition2
SeriesComputer Communications and Networks
Subjects
Online AccessGet 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