In recent years, grid computing has been in the forefront of distributed computing research. However, developing grid applications remains a great challenge, as it is both a complex and laborious task.
This book chapter covers the available application scheduling tools and mechanisms provided by the Grid Application Development Software Project (GrADS). The GrADS approach decomposes application scheduling into three phases. The first phase is the initial phase, where preexecution determinations about required and available resources are made. The second phase (rescheduling) takes place during system execution, and dynamically reconfigures any initial phase scheduling assumptions to match execution requirements. The third phase is metascheduling, providing a more grid-wide, rather than application-specific, scheduling service, by coordinating the schedules of multiple applications running on the same grid.
The introductory sections of the paper provide the foundation and reasons for using GrADS. The authors first describe the issues and limitations of existing solutions, and then begin to drill-down from a high-level view to their three-phase application scheduling approach. The description of the phases is accompanied by clearly written narrative, diagrams, and examples. The initial and rescheduling phases are covered in detail, and the authors cover each approach eloquently, with appropriate examples. The thorough treatment of the first two phases seems to make the less thorough coverage of the metascheduling phase more pronounced. Unlike with the other two, this phase seems to be addressed from a distance, with respect to both volume and content. The reference to another paper with more information reminds me of a television cliffhanger: the audience will either feel shortchanged and give up, or be further intrigued and follow the reference for more information. In either case, the authors should have provided a little more detail about the functionality of this phase.
Overall, the book chapter is clear, and describes the specific aspects of GrADS scheduling very well. It is also a great source of background information and references. The introductory material contains a good overview of grid technologies related to scheduling, and an interesting summary of the software packages that provided the real applications context for testing GrADS. The coverage is brief, but provides ample references to allow the beginning reader to follow the rest of the chapter, or to use them as starting points to catch up with research efforts in the area. The coverage of the three application scheduling phases for GrADS is gradual, and includes good examples. The material is indeed at a high level, and is targeted at a limited audience of practitioners. Still, it is so well written that even beginners with a good understanding of middleware technologies can follow the examples and the offered approach.