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.
Key Features
- 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
Dedication
Preface
About the Book
A Glance at the Contents
Key Features
Readership and Suggestions to Instructors/Students
Invited Contributions
Permissions and Acknowledgements
About the Authors
Foreword
Part 1: Systems Modeling, Clustering, and Virtualization
Introduction
Chapter 1: Distributed System Models and Enabling Technologies
Chapter 2: Computer Clusters for Scalable Parallel Computing
Chapter 3: Virtual Machines and Virtualization of Clusters and Data Centers
Chapter 1. Distributed System Models and Enabling Technologies
Summary
1.1 Scalable Computing Over the Internet
1.2 Technologies for Network-Based Systems
1.3 System Models for Distributed and Cloud Computing
1.4 Software Environments for Distributed Systems and Clouds
1.5 Performance, Security, and Energy Efficiency
1.6 Bibliographic Notes and Homework Problems
Acknowledgments
References
Homework Problems
Chapter 2. Computer Clusters for Scalable Parallel Computing
Summary
2.1 Clustering for Massive Parallelism
2.2 Computer Clusters and MPP Architectures
2.3 Design Principles of Computer Clusters
2.4 Cluster Job and Resource Management
2.5 Case Studies of Top Supercomputer Systems
2.6 Bibliographic Notes and Homework Problems
Acknowledgments
References
Homework Problems
Chapter 3. Virtual Machines and Virtualization of Clusters and Data Centers
Summary
3.1 Implementation Levels of Virtualization
3.2 Virtualization Structures/Tools and Mechanisms
3.3 Virtualization of CPU, Memory, and I/O Devices
3.4 Virtual Clusters and Resource Management
3.5 Virtualization for Data-Center Automation
3.6 Bibliographic Notes and Homework Problems
Acknowledgments
References
Homework Problems
Part 2: Computing Clouds, Service-Oriented Architecture, and Programming
Introduction
Chapter 4: Cloud Platform Architecture over Virtualized Data Centers
Chapter 5: Service-Oriented Architectures for Distributed Computing
Chapter 6: Cloud Programming and Software Environments
Chapter 4. Cloud Platform Architecture over Virtualized Data Centers
Summary
4.1 Cloud Computing and Service Models
4.2 Data-Center Design and Interconnection Networks
4.3 Architectural Design of Compute and Storage Clouds
4.4 Public Cloud Platforms: GAE, AWS, and Azure
4.5 Inter-cloud Resource Management
4.6 Cloud Security and Trust Management
4.7 Bibliographic Notes and Homework Problems
Acknowledgements
References
Homework Problems
Chapter 5. Service-Oriented Architectures for Distributed Computing
Summary
5.1 Services and Service-Oriented Architecture
5.2 Message-Oriented Middleware
5.3 Portals and Science Gateways
5.4 Discovery, Registries, Metadata, and Databases
5.5 Workflow in Service-Oriented Architectures
5.6 Bibliographic Notes and Homework Problems
Acknowledgements
References
Homework Problems
Chapter 6. Cloud Programming and Software Environments
Summary
6.1 Features of Cloud and Grid Platforms
6.2 Parallel and Distributed Programming Paradigms
6.3 Programming Support of Google App Engine
6.4 Programming on Amazon AWS and Microsoft Azure
6.5 Emerging Cloud Software Environments
6.6 Bibliographic Notes and Homework Problems
Acknowledgement
References
Homework Problems
Part 3: Grids, P2P, and the Future Internet
Introduction
Chapter 7: Grid Computing Systems and Resource Management
Chapter 8: Peer-to-Peer Computing and Overlay Networks
Chapter 9: Ubiquitous Clouds and the Internet of Things
Chapter 7. Grid Computing Systems and Resource Management
Summary
7.1 Grid Architecture and Service Modeling
7.2 Grid Projects and Grid Systems Built
7.3 Grid Resource Management and Brokering
7.4 Software and Middleware for Grid Computing
7.5 Grid Application Trends and Security Measures
7.6 Bibliographic Notes and Homework Problems
Acknowledgments
References
Homework Problems
Chapter 8. Peer-to-Peer Computing and Overlay Networks
Summary
8.1 Peer-to-Peer Computing Systems
8.2 P2P Overlay Networks and Properties
8.3 Routing, Proximity, and Fault Tolerance
8.4 Trust, Reputation, and Security Management
8.5 P2P File Sharing and Copyright Protection
8.6 Bibliographic Notes and Homework Problems
Acknowledgements
References
Homework Problems
Chapter 9. Ubiquitous Clouds and the Internet of Things
Summary
9.1 Cloud Trends in Supporting Ubiquitous Computing
9.2 Performance of Distributed Systems and the Cloud
9.3 Enabling Technologies for the Internet of Things
9.4 Innovative Applications of the Internet of Things
9.5 Online Social and Professional Networking
9.6 Bibliographic Notes and Homework Problems
Acknowledgements
References
Homework Problems
Index
9780123704979, Harris & Harris, Digital Design & Computer Architecture, MK, 592, 94.95, 3/07, Bookscan 755
9780123749574, Saltzer, Principles of Computer Systems Design, MK, 560, 79.95, 7/09, Bookscan 729
9780123705914, Herlihy & Shavit, The Art of Multiprocessor Programming, MK, 528, 72.95, 2/08, Bookscan 3536
9781558609334, Foster et al, The Grid 2e, MK, 748, 83.95, 12/03, Bookscan 1028
- ImageBank.zip
- LectureSlides
- Chapter_01.ppt
- Chapter_02.ppt
- Chapter_03.ppt
- Chapter_04-Part1.ppt
- Chapter_04-Part2.ppt
- Chapter_04-Part3.ppt
- Chapter_04-Part4.ppt
- Chapter_04-Part5.ppt
- Chapter_05.ppt
- Chapter_06-Part1.ppt
- Chapter_06-Part2.ppt
- Chapter_06-Part3.ppt
- Chapter_06-Part4.ppt
- Chapter_06-Part5.ppt
- Chapter_07.ppt
- Chapter_08.ppt
- Chapter_09-Part1.ppt
- Chapter_09-Part2.ppt
- Chapter_09-Part3.ppt
- Chapter_09-Part4.ppt
- Chapter_09-Part5.ppt
- SolutionsManual
- Term_Project.ppt
Students taking a distributed systems or distributed computing class; also professional system designers and engineers looking for a reference to the latest distributed technologies including cloud, P2P and grid computing.