外文科技图书简介
当前位置:首页 > 检索结果 >文献详细内容

书名:Mastering cloud computing

责任者:Rajkumar Buyya  |  Christian Vecchiola  |  S. Thamarai Selvi.  |  Selvi, S. Thamarai.

ISBN\ISSN:9780124114548,0124114547 

出版时间:2013

出版社:Morgan Kaufmann

分类号:自动化技术、计算机技术


摘要

Mastering Cloud Computing is designed for undergraduate students learning to develop cloud computing applications. Tomorrow's applications won’t live on a single computer but will be deployed from and reside on a virtual server, accessible anywhere, any time. Tomorrow's application developers need to understand the requirements of building apps for these virtual systems, including concurrent programming, high-performance computing, and data-intensive systems. The book introduces the principles of distributed and parallel computing underlying cloud architectures and specifically focuses on virtualization, thread programming, task programming, and map-reduce programming. There are examples demonstrating all of these and more, with exercises and labs throughout.

查看更多

目录

Acknowledgments xi

Preface Xiii

PART 1 FOUNDATIONS

CHAPTER 1 Introduction 3

1.1 Cloud computing at a glance 3

      1.1.1 The v ision of cloud computing 5

      1.1.2 Defining a cloud 7

      1.1.3 A closer look 9

      1.1.4 The cloud computing reference model 11

      1.1.5 Characteristics and benefits 13

      1.1.6 Challenges ahead 14

1.2 Historical developments 15

      1.2.1 Distributed systems 15

      1.2.2 Virtualization 18

      1.2.3 Web 2.0 19

      1.2.4 Service-oriented computing 20

      1.2.5 Utihty-onented computing 21

1.3 Building cloud computin g environments 22

      1.3.1 Application development 22

      1.3.2 lnfrastmcture an d system development 23

      1.3.3 Computing platforms and technologies 24

Summary 26

Review questions 27

CHAPTER 2 Principles of Parallel and Distributed Computing 29

2.1 Eras of comput ing 29

2.2 Parallel vs. distributed comput ing 29

2.3 Elements of parallel computi ng 31

      2.3.1 What is parallel processing? 31

      2.3.2 Hardware architectures for parallel processing 32

      2.3.3 Approaches to parallel programming 36

      2.3.4 Level s of parallelism 36

      2.3.5 Laws of caution 37

2.4 Elements of distributed computing 39

      2.4.1 General concepts and definitions 39

      2.4.2 Components of a distributed system 39

      2.4.3 Architectural styles for distributed computing 41

      2.4.4 Models for interprocess communication 51

2.5 Technologies for distributed computing 54

      2.5.1 Remote procedure call 54

      2.5.2 Distributed object frameworks. 56

      2.5.3 Service-oriented computing 61

Summary 69

Review questions 70

CHAPTER 3 Virtuallzat1on 71

3.1 Introduction 71

3.2 Characteristics of virtualized environments 73

      3.2.1 Increased security 74

      3.2.2 Managed execution 75

      3.2.3 Portability 77

3.3 Taxonomy of virtualization techniques. 77

      3.3.1 Execution virtualization 77

      3.3.2 Other types of virtualization 89

3.4 Virtualization and cloud computing 91

3.5 Pros and cons of virtualization 93

      3.5.1 Advantages of virtualization 93

      3.5.2 The other side of the coin: disadvantages 94

3.6 Technology examples 95

      3.6.1 Xen: paravirtualization 96

      3.6.2 VMware: full virtualization 97

      3.6.3 Microsoft Hyper-V 104

Summary 109

Review questions 109

CHAPTER 4 Cloud Computing Architecture 111

4.1 Introduction 111

4.2 The cloud reference model 112

      4.2.1 Architecture 112

      4.2.2 Infrastructure- and hardware-as-a-service 114

      4.2 3 Platform as a service 117

      4.2.4 Softwaie as a service 121

4.3 Types of clouds 124

      4.3.1 Public clouds 125

      4.3.2 Pri vate clouds 126

      4.3.3 Hybrid clouds 128

      4.3.4 Com munity clouds 131

4.4 Economics of the cloud 133

4.5 Open challenges 135

      4.5.1 Cloud definition 135

      4.5.2 Cloud i nteropeiability and standards 136

      4.5.3 Scalabi lity and fault tolerance 137

Summary 139

Review questions 139

PART 2 CLOUD APPLICATI ON PROGRAMMING AND THE ANEKA PLATFORM

CHAPTER 5 Aneka 143

5.1 Framework overview 143

5.2 Anatomy of the Aneka container 146

      5.2.1 From the ground up: the platform abstraction layer 147

      5.2.2 Fabric services 147

      5.2.3 Foundation services 150

      5.2.4 Application services 153

5.3 Building An eka clouds 155

      5.3.1 Infrastructure organization 155

      5.3.2 Logical organization 155

      5.3.3 Pnvate cloud deployment mode 158

      5.3.4 Public cloud deployment mode 158

      5.3.5 Hybrid cloud deployment mode 160

5.4 Cloud programming and management 162

      5.4.1 Aneka SOK 162

      5.4.2 Management tools 167

Summary 168

Review questions 168

CHAPTER 6 Concurrent Computing 171

6.1 Introducing parallelism for single-machine computation 17I

6.2 Programming applications with threads 173

      6.2.1 What is a thread? 174

      6.2.2 Thread APis 174

      6.2.3 Techniques for parallel computation with threads 177

6.3 Multithreading with Aneka 189

      6.3.1 Introducing the thread programming model 190

      6.3.2 Aneka thread vs. common threads 191

6.4 Programming applications with Aneka threads 195

      6.4.1 Aneka threads application model 195

      6.4.2 Domain decomposition : matrix multiplication 196

      6.4.3 Functional decomposition : Sine, Cosine, and Tangent 203

CHAPTER 7 High-Throughput Computing 211

7.1 Task computing 211

      7.1.1 Characterizing a task 212

      7.1.2 Computing categories 213

      7.1.3 Frameworks for task computing 214

7.2 Task-based application models 216

      7.2.1 Embarrassingly parallel applications 216

      7.2.2 Parameter sweep applications 217

      7.2.3 MPI applications 218

      7.2.4 Workflow applications with task dependencies 222

7.3 Aneka task-based programming 225

      7.3.1 Task progrenming model 226

      7.3.2 Developing applications with the task model 227

      7.3.3 Developing a parameter sweep application 243

      7.3.4 Managing workflows 248

Summary 250

Review questions 251

CHAPTER 8 Data-Intensive Computing 253

8.1 What is data-intensive computing? 253

      8.1.1 Characterizing data-intensive computations 254

      8.1.2 Challenges ahead 254

      8.1.3 Historical perspecti ve 255

8.2 Technologies for data-intensive compuun g 260

      8.2.1 Storage systems 260

      8.2.2 Progra mming platforms 268

8.3 Aneka MapReduce programming 276

      8.3.1 Introducing the MapReduce programming model 276

      8.3.2 Example appli cation 293

Summary 309

Review questions 310

PART 3 INDUSTRIAL PLATFORMS AND NEW DEVELOPMENTS

CHAPTER 9 Cloud Platforms m Industry 315

9.1 Amazon web services 315

      9.1.1 Compute services 316

      9.1.2 Storage services 32 1

      9.1.3 Communicauon services 329

      9.1.4 Additional services E 332

9.2 Google AppEngme 332

      9.2.1 Architecture and core concepts 333

      9.2.2 Application life cycle 338

      9.2.3 Cost model 340

      9.2.4 Observations 341

9.3 Microsoft Azure 341

      9.3.1 Azure core concepts 342

      9.3.2 SQL Azu1e 347

      9.3.3 Wi ndows Azu1e pl atfo1m apph ance 349

      9.3.4 Observations 349

CHAPTER 10 Cloud App lications 353

10.1 Scientific applications 353

      10.1.1 Healthcare: ECG analysis in the cloud 353

      10.1.2 B1ology: prote in structure prediction 355

      10.1.3 Biology: gene expression data analysis for cancer diagnosis 357

      10.1.4 Geoscie nce: satel lite image processing 358

10.2 Business and consumer applications. 358

      10.2.1 CRM and ERP 359

      10.2.2 Productivity 362

      10.2.3 Social networking 365

      10.2.4 Media applications 366

      10.2.5 Multiplayer online gaming 369

Summary 370

Review questions 371

CHAPTER 11 Advanced Topics in Cloud Computing 373

11.1 Energy efficiency m clouds 373

      11.1.1 Energy-efficient and green cloud computing architecture 375

11.2 Market-based management of clouds 377

      11.2.1 Market-oriented cloud computing 378

      11.2.2 A reference model for MOCC 379

      11.2.3 Technologies and initiatives supporting MOCC 384

      11.2.4 Observations 389

11.3 Federated clouds/lnte Cloud 390

      11.3.1 Characterization and definition 391

      11.3.2 Cloud federation stack 392

      11.3.3 Aspects of interest 399

      11.3.4 Technologies for cloud federations 417

      11.3.5 Observations 422

11.4 Third-party cloud services 422

      11.4.1 MetaCDN 423

      11.4.2 SpotCloud 425

Summary 425

Review questions 427

References 429

Index 439

查看更多

作者简介

Dr. S. Thamarai Selvi, Professor and Head of the Department of Information Technology at Madras Institute of Technology, Anna University, Chennai, India

查看更多

馆藏单位

中科院文献情报中心