Higher-Order Components for Grid Programming
Author | : Jan Dünnweber |
Publisher | : Springer Science & Business Media |
Total Pages | : 196 |
Release | : 2009-06-24 |
ISBN-10 | : 9783642008412 |
ISBN-13 | : 3642008410 |
Rating | : 4/5 (12 Downloads) |
Book excerpt: A major challenge in grid computing remains the application software development for this new kind of infrastructure. Grid application programmers have to take into account several complicated aspects: distribution of data and computations, parallel computations on different sites and processors, heterogeneity of the involved computers, load balancing, etc. Grid programmers thus demand novel programming methodologies that abstract over such technical details while preserving the beneficial features of modern grid middleware. For this purpose, the authors introduce Higher-Order Components (HOCs). HOCs implement generic parallel/distributed processing patterns, together with the required middleware support, and they are offered to users via a high-level service interface. Users only have to provide the application-specific pieces of their programs as parameters, while low-level implementation details, such as the transfer of data across the grid, are handled by the HOCs. HOCs were developed within the CoreGRID European Network of Excellence and have become an optional extension of the popular Globus middleware. The book provides the reader with hands-on experience, describing a broad collection of example applications from various fields of science and engineering, including biology, physics, etc. The Java code for these examples is provided online, complementing the book. The expected application performance is studied and reported for extensive performance experiments on different testbeds, including grids with worldwide distribution. The book is targeted at graduate students, advanced professionals, and researchers in both academia and industry. Readers can raise their level of knowledge about methodologies for programming contemporary parallel and distributed systems, and, furthermore, they can gain practical experience in using distributed software. Practical examples show how the complementary online material can easily be adopted in various new projects.