Cloud computing: theory and practice 3rd edition dan c. marinescu - Download the ebook now to start

Page 1


https://ebookmass.com/product/cloud-computing-theory-andpractice-3rd-edition-dan-c-marinescu/

Instant digital products (PDF, ePub, MOBI) ready for you

Download now and discover formats that fit your needs...

Complex Systems and Clouds. A Self-Organization and SelfManagement Perspective 1st Edition Dan C. Marinescu

https://ebookmass.com/product/complex-systems-and-clouds-a-selforganization-and-self-management-perspective-1st-edition-dan-cmarinescu/ ebookmass.com

CompTIA Cloud+ Guide to Cloud Computing West

https://ebookmass.com/product/comptia-cloud-guide-to-cloud-computingwest/

ebookmass.com

Cloud-native Computing Pethuru Raj

https://ebookmass.com/product/cloud-native-computing-pethuru-raj/

ebookmass.com

Strategies for Palladium-Catalyzed Non-Directed and Directed C-H Bond Functionalization 1st Edition Edition Anant R. Kapdi And Debabrata Maiti (Eds.)

https://ebookmass.com/product/strategies-for-palladium-catalyzed-nondirected-and-directed-c-h-bond-functionalization-1st-edition-editionanant-r-kapdi-and-debabrata-maiti-eds/ ebookmass.com

Contesting the Olympics in American Cities: Chicago 2016, Boston 2024, Los Angeles 2028 1st Edition Andranovich

https://ebookmass.com/product/contesting-the-olympics-in-americancities-chicago-2016-boston-2024-los-angeles-2028-1st-editionandranovich/

ebookmass.com

Intermittent Demand Forecasting: Context, Methods and Applications Syntetos

https://ebookmass.com/product/intermittent-demand-forecasting-contextmethods-and-applications-syntetos/

ebookmass.com

The Scourge Between Stars Ness Brown

https://ebookmass.com/product/the-scourge-between-stars-ness-brown/

ebookmass.com

Functional And Clinical Neuroanatomy. A Guide For Health Care Professionals Jahangir Moini

https://ebookmass.com/product/functional-and-clinical-neuroanatomy-aguide-for-health-care-professionals-jahangir-moini/

ebookmass.com

Harper bioquímica ilustrada : 30a edición 30th Edition

https://ebookmass.com/product/harper-bioquimicailustrada-30a-edicion-30th-edition-victor-w-rodwell/

ebookmass.com

https://ebookmass.com/product/facial-trauma-surgery-from-primaryrepair-to-reconstruction-1st-edition-amir-dorafshar/

ebookmass.com

Cloud Computing Theory and Practice

THIRD EDITION

Department of Computer Science, University of Central Florida, Orlando, FL, United States

Table of Contents

Cover image

Title page

Copyright

Dedication

Preface to third edition

Abbreviations

Chapter 1: Introduction

1.1. Cloud computing, an old idea whose time has come

1.2. Energy use and ecological impact of cloud computing

1.3. Ethical issues in cloud computing

1.4. Factors affecting cloud service availability

1.5. Network-centric computing and network-centric content

Chapter 2: The cloud ecosystem

2.1. Cloud computing delivery models and services

2.2. Amazon Web Services

2.3. Google Clouds

2.4. Microsoft Windows Azure and online services

2.5. IBM clouds

2.6. Cloud storage diversity and vendor lock-in

2.7. Cloud interoperability

2.8. Service-level Agreements and Compliance-level Agreements

2.9. Responsibility sharing between user and service provider

2.10. User challenges and experience

2.11. Software licensing

2.12. Challenges faced by cloud computing

2.13. Cloud computing as a disruptive technology

2.14. Exercises and problems

Literature

Chapter 3: Parallel processing and distributed computing

3.1. Computer architecture concepts

3.2. Grand architectural complications

3.3. ARM architecture

3.4. SIMD architectures

3.5. Graphics processing units

3.6. Tensor processing units

3.7. Systems on a chip

3.8. Data, thread-level, and task-level parallelism

3.9. Speedup, Amdhal's law, and scaled speedup

3.10. Multicore processor speedup

3.11. From supercomputers to distributed systems

3.12. Modularity. Soft modularity versus enforced modularity

3.13. Layering and hierarchy

3.14. Peer-to-peer systems

3.15. Large-scale systems

3.16. Composability bounds and scalability (R)

3.17. Distributed computing fallacies and the CAP theorem

3.18. Blockchain technology and applications

3.19. History notes and further readings

3.20. Exercises and problems

Chapter 4: Cloud hardware and software

4.1. Cloud infrastructure challenges

4.2. Cloud hardware; warehouse-scale computer (WSC)

4.3. WSC performance

4.4. Hypervisors

4.5. Execution of coarse-grained data-parallel applications

4.6. Fine-grained cluster resource sharing in Mesos

4.7. Cluster management with Borg

4.8. Evolution of a cluster management system

4.9. Shared state cluster management

4.10. QoS-aware cluster management

4.11. Resource isolation

4.12. In-memory cluster computing for Big Data

4.13. Containers; Docker containers

4.14. Kubernetes

4.15. Further readings

4.16. Exercises and problems

Literature

Chapter 5: Cloud resource virtualization

5.1. Resource virtualization

5.2. Performance and security isolation in computer clouds

5.3. Virtual machines

5.4. Full virtualization and paravirtualization

5.5. Hardware support for virtualization

5.6. QEMU

5.7. Kernel-based Virtual Machine

5.8. Xen a hypervisor based on paravirtualization

5.9. Optimization of network virtualization in Xen 2.0

5.10. Nested virtualization

5.11. A trusted kernel-based virtual machine for ARMv8

5.12. Paravirtualization of Itanium architecture

5.13. A performance comparison of virtual machines

5.14. Open-source software platforms for private clouds

5.15. The darker side of virtualization

5.16. Virtualization software

5.17. History notes and further readings

5.18. Exercises and problems

Literature

Chapter 6: Cloud access and cloud interconnection networks

6.1. Packet-switched networks and the Internet

6.2. Internet evolution

6.3. TCP congestion control

6.4. Content-centric networks; named data networks (R)

6.5. Software-defined networks; SD-WAN

6.6. Interconnection networks for computer clouds

6.7. Multistage interconnection networks

6.8. InfiniBand and Myrinet

6.9. Storage area networks and the Fibre Channel

6.10. Scalable data center communication architectures

6.11. Network resource management algorithms (R)

6.12. Content delivery networks

6.13. Vehicular ad hoc networks

6.14. Further readings

6.15. Exercises and problems

Literature

Chapter 7: Cloud data storage

7.1. Dynamic random access memories and hard disk drives

7.2. Solid-state disks

7.3. Storage models, file systems, and databases

7.4. Distributed file systems; the precursors

7.5. General parallel file system

7.6. Google file system

7.7. Locks; Chubby a locking service

7.8. RDBMS cloud mismatch

7.9. NoSQL databases

7.10. Data storage for online transaction processing systems

7.11. BigTable

7.12. Megastore

7.13. Storage reliability at scale

7.14. Disk locality versus data locality in computer clouds

7.15. Database provenance

7.16. History notes and further readings

7.17. Exercises and problems

Literature

Chapter 8: Cloud security

8.1. Security the top concern for cloud users

8.2. Cloud security risks

8.3. Security as a service (SecaaS)

8.4. Privacy and privacy impact assessment

8.5. Trust

8.6. Cloud data encryption

8.7. Security of database services

8.8. Operating system security

8.9. Virtual machine security

8.10. Security of virtualization

8.11. Security risks posed by shared images

8.12. Security risks posed by a management OS

8.13. Xoar breaking the monolithic design of the TCB

8.14. Mobile devices and cloud security

8.15. Mitigating cloud vulnerabilities in the age of ransomware

8.16. AWS security

8.17. Further readings

8.18. Exercises and problems

Literature

Chapter 9: Cloud resource management and scheduling

9.1. Policies and mechanisms for resource management

9.2. Scheduling algorithms for computer clouds

9.3. Delay scheduling (R)

9.4. Data-aware scheduling (R)

9.5. Apache capacity scheduler

9.6. Start-time fair queuing (R)

9.7. Borrowed virtual time (R)

9.8. Cloud scheduling subject to deadlines (R)

9.9. MapReduce application scheduling subject to deadlines (R)

9.10. Resource bundling; combinatorial auctions for cloud resources

9.11. Cloud resource utilization and energy efficiency

9 12 Resource management and dynamic application scaling

9.13. Control theory and optimal resource management (R)

9.14. Stability of two-level resource allocation strategy (R)

9 15 Feedback control based on dynamic thresholds (R)

9.16. Coordination of autonomic performance managers (R)

9.17. A utility model for cloud-based web services (R)

9 18 Cloud self-organization

9.19. Cloud interoperability

9.20. Further readings

9.21. Exercises and problems

Literature

Chapter 10: Concurrency and cloud computing

10.1. Enduring challenges

10.2. Communication and concurrency

10.3. Computational models; communicating sequential processes

10.4. The bulk synchronous parallel model

10.5. A model for multicore computing

10.6. Modeling concurrency with Petri nets

10.7. Process state; global state of a process or thread group

10.8. Communication protocols and process coordination

10.9. Communication, logical clocks, and message delivery rules

10 10 Runs and cuts; causal history

10.11. Threads and activity coordination

10.12. Critical sections, locks, deadlocks, and atomic actions

10 13 Consensus protocols

10.14. Load balancing

10.15. Multithreading in Java; FlumeJava; Apache Crunch

10.16. History notes and further readings

10.17. Exercises and problems

Literature

Chapter 11: Cloud applications

11.1. Cloud application development and architectural styles

11.2. Coordination of multiple activities

11.3. Workflow patterns

11.4. Coordination based on a state machine model zookeeper

11.5. MapReduce programming model

11.6. Case study: the GrepTheWeb application

11.7. Hadoop, Yarn, and Tez

11.8. SQL on Hadoop: Pig, Hive, and Impala

11.9. Current cloud applications and new applications opportunities

11.10. Clouds for science and engineering

11.11. Cloud computing and biology research

11.12. Social computing, digital content, and cloud computing

11.13. Software fault isolation

11.14. Further readings

11.15. Exercises and problems

Literature

Chapter 12: Big Data, data streaming, and the mobile cloud

12.1. Big Data

12.2. Data warehouses and Google databases for Big Data

12.3. Dynamic data-driven applications

12.4. Data streaming

12.5. A dataflow model for data streaming

12.6. Joining multiple data streams

12.7. Mobile computing and applications

12.8. Energy efficiency of mobile computing

12.9. Alternative mobile cloud computing models

12.10. System availability at scale (R)

12.11. Scale and latency (R)

12.12. Edge computing and Markov decision processes (R)

12.13. Bootstrapping techniques for data analytics (R)

12.14. Approximate query processing (R)

12.15. Further readings

12.16. Exercises and problems

Chapter 13: Emerging clouds

13.1. A short-term forecast

13.2. Machine learning on clouds

13.3. Quantum computing on clouds

13.4. Vehicular clouds

13.5. Final thoughts

Literature

Appendix A: Cloud projects

A.1. Cloud simulation of a distributed trust algorithm

A.2. A trust management service

A.3. Simulation of traffic management in a smart city

A.4. A cloud service for adaptive data streaming

A.5. Optimal FPGA synthesis

A.6. Tensor network contraction on AWS

A.7. A simulation study of machine-learning scalability

A.8. Cloud-based task alert application

A.9. Cloud-based health-monitoring application

Literature

Appendix B: Cloud application development

B.1. AWS EC2 instances

B.2. Connecting clients to cloud instances through firewalls

B.3. Security rules for application- and transport-layer protocols in EC2

B.4. How to launch an EC2 Linux instance and connect to it

B 5 How to use S3 in Java

B.6. How to manage AWS SQS services in C#

B.7. How to install SNS on Ubuntu 10.04

B 8 How to create an EC2 placement group and use MPI

B.9. StarCluster—a cluster computing toolkit for EC2

B.10. An alternative setting of an MPI virtual cluster

B 11 How to install hadoop on eclipse on a windows system

B.12. Exercises and problems

Literature

Literature

Literature

Glossary

Index

Copyright

Morgan Kaufmann is an imprint of Elsevier 50 Hampshire Street, 5th Floor, Cambridge, MA 02139, United States

Copyright © 2023 Elsevier Inc. All rights reserved.

MATLAB® is a trademark of The MathWorks, Inc. and is used with permission. The MathWorks does not warrant the accuracy of the text or exercises in this book.

This book's use or discussion of MATLAB® software or related products does not constitute endorsement or sponsorship by The MathWorks of a particular pedagogical approach or particular use of the MATLAB® software.

No part of this publication may be reproduced or transmied in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publisher's permissions policies and our arrangements with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions.

This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein).

Notices

Knowledge and best practice in this field are constantly changing. As new research and experience broaden our understanding, changes in research methods, professional practices, or medical treatment may become necessary.

Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information, methods, compounds, or experiments described herein. In using such information or methods they should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility.

To the fullest extent of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/or damage to persons or property as a maer of products liability, negligence or otherwise, or from any use or operation of any methods, products, instructions, or ideas contained in the material herein.

Library of Congress Cataloging-in-Publication Data

A catalog record for this book is available from the Library of Congress

British Library Cataloguing-in-Publication Data

A catalogue record for this book is available from the British Library

ISBN: 978-0-323-85277-7

For information on all Morgan Kaufmann publications visit our website at hps://www.elsevier.com/books-and-journals

Publisher: Katey Birtcher

Acquisitions Editor: Steve Merken

Editorial Project Manager: Naomi Robertson

Production Project Manager: Nadhiya Sekar

Designer: Mahew Limbert

Typeset by VTeX

Printed in United States

Last digit is the print number: 9 8

Dedication

Preface to third edition

This text targets a broad audience, including the large number of individuals without a formal training in computer science, yet addicted to cloud computing, who want to optimize their applications and wish to beer understand the inner workings of intricate systems such as computer clouds. The text could also be useful to software engineers tempted to exploit concurrency and take advantage of the computing power of multicore processors, graphics processing units, and tensor processing units. Graduate students who conduct research on different aspects of organization and management of computer clouds and complex systems could benefit from research sections marked (R) in several chapters.

Cloud computing has had a transformative impact not only on how we compute today but also on the algorithms we use and on computer systems' hardware and software. The text tracks the evolution of ideas in the field striving to maintain a delicate balance between what a gardener would call perennials, i.e., theoretical concepts mostly invariant in time and critical for understanding and exploiting concurrency, and annuals, i.e., practical recipes with a limited lifespan, helpful for using computer clouds now.

Any text dedicated to cloud computing must be periodically updated to keep up with the breathtaking evolution of cloud computing engines, the cloud software stack, cloud interconnection networks, and applications. The third edition of this book includes a reorganization of chapters, major revisions of most chapters, cloud computing applications to machine learning, Big Data, and other important areas, and a new chapter on emerging clouds.

Chapters 1 and 2 give an informal introduction to computer clouds and to the cloud ecosystem. Cloud computing is intimately

tied to parallel and distributed processing, and Chapter 3 introduces important theoretical and practical concepts related to parallel and distributed computing. Chapters 4 and 5 discuss the cloud infrastructure and virtualization critical for facilitating access to cloud resources. Chapter 6 is dedicated to communication and cloud access and presents the cloud networking infrastructure, interconnection networks, and a scalable data-center communication architectures. Chapter 7 covers storage models, storage reliability at scale, and database services. Chapter 8 is dedicated to cloud security, and Chapter 9 covers resource management and scheduling.

The next three chapters are focused on the other important component of the cloud ecosystem, cloud applications. Chapter 10 covers subjects critical for understanding and using concurrency, including computational models, atomic actions, load balancing, and consensus protocols. Chapter 11 dissects the components of the cloud software stack and the frameworks supporting processing of large data sets. Chapter 12 analyzes challenges posed by Big Data, data streaming, mobile applications, and edge computing. Chapter 13 covers emerging clouds including cloud services supporting machine learning, quantum computing on clouds and vehicular clouds; the vehicular clouds section is wrien by one of the pioneers of this field, Prof. Stefan Olariu from the Old Dominion University. Appendix A presents several cloud projects in large-scale simulations and cloud services, including applications when multiple design alternatives are evaluated concurrently, as well as Big Data applications in computational sciences and machine learning applications. Appendix B covers cloud application development. Some 540 references are cited in the text. A glossary and a list of abbreviations are also provided. The author is grateful for the advice and support of Stephen Merken and the Morgan Kaufmann team.

Teaching ancillaries for this book, including solutions manual, PowerPoint lecture slides, and image bank, are available online to qualified instructors. Visit hps://inspectioncopy.elsevier.com/book/details/9780323852777 for more information and to register for access.

Abbreviations

ABI Application Binary Interface

ACID Atomicity, Consistency, Isolation, Durability

ACL Access Control List

AMI Amazon Machine Image

API Application Program Interface

ARM Advanced RISC Machine

ASIC Application Specific Integrated Circuit

AVX Advanced Vector Extensions

AWS Amazon Web Services

AWSLA Amazon Web Services Licensing Agreement

BASE Basically Available, Soft state, Eventually consistent

BCE Basic Core Equivalent

BIOS Basic Input Output System

BPD Bootstrap Performance Diagnostic

BSP Bulk Synchronous Parallel

CCN Content Centric Network

CDN Content Delivery Network

CISC Complex Instruction Set Computer

COMA Cache Only Memory Access

CORBA Common Object Request Broker Architecture

CPI Cycles per Instruction

CPU Central Processing Unit

CRM Custom Relation Management

CSP Cloud Service Provider

CUDA Compute Unified Device Architecture

DAT Dynamic Address Translation

DBaaS Database as a Service

DDoS Distributed Denial of Service

DHCP Dynamic Host Configuration Protocol

DMA Direct Memory Access

DRAM Dynamic Random Access Memory

DVFS Dynamic Voltage and Frequency Scaling

EBS Elastic Block Store

ECS EC2 Container Service

EC2 Elastic Cloud Computing

EMR Elastic Map Reduce

EPIC Explicitly Parallel Instruction Computing

FC Fiber Channel

FCFS First Come First Serve

FIFO First In First Out

FPGA Field Programmable Gate Array

FSM Finite State Machine

GFS Google File System

GiB Gibi Byte

GIMP GNU Manipulation Program

GPFS General Parallel File System

GPU Graphics Processing Unit

HDD Hard Disk Drive

HDFS Hadoop File System

HTML Hypertext Markup Language

HTTP Hypertext Transfer Protocol

IaaS Infrastructure as a Service

IDE Integrated Drive Electronics

IoT Internet of Things

IPC Instructions per Clock Cycle

IRTF Internet Research Task Force

ISA Instruction Set Architecture

JDBC Java Database Connectivity

JMS Java Message Service

JSON Javascript Object Notation

KVM Kernel-based Virtual Machine

MAC Medium Access Control

MFLOPS Million Floating Point Operations per Second

MIMD Multiple Instruction Multiple Data

MIPS Million Instructions per Second

MLMM Multi-level Memory Manager

MMX Multi Media Extension

MPI Message Passing Interface

MSCR Map Shuffle Combine Reduce

NAT Network Address Translation

NDN Named Data Networks

NFS Network File System

NTFS New Technology File System

NUMA Non-Uniform Memory Access

NV-RAM Non-Volatile Random Access Memory

OCCI Open Cloud Computing Interface

OGF Open Grid Forum

OLTP On Line Transaction Processing

OLAP On Line Analytical Processing

PaaS Platform as a Service

PHP recursive acronym for PHP: Hypertext Preprocessor

PN Petri Net

QOS Quality of Service

RAID Redundant Array of Independent Disks

RAM Random Access Memory

RAR Read After Read

RAW Read After Write

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.