Distributed and Cloud Computing

Book 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

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. Dedication
  6. Preface
    1. About the Book
    2. A Glance at the Contents
    3. Key Features
    4. Readership and Suggestions to Instructors/Students
    5. Invited Contributions
    6. Permissions and Acknowledgements
  7. About the Authors
  8. Foreword
  9. Part 1: Systems Modeling, Clustering, and Virtualization
    1. Introduction
      1. Chapter 1: Distributed System Models and Enabling Technologies
      2. Chapter 2: Computer Clusters for Scalable Parallel Computing
      3. Chapter 3: Virtual Machines and Virtualization of Clusters and Data Centers
    2. Chapter 1. Distributed System Models and Enabling Technologies
      1. Summary
      2. 1.1 Scalable Computing Over the Internet
      3. 1.2 Technologies for Network-Based Systems
      4. 1.3 System Models for Distributed and Cloud Computing
      5. 1.4 Software Environments for Distributed Systems and Clouds
      6. 1.5 Performance, Security, and Energy Efficiency
      7. 1.6 Bibliographic Notes and Homework Problems
      8. Acknowledgments
      9. References
      10. Homework Problems
    3. Chapter 2. Computer Clusters for Scalable Parallel Computing
      1. Summary
      2. 2.1 Clustering for Massive Parallelism
      3. 2.2 Computer Clusters and MPP Architectures
      4. 2.3 Design Principles of Computer Clusters
      5. 2.4 Cluster Job and Resource Management
      6. 2.5 Case Studies of Top Supercomputer Systems
      7. 2.6 Bibliographic Notes and Homework Problems
      8. Acknowledgments
      9. References
      10. Homework Problems
    4. Chapter 3. Virtual Machines and Virtualization of Clusters and Data Centers
      1. Summary
      2. 3.1 Implementation Levels of Virtualization
      3. 3.2 Virtualization Structures/Tools and Mechanisms
      4. 3.3 Virtualization of CPU, Memory, and I/O Devices
      5. 3.4 Virtual Clusters and Resource Management
      6. 3.5 Virtualization for Data-Center Automation
      7. 3.6 Bibliographic Notes and Homework Problems
      8. Acknowledgments
      9. References
      10. Homework Problems
  10. Part 2: Computing Clouds, Service-Oriented Architecture, and Programming
    1. Introduction
      1. Chapter 4: Cloud Platform Architecture over Virtualized Data Centers
      2. Chapter 5: Service-Oriented Architectures for Distributed Computing
      3. Chapter 6: Cloud Programming and Software Environments
    2. Chapter 4. Cloud Platform Architecture over Virtualized Data Centers
      1. Summary
      2. 4.1 Cloud Computing and Service Models
      3. 4.2 Data-Center Design and Interconnection Networks
      4. 4.3 Architectural Design of Compute and Storage Clouds
      5. 4.4 Public Cloud Platforms: GAE, AWS, and Azure
      6. 4.5 Inter-cloud Resource Management
      7. 4.6 Cloud Security and Trust Management
      8. 4.7 Bibliographic Notes and Homework Problems
      9. Acknowledgements
      10. References
      11. Homework Problems
    3. Chapter 5. Service-Oriented Architectures for Distributed Computing
      1. Summary
      2. 5.1 Services and Service-Oriented Architecture
      3. 5.2 Message-Oriented Middleware
      4. 5.3 Portals and Science Gateways
      5. 5.4 Discovery, Registries, Metadata, and Databases
      6. 5.5 Workflow in Service-Oriented Architectures
      7. 5.6 Bibliographic Notes and Homework Problems
      8. Acknowledgements
      9. References
      10. Homework Problems
    4. Chapter 6. Cloud Programming and Software Environments
      1. Summary
      2. 6.1 Features of Cloud and Grid Platforms
      3. 6.2 Parallel and Distributed Programming Paradigms
      4. 6.3 Programming Support of Google App Engine
      5. 6.4 Programming on Amazon AWS and Microsoft Azure
      6. 6.5 Emerging Cloud Software Environments
      7. 6.6 Bibliographic Notes and Homework Problems
      8. Acknowledgement
      9. References
      10. Homework Problems
  11. Part 3: Grids, P2P, and the Future Internet
    1. Introduction
      1. Chapter 7: Grid Computing Systems and Resource Management
      2. Chapter 8: Peer-to-Peer Computing and Overlay Networks
      3. Chapter 9: Ubiquitous Clouds and the Internet of Things
    2. Chapter 7. Grid Computing Systems and Resource Management
      1. Summary
      2. 7.1 Grid Architecture and Service Modeling
      3. 7.2 Grid Projects and Grid Systems Built
      4. 7.3 Grid Resource Management and Brokering
      5. 7.4 Software and Middleware for Grid Computing
      6. 7.5 Grid Application Trends and Security Measures
      7. 7.6 Bibliographic Notes and Homework Problems
      8. Acknowledgments
      9. References
      10. Homework Problems
    3. Chapter 8. Peer-to-Peer Computing and Overlay Networks
      1. Summary
      2. 8.1 Peer-to-Peer Computing Systems
      3. 8.2 P2P Overlay Networks and Properties
      4. 8.3 Routing, Proximity, and Fault Tolerance
      5. 8.4 Trust, Reputation, and Security Management
      6. 8.5 P2P File Sharing and Copyright Protection
      7. 8.6 Bibliographic Notes and Homework Problems
      8. Acknowledgements
      9. References
      10. Homework Problems
    4. Chapter 9. Ubiquitous Clouds and the Internet of Things
      1. Summary
      2. 9.1 Cloud Trends in Supporting Ubiquitous Computing
      3. 9.2 Performance of Distributed Systems and the Cloud
      4. 9.3 Enabling Technologies for the Internet of Things
      5. 9.4 Innovative Applications of the Internet of Things
      6. 9.5 Online Social and Professional Networking
      7. 9.6 Bibliographic Notes and Homework Problems
      8. Acknowledgements
      9. References
      10. Homework Problems
  12. Index

Product information

  • Title: Distributed and Cloud Computing
  • Author(s): Kai Hwang, Jack Dongarra, Geoffrey C. Fox
  • Release date: December 2013
  • Publisher(s): Morgan Kaufmann
  • ISBN: 9780128002049