Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Distributed and cloud computing : from parallel processing to the Internet of Things
Hwang K., Dongarra J., Fox G., Morgan Kaufmann Publishers Inc., San Francisco, CA, 2011. 672 pp. Type: Book (978-0-123858-80-1)
Date Reviewed: Mar 6 2012

If you were to ask ten people in computer science to define the term “distributed computing,” you would likely receive ten different, yet correct, answers. Clearly there are no data or surveys to support this claim, but it is probably true and indicative of the breadth of this area of computing.

So what is distributed computing? Is it Internet computing? Is it parallel computing or cloud computing? Is it grid computing or Web services or peer-to-peer computing? Well, it is all of the above and more, and this book manages to provide a comprehensive overview of the state of distributed computing today.

The book is organized in three parts: “Systems Modelling, Clustering and Virtualization”; “Computing Clouds, Service-Oriented Architecture and Programming”; and “Grids, Peer-to-Peer and the Future of the Internet.”

Comprising three chapters, the first part introduces various distributed computing platforms and environments. It covers the gamut from network-based systems and cloud and clustered computing to virtual machines (VMs), grids, graphics processing units (GPUs), and massively parallel processors. The second part focuses on the principles and enabling technologies of cloud computing and service-oriented architectures (SOAs). It also contains a chapter dealing with the software development aspects in cloud environments, covering several programming paradigms (for example, MapReduce, Dryad, Sawall, and Pig Latin) and contemporary cloud platforms such as Google’s App Engine, Amazon’s EC2, and Microsoft’s Azure. The third and last part of the book covers grid and peer-to-peer networks, and showcases existing clouds developed by industry and government organizations (for example, IBM, SGI, NASA, CERN).

The book provides broad coverage of everything one needs to know about the field, striking a good balance between details that do not overwhelm and the basic principles. The authors provide many figures to support and illustrate the material. It is readable, coherent, and well structured and would be useful as a textbook for a primer in distributed systems for upper-level undergraduates or first-year graduate students.

It would be equally appropriate for practitioners involved in hot contemporary information technology (IT) areas such as virtualization and cloud computing. Any professional in almost any capacity, from software developers to IT architects and chief information officers (CIOs), could benefit from reading the book to understand how things work or by having it as a reference. Besides explaining and contextualizing how distributed systems work, the book’s coverage of numerous commercial platforms and technologies would serve as a useful resource to professionals engaged in deploying or planning modern distributed systems.

For some, the strengths of the book may also be its weaknesses. In their attempt to be comprehensive, the authors couldn’t cover all of the topics in depth. However, each chapter contains references to external sources (that is, scholarly papers and books) that could be very useful to help guide anyone interested in getting more information on a specific subject. The inclusion of current technologies and platforms may be attractive to practitioners and certainly increases the timeliness of the material, but it may also render this edition of the text obsolete within a few years. Having said that, I think it is interesting to see just from the mere arrangement of the chapters how distributed computing topics have evolved: the ruling platforms of the late 1990s and early 2000s--peer-to-peer networks and grid computing--have now taken a back seat to virtualization and cloud computing.

Despite these quibbles, I find the book an excellent resource. It is well organized, and it contains extensive bibliographic notes at the end of each chapter along with appropriate problems and exercises that reinforce the material. Overall, this is perhaps the most comprehensive, timely, and well-written book in distributed computing available today.

Reviewer:  George Dimitoglou Review #: CR139946 (1208-0761)
Bookmark and Share
 
Distributed Systems (C.2.4 )
 
 
Cloud Computing (C.2.4 ... )
 
 
Internet (C.2.1 ... )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Distributed Systems": Date
The evolution of a distributed processing network
Franz L., Sen A., Rakes T. Information and Management 7(5): 263-272, 1984. Type: Article
Jul 1 1985
A geographically distributed multi-microprocessor system
Angioletti W., D’Hondt T., Tiberghien J.  Concurrent languages in distributed systems: hardware supported implementation (, Bristol, UK,871985. Type: Proceedings
Oct 1 1985
A fault tolerant LAN with integrated storage, as part of a distributed computing system
Boogaard H., Bruins T., Vree W., Reijns G.  Concurrent languages in distributed systems: hardware supported implementation (, Bristol, UK,1001985. Type: Proceedings
Aug 1 1985
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy