| |
| |
| List of figures | |
| |
| |
| List of tables | |
| |
| |
| Foreword | |
| |
| |
| Preface | |
| |
| |
| Warranty | |
| |
| |
| |
| Overview of cloud computing | |
| |
| |
| |
| Introduction | |
| |
| |
| |
| Cloud definitions | |
| |
| |
| |
| System architecture | |
| |
| |
| |
| Deployment models | |
| |
| |
| |
| Cloud characteristics | |
| |
| |
| |
| Cloud evolution | |
| |
| |
| |
| Getting ready for the cloud | |
| |
| |
| |
| Brief history | |
| |
| |
| |
| Comparison with related technologies | |
| |
| |
| |
| Cloud services | |
| |
| |
| |
| Cloud projects | |
| |
| |
| |
| Commercial products | |
| |
| |
| |
| Research projects | |
| |
| |
| |
| Cloud challenges | |
| |
| |
| |
| MapReduce programming model | |
| |
| |
| |
| Data management | |
| |
| |
| |
| Resource scheduling | |
| |
| |
| |
| Concluding remarks | |
| |
| |
| |
| Resource scheduling for cloud computing | |
| |
| |
| |
| Introduction | |
| |
| |
| |
| Cloud service scheduling hierarchy | |
| |
| |
| |
| Economic models for resource-allocation scheduling | |
| |
| |
| |
| Market strategies | |
| |
| |
| |
| Auction strategies | |
| |
| |
| |
| Economic schedulers | |
| |
| |
| |
| Heuristic models for task-execution scheduling | |
| |
| |
| |
| Static strategies | |
| |
| |
| |
| Dynamic strategies | |
| |
| |
| |
| Heuristic schedulers | |
| |
| |
| |
| Real-time scheduling in cloud computing | |
| |
| |
| |
| Fixed priority strategies | |
| |
| |
| |
| Dynamic priority strategies | |
| |
| |
| |
| Real-time schedulers | |
| |
| |
| |
| Concluding remarks | |
| |
| |
| |
| Game theoretical allocation in a cloud datacenter | |
| |
| |
| |
| Introduction | |
| |
| |
| |
| Game theory | |
| |
| |
| |
| Normal formulation | |
| |
| |
| |
| Payoff choice and utility function | |
| |
| |
| |
| Strategy choice and Nash equilibrium | |
| |
| |
| |
| Cloud resource allocation model | |
| |
| |
| |
| Bid-shared auction | |
| |
| |
| |
| Non-cooperative game | |
| |
| |
| |
| Nash equilibrium allocation algorithms | |
| |
| |
| |
| Bid functions | |
| |
| |
| |
| Parameters estimation | |
| |
| |
| |
| Equilibrium price | |
| |
| |
| |
| Implementation in a cloud datacenter | |
| |
| |
| |
| Cloudsim toolkit | |
| |
| |
| |
| Communication among entities | |
| |
| |
| |
| Bidding algorithms | |
| |
| |
| |
| Comparison of forecasting methods | |
| |
| |
| |
| Concluding remarks | |
| |
| |
| |
| Multi-dimensional data analysis in a cloud datacenter | |
| |
| |
| |
| Introduction | |
| |
| |
| |
| Pre-computing | |
| |
| |
| |
| Data cube | |
| |
| |
| |
| Sparse cube | |
| |
| |
| |
| Reuse of previous query results | |
| |
| |
| |
| Data compressing | |
| |
| |
| |
| Data indexing | |
| |
| |
| |
| Data partitioning | |
| |
| |
| |
| Data partitioning methods | |
| |
| |
| |
| Horizontal partitioning of a multi-dimensional dataset | |
| |
| |
| |
| Vertical partitioning of a multi-dimensional dataset | |
| |
| |
| |
| Data replication | |
| |
| |
| |
| Query processing parallelism | |
| |
| |
| |
| Inter-and intra-operators | |
| |
| |
| |
| Exchange operator | |
| |
| |
| |
| SQL operator parallelization | |
| |
| |
| |
| Concluding remarks | |
| |
| |
| |
| Data intensive applications with MapReduce | |
| |
| |
| |
| Introduction | |
| |
| |
| |
| MapReduce: New parallel computing model in cloud computing | |
| |
| |
| |
| Dataflow model | |
| |
| |
| |
| Two frameworks: GridGain versus Hadoop | |
| |
| |
| |
| Communication cost analysis | |
| |
| |
| |
| Distributed data storage underlying MapReduce | |
| |
| |
| |
| Google file system | |
| |
| |
| |
| Distributed cache memory | |
| |
| |
| |
| Data accessing | |
| |
| |
| |
| Large-scale data analysis based on MapReduce | |
| |
| |
| |
| Data query languages | |
| |
| |
| |
| Data analysis applications | |
| |
| |
| |
| Comparison with shared-nothing parallel databases | |
| |
| |
| |
| SimMapReduce: Simulator for modeling MapReduce framework | |
| |
| |
| |
| Multi-layer architecture | |
| |
| |
| |
| Input and output of simulator | |
| |
| |
| |
| Implementation details of simulator | |
| |
| |
| |
| Modeling process | |
| |
| |
| |
| Concluding remarks | |
| |
| |
| |
| Large-scale multi-dimensional data aggregation | |
| |
| |
| |
| Introduction | |
| |
| |
| |
| Data organization | |
| |
| |
| |
| Computations in data explorations | |
| |
| |
| |
| Multiple group-by query | |
| |
| |
| |
| Choosing a right MapReduce framework | |
| |
| |
| |
| Advantages of GridGain | |
| |
| |
| |
| Combiner support in Hadoop and GridGain | |
| |
| |
| |
| Realizing MapReduce applications with GridGain | |
| |
| |
| |
| Workflow analysis of GridGain procedure | |
| |
| |
| |
| Parallelizing single group-by query with MapReduce | |
| |
| |
| |
| Parallelizing multiple group-by query with MapReduce | |
| |
| |
| |
| Data partitioning and data placement | |
| |
| |
| |
| MapReduce model-based implementation | |
| |
| |
| |
| MapCombineReduce model-based implementation | |
| |
| |
| |
| Cost estimation | |
| |
| |
| |
| MapReduce model-based implementation | |
| |
| |
| |
| MapCombineReduce model-based implementation | |
| |
| |
| |
| Comparison of implementations | |
| |
| |
| |
| Concluding remarks | |
| |
| |
| |
| Multi-dimensional data analysis optimization | |
| |
| |
| |
| Introduction | |
| |
| |
| |
| Data-locating based job-scheduling | |
| |
| |
| |
| Job-scheduling implementation | |
| |
| |
| |
| Two-level scheduling | |
| |
| |
| |
| Alternative job-scheduling schemes | |
| |
| |
| |
| Improvements by speed-up measurements | |
| |
| |
| |
| Horizontal partitioning | |
| |
| |
| |
| Vertical partitioning | |
| |
| |
| |
| Improvements by affecting factors | |
| |
| |
| |
| Query selectivity | |
| |
| |
| |
| Side effects | |
| |
| |
| |
| Improvement by cost estimation | |
| |
| |
| |
| Horizontal partitioning | |
| |
| |
| |
| Vertical partitioning | |
| |
| |
| |
| Comparison of partitioning | |
| |
| |
| |
| Compressed data structures | |
| |
| |
| |
| Data structure description | |
| |
| |
| |
| Data structures for storing recordId-list | |
| |
| |
| |
| Compressed data structures for different dimensions | |
| |
| |
| |
| Bitmap sparcity and compressing | |
| |
| |
| |
| Concluding remarks | |
| |
| |
| |
| Real-time scheduling with MapReduce | |
| |
| |
| |
| Introduction | |
| |
| |
| |
| Real-time scheduling problem | |
| |
| |
| |
| Real-time task | |
| |
| |
| |
| Processing resource | |
| |
| |
| |
| Scheduling algorithms | |
| |
| |
| |
| Schedulability test in the cloud datacenter | |
| |
| |
| |
| Pseudo-polynomial complexity | |
| |
| |
| |
| Polynomial complexity | |
| |
| |
| |
| Constant complexity | |
| |
| |
| |
| Utilization bounds for schedulability testing | |
| |
| |
| |
| Classical bound | |
| |
| |
| |
| Closer periods | |
| |
| |
| |
| Harmonic chains | |
| |
| |
| |
| Hyperbolic bound | |
| |
| |
| |
| Real-time task scheduling with MapReduce | |
| |
| |
| |
| System model | |
| |
| |
| |
| MapReduce segmentation | |
| |
| |
| |
| Worst pattern for a schedulable task set | |
| |
| |
| |
| Reliability indication methods | |
| |
| |
| |
| Reliability indicator | |
| |
| |
| |
| Schedulability test conditions | |
| |
| |
| |
| Comparison of rate monotonic conditions | |
| |
| |
| |
| Comparison of deadline monotonic conditions | |
| |
| |
| |
| Concluding remarks | |
| |
| |
| |
| Future for cloud computing | |
| |
| |
| Bibliography | |
| |
| |
| Index | |