Description
Distributed and Cloud Computing: From Parallel Processing to the Internet of Things offers complete coverage of modern distributed computing technology including clusters, the grid, service-oriented architecture, massively parallel processors, peer-to-peer networking, and cloud computing. It is the first modern, up-to-date distributed systems textbook; it explains how to create high-performance, scalable, reliable systems, exposing the design principles, architecture, and innovative applications of parallel, distributed, and cloud computing systems.Topics covered by this book include: facilitating management, debugging, migration, and disaster recovery through virtualization; clustered systems for research or ecommerce applications; designing systems as web services; and social networking systems using peer-to-peer computing. The principles of cloud computing are discussed using examples from open-source and commercial applications, along with case studies from the leading distributed computing vendors such as Amazon, Microsoft, and Google. Each chapter includes exercises and further reading, with lecture slides and more available online.This book will be ideal for students taking a distributed systems or distributed computing class, as well as for professional system designers and engineers looking for a reference to the latest distributed technologies including cloud, P2P and grid computing.- Complete coverage of modern distributed computing technology including clusters, the grid, service-oriented architecture, massively parallel processors, peer-to-peer networking, and cloud computing- Includes case studies from the leading distributed computing vendors: Amazon, Microsoft, Google, and more- Explains how to use virtualization to facilitate management, debugging, migration, and disaster recovery- Designed for undergraduate or graduate students taking a distributed systems course—each chapter includes exercises and further reading, with lecture slides and more available online
Table of Contents
Part 1: Systems Modeling, Clustering and VirtualizationChapter 1: Distributed System Models and Enabling Technologies1.1 Scalable Computing Service over The Internet1.2 Technologies for Network-based Computing1.3 System Models for Distributed and Cloud Computing1.4 Software Environments for Distributed Systems and Clouds1.5 Performance, Security, and Energy-Efficiency1.6 Bibliographic Notes and Homework ProblemsChapter 2: Computer Clusters for Scalable Computing2.1 Clustering for Massive Parallelism2.2 Computer Clusters and MPP Architectures2.3 Design Principles of Computer Clusters2.4 Cluster Job and Resource Management2.5 Case Studies of Supercomputyers and MPP Systems2.6 Bibliographic Notes and Homework ProblemsChapter 3: Virtual Machines and Virtualization of Clusters and Datacenters3.1 Implementation Levels of Virtualization3.2 Virtualization Structures/Tools and Mechanisms3.3 Virtualization of CPU, Memory and I/O Devices3.4 Virtual Clusters and Resource Management3.5 Virtualization for Datacenter Automation3.6 Bibliographic Notes and Homework ProblemsPart 2: Computing Clouds and Service-Oriented ArchitectureChapter 4: Design of Cloud Computing Platforms4.1 Cloud Computing and Service Models4.2 Datacenter Design and Interconnection Networks4.3 Architecture Design of Compute and Storage Clouds4.4 Public Cloud Platforms: GAE, AWS and Windows Azure4.5 Cloud Resource Management and Exchanges4.6 Cloud Security and Trust Management4.7 References and Homework ProblemsChapter 5: Service Oriented Architectures5.1 Services and Service Oriented Architectures5.2 Message-Oriented Middleware5.3 Portals and Science Gateways5.4 Discovery, Registries, Metadata, and Databases5.5 Workflow in Service-Oriented Architectures5.6 Bibliographic Notes and Homework ProblemsChapter 6: Cloud Programming and Software Environments6.1 Features of Cloud and Grid Platforms6.2 Parallel and Distributed Programming Paradigms6.3 Programming Support of Google App Engine6.4 Amazon Web Services (AWS) Programming6.5 Microsoft Azure Programming Support6.6 Emerging Cloud Software Environments6.7 Bibliographic Notes and Homework ProblemsPart 3: Grids, P2P, and The Future InternetChapter 7: Grid Computing and Resource Management7.1 Grid Architecture and Service Modeling7.2 Case Studies of Grid Computing Systems7.3 Grid Resource Management and Brokering7.4 Middleware Support for Grid Resource Management7.5 Grid Security Infrastructure in GT47.6 Bibliographic Notes and Homework ProblemsChapter 8: P2P Computing with Overlay Networks8.1 Peer-to-Peer Computing Systems8.2 P2P Overlay Networks and Properties8.3 Routing, Proximity and Fault Tolerance8.4 Trust and Reputation Management8.5 P2P File Sharing and Copyright Protection8.6 Bibliographic Notes and Homework ProblemsChapter 9: Ubiquitous Computing with Clouds and The Internet of Things9.1 Cloud Trend To Support Ubiquitous Computing9.2 Performance Metrics for HPC and HTC Systems9.3 Enabling Technologies for The Internet of Things9.4 Innovative Applications of The Internet of Things9.5 On-Line Social and Professional Networking9.6 Bibliographic Notes and Homework Problems



