| ||Grid Computing For Developers is a unique technical book covering all the approaches Globus developers have undertaken over the past five years. The book's target audience is IT developers, computer scientists and researchers, graduate students, and teachers looking to expand their Grid computing skills. System administrators can also benefit from the installation scripts and middleware-backend integration. |
The book aims to cover practical Grid middleware protocols and tools. Vladimir Silva focuses on programs and tools that cover Grid middleware protocols and on integrating well-known schedulers and the message passing interface (MPI) with Grid middleware. Each chapter includes several examples of source code, installation scripts for Grid middleware and tools, and useful troubleshootings tips.
The book is divided into four parts. The first part, Theory and Foundations, provides a nice, simple introduction to the history of high-performance and distributed computing concepts. It explores the evolution of distributed systems from the early distributed computing paradigm to modern Grid environments. Silva presents computational economy, resource management, Internet computing, and P2P concepts concisely, while studying enterprise computing in more detail. The book also presents Grid computing concepts and current Grid computing initiatives in science and technology.
The Grid Middleware section covers two key technologies: the Open Grid Services Architecture and resource-management software in the form of schedulers.
Useful examples for Grid portal development are written for the Apache Jetspeed and IBM WebSphere portal servers. The book presents popular schedulers such as OpenPBS, Maui, SGE, and Condor and explains how to integrate them with Globus Toolkit. In the context of an OGSA overview, Silva clearly specifies the relationship between Grid services and Web services. A nice example of Grid service development, deployment, and testing is built in the context of solving the problem of factorizing large integers.
The Globus Toolkit section explores the main protocols used by the toolkit with source code samples using
- Grid Security Infrastructure for security,
- Globus Resource Allocation Manager and its version for Web services, WS-GRAM, for resource management,
- Reliable File Transfer and GridFTP for data management,
- Monitoring and Discovery System for Globus Toolkit 2 and its version for Web services, WS-MDS, as information services,
- Commodity Grid Kits for service functionality, maintenance, and deployment, and
- Web Services Resource Framework for transition toward stateful services.
This book is unique in the Grid computing literature in that it smoothly covers all techniques proposed by the different Globus versions—the GRAM and GridFTP usage from GT2, the OGSI implementation from GT3, and finally, the WSRF implementation from GT4. Silva's thoughts on the advantages and disadvantages of using each version are useful for the beginners in Grid computing.
The final section is a concise guide to the MPI standard, providing several basic MPI concepts and how to integrate the MPICH implementation of MPI with OGSA protocols, including MDS for Globus Toolkit 3 and WS-GRAM. Silva uses instructive performance studies as examples that are interesting not only for Grid developers but also for the MPI users.
The accompanying CD includes the code for the examples presented in the book as well as a unique Web tool based on Java CoG and WebSphere. This tool simplifies the handling procedures for creating security certificates in large computing environments.
Because of the book's practical value, I warmly recommend Grid Computing For Developers to software engineers and developers who would like to improve their Grid expertise. Silva clears up a lot of current technical issues surrounding Grids built on top of the Globus Toolkit that aren't detailed elsewhere. Although the book is consistent and easy to read, it requires strong programming skills. Silva focuses mainly on development, deployment, and integration rather than theory, distinguishing it clearly from other resources. He also provides examples that developers can easily use to build more complex Grid applications and services.
Dana Petcu is a professor and director of the Computer Science Department at Western University of Timisoara and researcher and director of the Research Institute e-Austria Timisoara, Romania. Contact her at firstname.lastname@example.org.