Future
Generation
Grids
Future
Generation
Grids
Proceedings of the Workshop on
Future Generation Grids
November 1-5,2004, Dagstuhl, Germany
edited by
Vladimir Getov
University of Westminster
London, UK
Domenico Laforenza
Information Science and Technologies Institute
Pisa, Italy
Alexander Reinefeld
Zuse-Institut Berlin and
Humboldt-Universitdt zu Berlin, Germany
^
Spri
ringer
Vladimir Getov
University of Westminster
London, UK
Domenico Laforenza
Information Science and
Technologies Institute
Pisa, Italy
Alexander Reinefeld
Zuse-Institut Berlin and
Humboldt-Universitat zu Berlin
Germany
Library of Congress Control Number: 2005934732
Future Generation Grids
Proceedings of the Workshop on Future Generation Grids
November 1-5,2004, Dagstuhl, Germany
edited byVladimir Getov, Domenico Laforenza and Alexander Reinefeld
ISBN-13: 978-0-387-27935-0
ISBN-10: 0-387-27935-0
e-ISBN-13: 978-0-387-29445-2
e-ISBN-10: 0-387-29445-7
Printed on acid-free paper.
© 2006 Springer Science+Business Media, Inc.
All rights reserved. This work may not be translated or copied in whole or
in part without the written permission of the publisher (Springer
Science+Business Media, Inc., 233 Spring Street, New York, NY 10013,
USA), except for brief excerpts in coimection with reviews or scholarly
analysis. Use in connection with any form of information storage and
retrieval, electronic adaptation, computer software, or by similar or
dissimilar methodology now know or hereafter developed is forbidden.
The use in this publication of trade names, trademarks, service marks and
similar terms, even if the are not identified as such, is not to be taken as
an expression of opinion as to whether or not they are subject to
proprietary rights.
Printed in the United States of America.
9 8 7 6 5 4 3 2 1
springeronline.com
SPIN 11392767,11570783
Contents
Foreword
Preface
Contributing Authors
Part I
vii
ix
xiii
Architecture
From Event-Driven Workflows towards A Posteriori Computing
Craig A. Lee, B. Scott Michel, Ewa Deelman, and Jim Blythe
3
On Adaptability in Grid Systems
Artur Andrzejak, Alexander Reinefeld, Florian Schintke, and Thorsten Schtitt
29
Bringing Knowledge to Middleware - Grid Scheduling Ontology
Philipp Wieder and Wolfgang Ziegler
47
Remote Administration and Fault Tolerance in Distributed Computer
Infrastructures
Volker Lindenstriith, Ralph Panse, Timm Steinbeck, Heinz Tilsner, and Arne
Wiebalck
61
Part II Resource and Data Management
The Virtual Resource Manager: Local Autonomy versus QoS Guarantees for
Grid Applications
Lars-Olof Burchard, Hans-Ulrich Heiss, Barry Linnert, Jorg Schneider, Felix
Heine, Matthias Hovestadt, Odej Kao, and Axel Keller
Resource Management for Future Generation Grids
Uwe Schwiegelshohn, Ramin Yahyapour, and Philipp Wieder
83
99
On Designing and Composing Grid Services for Distributed Data Mining
Antonio Congiusta, Domenico Talia, and Paolo Trunfio
113
GDS: An Architecture Proposal for a Grid Data-Sharing Service
Gabriel Antoniu, Marin Bertier, Luc Bouge, Eddy Caron, Frederic Desprez,
Mathieu Jan, Sebastien Monnet, and Pierre Sens
133
vi
Part III
FUTURE GENERATION GRIDS
Intelligent Toolkits
A Search Architecture for Grid Software Components
Diego Puppin, Fabrizio Silvestri, Domenico Laforenza, and Salvatore Orlando
Use of A Network-Enabled Server Sys tern for a Sparse Linear Algebra Grid
Application
Eddy Caron, Frederic Desprez, Jean-Yves L'Excellent, Christophe Hamerling,
Marc Pantel, and Chiara Puglisi-Amestoy
Co-Allocation in Grids: Experiences and Issues
Anca Bucur, Dick Epema, and Hashim Mohamed
155
171
195
Part IV Programming and Applications
Structured Implementation of Component-Based Grid Programming
Environments
Marco Aldinucci, Massimo Coppola, Sonia Campa, Marco Danelutto, Marco
Vanneschi, and Corrado Zoccoto
From Grid Middleware to Grid Applications: Bridging the Gap with HOCs
Sergei Gorlatch and Jan Dttnnweber
217
241
HPC Application Execution on Grids
263
Marco Danelutto, Marco Vanneschi, Corrado Zoccoto, Nicola Tonellotto,
Salvatore Orlando, Ranieri Baraglia, Tiziano Fagni, Domenico Laforenza, and
Alessandro Paccosi
Grid Application Programming Environments
Thilo Kielmann, Andre Merzky, Henri Hal, Francoise Baude, Denis Caromel,
and Fabrice Huet
283
Index
307
Foreword
The CoreGRID Network of Excellence (NoE) project began in September
2004. Two months later, in November 2004, the first CoreGRID Integration Workshop was held within the framework of the prestigious international
Dagstuhl seminars. CoreGRID aims at strengthening and advancing long-term
research, knowledge transfer and integration in the area of Grid and Peer-toPeer technologies. CoreGRID is a Network of Excellence - a new type of
project within the European 6th Framework Programme, to ensure progressive
evolution and durable integration of the European Grid research community.
To achieve this objective, CoreGRID brings together a critical mass of wellestablished researchers and doctoral students from forty-two institutions that
have constructed an ambitious joint programme of activities.
Although excellence is a goal to which CoreGRID is committed, durable
integration is our main concern. It means that CoreGRID has to carry out activities to improve the effectiveness of European research in Grid by coordinating
and adapting the participants' activities in Grid research, to share resources
such as Grid testbeds, to encourage exchange of research staff and students,
and to ensure close collaboration and wide dissemination of its results to the
international community. Organising CoreGRID Integration Workshops is one
of the activities that aims at identifying and promoting durable collaboration
between partners involved in the network. It is thus expected that this series
of Integration Workshops will provide opportunities for CoreGRID and other
researchers to confront their ideas and approaches to solving challenging problems in Grid research, as well as to present the results of their joint research
activities. The first Integration Workshop has already demonstrated that close
collaborative activities are producing publishable joint result achieved by at
least two different CoreGRID partners. At the time this proceedings is being
compiled, several indicators show that integration has increased and I encourage you to visit our website' to get access to the latest results produced by the
network.
^
viii
FUTURE GENERATION GRIDS
Before you start reading this book, I would like to extend my gratitude to the
organizers of this first CoreGRID Integration Workshop who did a wonderful
job by editing these high quality proceedings. I wish you enjoyable reading of
this second volume of the CoreGRID project series of publications.
Thierry Priol, CoreGRID Scientific Co-ordinator
Preface
Since their invention two decades ago, the Internet and the Web have had a
significant impact on our fife. By allowing us to discover and access information
on a global scale, they have enabled the rapid growth of an entirely new industry
and brought new meaning to the term "surfing". However, simply being able
to offer and access information on the Web is ultimately unsatisfactory - we
want processing and, increasingly, we want collaborative processing within
distributed teams. This need has led to the creation of the Grid, an infrastructure
that enables us to share capabilities, integrate services and resources within and
across enterprises, and allows active collaborations across distributed, multiorganizational environments.
Powered by on-demand access to computer resources, seamless access to
data, and dynamic composition of distributed services, the Grid promises to
enable fundamentally new ways of interacting with our information technology
infrastructure, doing business, and practicing science. It represents perhaps the
final step in the great disappearing act that will take computing out of our homes
and machine rooms and into the fabric of society, where it will stand alongside
telephone exchanges, power generators, and the other invisible technologies
that drive the modern world.
Future applications will not only use individual computer systems, but a large
set of networked resources. This scenario of computational and data grids is
attracting a lot of attention from application scientists, as well as from computer
scientists. In addition to the inherent complexity of current high-end systems,
the sharing of resources and the transparency of the actual available resources
introduce not only new research challenges, but also a completely new vision
and novel approaches to designing, building, and using future generation Grid
systems.
The Dagstuhl Seminar 04451 on Future Generation Grids (FGG) was held
in the International Conference and Research Centre (IBFI), Schloss Dagstuhl'
'
X
FUTURE GENERATION GRIDS
from 1 St to 5th November 2004. The focus of the seminar was on open problems
and future challenges in the design of next generation Grid systems.
The seminar brought together 45 scientists and researchers in the area of
Grid technologies in an attempt to draw a clearer picture of future generation
Grids and to identify some of the most challenging problems on the way to
achieving the "invisible" Grid ideas in our society. The participants came from
France (12), Germany (10), Italy (8), the United Kingdom (5), the Netherlands
(3), Belgium (1), Cyprus (1), the Czech Republic (1), Poland (1), Spain (1),
Switzerland (1), and the U.S.A. (1).
This was the first workshop of a series of scientific events planned by the EU
Network of Excellence project CoreGRID, the "European Research Network
on Foundations, Software Infrastructures and Applications for large scale distributed, GRID and Peer-to-Peer Technologies". The CoreGRID Network of
Excellence, which started in September 2004, aims at strengthening and advancing scientific and technological excellence in the area of Grid and Peer-to-Peer
systems.
Additional impetus for the organization of the EGG workshop came from
another EU project, the "ERA Pilot on a Coordinated Europe-Wide Initiative
in Grid Research" (GridCoord). Its main objective is to strengthen Europe's
position on Grid research and to overcome the fragmentation and dispersion
across the EU research programmes. The workshop also gave an overview of
the various Grid initiatives and projects and thereby provided a good snapshot
of Grid related activities in Europe. Furthermore, the seminar was inspired
by the results published in two recent reports by an EU expert group on Next
Generation Grids^.
In an attempt to provide an overview of the status of the various national Grid
initiatives - a topic deemed important especially for the GridCoord project the following Grid initiatives were presented as part of the discussion sessions:
• DAS-2 (The Netherlands)
• D-Grid (Germany)
• e-Science (UK)
• Grid.it (Italy)
• SGIGrid (Poland)
• ACI GRID'S Grid'5000 project (France)
While the general goal of establishing a national Grid for the benefit of science and research in the respective countries is similar, each of these initiatives
/>
PREFACE
xi
puts an emphasis on slightly different aspects. Most apparent are perhaps the
"virtual laboratories" approach in the Netherlands, the more experimental character of the French Grid 5000 project as part of the ACI GRID initiative, and
the strong trend towards the deployment of productive application scenarios in
the UK e-Science initiative. However, it is difficult to summarize the subtle
differences in the initiatives in this brief preface and therefore, a more detailed
analysis must be left for the future.
The discussion session on next generation Grid technologies focused largely
on the importance of making Grid systems "autonomic" in the sense that future
Grid components should be able to autonomously cope with failures without
affecting the other "healthy" components. Even more emphasis was put on
the discussion of the newly established Web Services Resources Framework
(WSRF) versus the previous Open Grid Service Infrastructure (OGSI), Web
Services, and Service Oriented Architectures (SOA) in general.
In this volume, we present a selection of articles based on the topics and
results presented at the workshop in Dagstuhl. They are a snapshot of some
recent research activities bringing together scientists and researchers in the Grid
area. The contents of the proceedings are organised in four parts: Architecture,
Resource and Data Management, Intelligent Toolkits, and Programming and
Applications.
To conclude, we would like to thank all the participants for their contributions
in making the workshop a resounding success; all the staff at Dagstuhl for their
professional support in the organization; and, last but not least, all the authors
that contributed articles for publication in this volume.
Our thanks also go to the European Commission for sponsoring this volume
of selected articles from the workshop via the CoreGRID NoE project, grant
number 004265.
Vladimir Getov, Domenico Laforenza, Alexander Reinefeld
Contributing Authors
Marco Aldinucci Institute of Information Science and Technologies, CNR, Via
Moruzzi 1, 56100 Pisa, Italy ()
Artur Andrzejak Zuse Intitute Berlin, Takustr. 7, 14195 Berlin-Dahlem, Germany ()
Gabriel Antoniu IRISA/INRIA, Campus universitaire de Beaulieu, 35042
Rennes cedex, France ()
Henri Bal Department of Computer Science, Vrije Universiteit, De Boelelaan
1081A, 1081 HV Amsterdam, The Netherlands ()
Ranieri Baraglia Institute of Information Science and Technologies, CNR, Via
Moruzzi I, 56100 Pisa, Italy ()
Francoise Baude INRIA, 2004 Rte des Lucioles, BP 93, 06902 Sophia Antipolis cedex, France ()
Marin Bertier IRISA/INRIA, Campus universitaire de Beaulieu, 35042 Rennes
cedex, France ()
Jim Blythe USC/Information Sciences Institute, 4676 Admiralty Way, Suite
1001, Marina del Rey, CA 90292, USA ()
Luc Bouge IRISA/INRIA, Campus universitaire de Beaulieu, 35042 Rennes
cedex, France ()
XIV
FUTURE GENERATION
GRIDS
Anca Bucur Philips Research, Prof. Holstlaan 4, 5656 AA Eindhoven, The
Netherlands ()
Sonia Campa Department of Computer Science, University of Pisa, Largo
Pontecorvo 3, 56127 Pisa, Italy ()
Lars-Olof Burchard Communications and Operating Systems Group, Technische Universitat Berlin, Fakultat IV, Einsteinufer 17, 10587 Berlin, Germany
()
Eddy Caron LIP Laboratory, ENS Lyon, 46 allee d'ltalie, 69364 Lyon cedex
7, France ()
Denis Caromel INRIA, 2004 Rte des Lucioles, BP 93,06902 Sophia Antipolis
cedex, France ()
Antonio Congiusta DEIS, University of Calabria, Via P. Bucci 41c, 87036
Rende, Italy ()
Massimo Coppola Institute of Information Science and Technologies, CNR,
Via Moruzzi 1, 56100 Pisa, Italy ()
Marco Danelutto Department of Computer Science, University of Pisa, Largo
Pontecorvo 3, 56127 Pisa, Italy ()
Ewa Deelman USC/Information Sciences Institute, 4676 Admiralty Way, Suite
1001, Marina del Rey, CA 90292, USA ()
Frederic Desprez LIP Laboratory, ENS Lyon, 46 allee d'ltalie, 69364 Lyon
cedex 7, France ()
Jan Diinnweber Institute for Informatics, University of Miinster, Einsteinstrasse 62,48149 Miinster, Germany ()
Dick Epema Dept. of Software Technology, Delft University of Technology,
Mekelweg 4, 2628 CD Delft, The Netherlands ()
Contributing Authors
xv
Tiziano Fagni Institute of Information Science and Technologies, CNR, Via
Moruzzi 1, 56100 Pisa, Italy ()
Sergei Gorlatch Institute for Informatics, University of Miinster, Einsteinstrasse 62, 48149 Miinster, Germany ()
Christophe Hamerling CERFACS Laboratory, 42 Avenue Gaspard Coriolis,
31057 Toulouse cedex 1, France ()
Felix Heine Paderbom Center for Parallel Computing (PC^), Universitat Paderbom, Fiirstenallee 11, 33102 Paderbom, Germany ()
Hans-Ulrich Heiss Communications and Operating Systems Group, Technische Universitat Berlin, Fakultat IV, Einsteinufer 17, 10587 Berlin, Germany
()
Matthias Hovestadt Paderbom Center for Parallel Computing (PC^), Universitat Paderbom, Fiirstenallee 11, 33102 Paderbom, Germany ()
Fabrice Huet INRIA, 2004 Rte des Lucioles, BP 93, 06902 Sophia Antipolis
cedex, France ()
Mathieu Jan IRISA/INRIA, Campus universitaire de Beaulieu, 35042 Rennes
cedex, France ()
Odej Kao Paderbom Center for Parallel Computing (PC^), Universitat Paderbom, Fiirstenallee 11, 33102 Paderbom, Germany ()
Axel Keller Paderbom Center for Parallel Computing (PC^), Universitat Paderbom, Fiirstenallee 11, 33102 Paderbom, Germany ()
Thilo Kielmann Department of Computer Science, Vrije Universiteit, De
Boelelaan 1081A, 1081HV Amsterdam, The Netherlands ()
Domenico Laforenza Institute of Information Science and Technologies, CNR,
Via Momzzi 1, 56100 Pisa, Italy ()
xvi
FUTURE GENERATION GRIDS
Craig A. Lee Computer Systems Research Department, The Aerospace Corporation, P.O. Box 92957, El Segundo, CA 90009, USA ()
Jean-Yves L'Excellent LIP Laboratory, ENS Lyon, 46 allee d'ltalie, 69364
Lyon cedex 7, France ()
Volker Lindenstruth Kirchhoff Institute for Physics, Im Neuenheimer Feld
227, 69120 Heidelberg, Germany ()
Barry Linnert Communications and Operating Systems Group, Technische
Universitat Berlin, Fakultat IV, Einsteinufer 17, 10587 Berlin, Germany
()
Andre Merzky Department of Computer Science, Vrije Universiteit, De Boelelaan 1081A, 1081 HV Amsterdam, The Netherlands ()
B. Scott Michel Computer Systems Research Department, The Aerospace Corporation, RO. Box 92957, El Segundo, CA 90009, USA ()
Hashim Mohamed Dept. of Software Technology, Delft University of Technology, Mekelweg 4, 2628 CD Delft, The Netherlands
()
Sebastien Monnet IRISA, Campus universitaire de Beaulieu, 35042 Rennes
cedex, France ()
Salvatore Orlando Dipartimento di Informatica, Universita Ca'Foscari di
Venezia, Via Torino 155, 30172 Mestre, Italy ()
Alessandro Paccosi Institute of Information Science and Technologies, CNR,
ViaMoruzzi 1, 56100 Pisa, Italy ()
Ralph Panse Kirchhoff Institute for Physics, Im Neuenheimer Feld 227, 69120
Heidelberg, Germany ()
Marc Pantel IRIT Laboratory, ENSEEIHT, 2 rue Camichel, BP 7122, 31071
Toulouse cedex 7, France ()
Contributing Authors
xvii
Chiara Puglisi-Amestoy IRIT Laboratory, ENSEEIHT, 2 me Camichel, BP
7122, 31071 Toulouse cedex 7, France ()
Diego Puppin Institute of Information Science and Technologies, CNR, Via
Momzzi 1, 56100 Pisa, Italy ()
Alexander Reinefeld Zuse Institute Berlin, Takustr. 7, 14195 Berlin-Dahlem;
and Humboldt-Universitat zu Berlin, Rudower Chaussee 25 (WBC), 12489
Berlin-Adlershof, Germany ()
Pierre Sens INRIA/LIP6-MSI, 8 rue du Capitaine Scott, 75015 Paris, France
()
Florian Schintke Zuse Intitule Berlin, Takustr. 7, 14195 Berlin-Dahlem, Germany ()
Jorg Schneider Communications and Operating Systems Group, Technische Universitat Berlin, Fakultat IV, Einsteinufer 17, 10587 Berlin, Germany
()
Tliorsten Schiitt Zuse Intitule Berlin, Takustr. 7, 14195 Berlin-Dahlem, Germany ()
Uwe Scliwiegelshohn Computer Engineering Institute, University of Dortmund, Otto-Hahn-Str. 8, 44221 Dortmund, Germany
(uwe. schwiegelshohn @udo.edu)
Fabrizio Silvestri Institute of Information Science and Technologies, CNR,
ViaMoruzzi 1, 56100 Pisa, Italy ()
Timm Steinbeck Kirchhoff Institute for Physics ic
layer of the grid, but also provide programming interfaces for higher levels.
However, these interfaces are often conceived as being unfit for application
development, in terms of complexity and dependency on the actual middleware
and its configuration.
The Java CoG [44] has been an early valiant effort to offer low level grid
capabilities to applications. First, CoG has been a wrapper around early Globus
versions. The CoG became a reimplementation of large parts of Globus, to get
independent of the Globus development cycle. Nowadays, CoG has a very sim-
300
FUTURE GENERATION GRIDS
ilar architecture to GAT, and to the general architecture presented in Section 5.
CoG is, as GAT, one of the major supporters for the GGF SAGA API effort.
Early versions of the Java CoG have been binding directly and exclusively to
a specific Globus version. In fact, that approach was taken in other projects as
well, with the main objective to abstract the complexity of grid programming
for the end user. However, that approach can not be kept in sync with neither
the dynamic grid environment, nor with the progress of the grid middleware
development.
Various MPI implementations aim at supporting large parallel applications
in grids. MPICH-G [19] is using Globus communication facilities. PACXMPI [26] is an MPI implementation which can efficiently handle WAN connectivity. Both packages (and others with the same scope) are widely used in
the community.
Remote steering has been an interesting target for distributed applications
for a long time. It seems to be one of the areas which could benefit significantly
from the use of grid paradigms - the absence of a suitable distributed security
framework has hindered the widespread use of remote steering until now. The
Reality Grid Project [13] is providing one example of a grid-based steering
infrastructure, based on the concepts of OGS A and Web Services. The Reality
Grid Project is also one of the supporters of the GGF SAGA API.
ICENI [21] is a grid middleware framework with an added value to the lowerlevel grid services. It is a system of structured information that allows to match
applications with heterogenous resources and services, in order to maximise
utilisation of the grid fabric. Applications are encapsulated in a componentbased manner, which clearly separates the provided abstraction and its possibly
multiple implementations. Implementations are selected at run-time, so as to
take advantage of dynamic information, and are selected in the context of the
application, rather than a single component. This yields to an execution plan
specifying the implementation selection and the resources upon which they
are to be deployed. Overall, the burden of code modification for specific grid
services is shifted from the application designer to the middleware itself.
5.
Generic Architecture IVIodel
Our three systems, ProActive, Ibis, and GAT, provide API functionality that
partially overlaps, and partially complements each other. A much stronger
similarity, however, can be observed from their software architectures, which
is due to the non-functional properties of platform independence, performance,
and fault tolerance. These properties strongly call for systems that are able to
dynamically adjust themselves to the actual grid environment underneath.
Figure 9 shows the generic architecture for grid application programming
environments that can address the properties identified in Section 2.
Grid Application Programming
Environments
301
Application
High-level (Grid-unaware) API
deployment
(configuration)
information
Runtime Engine
dyna mically
loaded
pro xies
(±(h^(t^
Figure 9.
Generic runtime architecture model
Application code is programmed exclusively using the API's provided
by the envisioned grid application programming environment. We distinguish between grid-aware (lower level) and grid-unaware (higher level)
API's. Both kinds of API's will be needed, depending on the purpose
of the application. For example, one kind of application might simply
wish to use some invisible computational "power" provided by the grid
(as intended by the power grid metaphor) while others might want to interact explicitly with specific resources like given databases or scientific
instruments.
The API's are implemented by a runtime engine. The engine's most important task is to delegate API invocations to the right service or resource.
In the presence of transient errors and of varying performance, this delegation becomes a non-trivial task. In fact, the runtime engine should
implement sophisticated strategies to bind requests to the best-suited service. Whereas possibly many services might fulfill a given request, the
choice among them is guided purely by non-functional properties like
service availability, performance, and security level.
Delegation to a selected service can be achieved by dynamically loaded
proxies. Dynamic binding is important for separating application programs from the actual grid execution environments. This way, applications can also be executed in new (versions of) environments that came
to existence only after an application has been written. Besides for plat-
302
FUTURE GENERATION GRIDS
form independence, this dynamic binding is necessary for handling of
transient error conditions at runtime.
• For resource and service selection purposes, the runtime engine needs
configuration information to provide the right bindings. Current implementations (like ProActive, Ibis, and GAT) mostly rely on configuration
files, provided by system administrators, describing the properties of
given machines in a grid. However, some configuration information is of
more dynamic nature and requires dynamic monitoring and information
services to provide up-to-date information. Examples are access control
for users and resources, and performance data about network connections
that might impact resource selection.
It is obvious that current grid application programming environments comply
only partially to this architecture. However, with the advent of more sophisticated grid middleware, like grid component architectures, or widely deployed
monitoring and information services, also programming environments will be
able to benefit and provide more flexible, better performing, and failure-resilient
services to applications.
6.
Conclusions and Future Directions
Grids can be considered as distributed systems for which heterogeneity, widearea distribution, security and trust requirements, failure probability, as well as
latency and bandwidth of communication networks are exacerbated. Such platforms currently challenge application programmers and users. Tackling these
challenges calls for significantly advanced application programming environments.
We have identified a set of functional and non-functional properties of such
future application programming environments. Based on this set, we have
analyzed existing environments, emphasizing ProActive, Ibis, and GAT, which
have been developed by the authors and their colleagues, which we also consider
to be among the currently most advanced systems.
Our analysis has shown that none of our systems curently addresses all properties. This is mostly due to the different application scenarios for which our systems have been developed. Based on our analysis, we have identified a generic
architecture for future grid programming environments that allows building
systems that will be capable of addressing the complete set of properties, and
will thus be able to overcome today's problems and challenges.
A promising road to implementing our envisioned grid application programming environment is to explore a component-oriented approach, as also proposed in [40]. To date, GridKit [16] seems to be unique in effectively applying
such a component-based approach to both the runtime environment and the
application layer of a grid platform. Most existing component-based systems
Grid Application Programming Environments
303
address applications only, like [1, 21] or the implementation of Fractal components using ProActive [10].
The inherent openness, introspection and reconfiguration capabilities offered
by a component-oriented approach appear promising for implementing both
grid programming environments and applications that are portable, adaptive,
self-managing, and self-healing. Implementing such properties will require
advanced decision taking and planning inside the runtime engine. Applying
a component-oriented approach will thus complement the generic architecture identified in this chapter. Components will be the building blocks that
ae assembled and reassembled at run time, yielding flexible grid application
environments.
Acknowledgments
This manuscript would not have been possible without the many contributions of our past and present colleagues. We would like to thank all the major
contributors in the design and development of ProActive: by contribution order,
J. Vayssiere, L. Mestre, R. Quilici, L. Baduel, A. Contes, M. Morel, C. Delbe,
A. di Costanzo, V. Legrand, G. Chazarain. We owe a lot to the Ibis team: Jason Maassen, Rob van Nieuwpoort, Ceriel Jacobs, Rutger Hofman, Kees van
Reeuwijk, Gosia Wrzesinska, Niels Drost, Olivier Aumage, and Alexandre Denis. We also express our thanks to the GAT designers and writers. GAT was
designed by Tom Goodale, Gabrielle Allen, Ed Seidel, John Shalf and others.
The C Version has mainly been implemented by Hartmut Kaiser, who also
wrote the C-i~i- and Python wrappers. The Java version was written by Rob
van Nieuwpoort. We would like to thank our many colleagues from the EU
GridLab project.
The current collaboration is carried out in part under the FP6 Network of
Excellence CoreGRID funded by the European Commission (contract IST2002-004265). ProActive is supported by INRIA, CNRS, French Ministry
of Education, DGA, through PhD funding, and ObjectWeb, ITEA OSMOSE,
France Telecom R&D. Ibis is supported by the Netherlands Organization for
Scientific Research (NWO) and the Dutch Ministry of Education, Culture and
Science (OC&W), and is part of the ICT innovation program of the Dutch
Ministry of Economic Affairs (EZ). GAT has been supported via the European
Commission's funding for the GridLab project (contract IST-2001-32113).
References
[1] M. Aldinucci, M. Coppola, S. Campa, M. Danelutto, M. Vanneschi, and C. Zoccolo.
Structured Iplementation of Component-Based Grid Programming Environments. In;
V. Getov, D. Laforenza, A. Reinefeld (Eds.): Future Generation Grids, 111-239, Springer
(this volume).
304
FUTURE GENERATION
GRIDS
[2] W. AUcock, J. Bester, J. Bresnahan, A. Chervenak, L. Liming, S. Meder, and S. Tuecke.
GridFTP Protocol Specification. GGF GridFTP Working Group Document, 2002.
[3] G. Allen, K. Davis, K. N. Dolkas, N. D. Doulamis, T. Goodale, T. Kielmann, A. Merzky,
J. Nabrzyski, J. Pukacki, T. Radke, M. Russell, E. Seidel, J. Shalf, and I. Taylor. Enabling Applications on the Grid - A GridLab Overview. International Journal on High
Performance Computing Applications, 17(4):449-466, 2003.
[4] G. Allen, K. Davis, T. Goodale, A. Hutanu, H. Kaiser, T. Kielmann, A. Merzky, R. van
Nieuwpoort, A. Reinefeld, R Schintke, T. Schutt, E. Seidel, and B. UUmer. The Grid
Application Toolkit: Towards Generic and Easy Application Programming Interfaces for
the Grid. Proceedings of the IEEE, 93(3):534-550, 2005.
[5] R. M. Badia, J. Labarta, R. Sirvent, J. M. Perez, J. M. Cela, and R. Grima. Programming
Grid Applications with GRID Superscalar. Journal of Grid Computing, 1(2): 151-170,
2003.
[6] L. Baduel, R Baude, and D. Caromel. Object-Oriented SPMD. In CCGrid2005, 2005.
[7] H.E. Bal, J.G. Steiner, and A.S. Tanenbaum. Programming Languages for Distributed
Computing Systems. ACM Computing Surveys, 21i3):26l-322, 1989.
[8] C. Baru, R. Moore, A. Rajasekar, and M. Wan. The sdsc storage resource broker. In
CASCON '98: Proceedings of the 1998 conference of the Centre for Advanced Studies on
Collaborative research, page 5. IBM Press, 1998.
[9] F. Baude, D. Caromel, F. Huet, L. Mestre, and J. Vayssiere. Interactive and DescriptorBased Deployment of Object-Oriented Grid Applications. In HPDC-ll, pages 93-102.
IEEE Computer Society, July 2002.
[10] F. Baude, D. Caromel, and M. Morel. From distributed objects to hierarchical grid components. In DOA, volume 2888, pages 1226-1242. LNCS, 2003.
[II] M. Beck, J. Dongarra, J. Huang, T. Moore, and J. Plank. Active Logistical State Management in the GridSolve/L. In Proc. 4th International Symposium on Cluster Computing
and the Grid (CCGrid 2004), 2004.
[12] R. Berlich, M. Kunze, and K. Schwarz. Grid Computing in Europe: From Research to
Deployment. CRPIT series, Proceedings ofthe Australasian Workshop on Grid Computing
and e-Research (AusGrid 2005), 44, Jan. 2005.
[13] J. M. Brooke, P V. Coveney, J. Harting, S. Jha, S. M. Pickles, R. L. Pinning, and A. R.
Porter. Computational Steering in RealityGrid. In Proceedings of the UK e-Science All
Hands Meeting 2003, 2003.
[14] D. Caromel. Towards a Method of Object-Oriented Concurrent Programming. Communications of the ACM, 36(9):90-I02, September 1993.
[15] B. Carpenter, V. Getov, G. Judd, A. Skjellum, and G. Fox. MPJ: MPI-like message passing
for Java. Concurency: Practice and Experience, 12(1I):1019-1038, 2000.
[16] G. Coulson, P. Grace, P. Blair, et aJ. Component-based Middleware Framework for Configurable and Reconfigurable Grid Computing. To appear in Concurrency and Computation:
Practice and Experience, 2005.
[17] A. Denis, O. Aumage, R. Hofman, K. Verstoep, T. Kielmann, and H. E. Bal. WideArea Communication for Grids: An Integrated Solution to Connectivity, Performance and
Security Problems. In Proc.HPDC-13, pages 97-106, 2004.
[18] D. Erwin (Ed.) Joint Project Report for the BMBF Project UNICORE Plus. UNICORE
Forum e.V., 2003.
Grid Application Programming Environments
305
[19] I. Foster and N. T. Karonis. A grid-enabled mpi: message passing in heterogeneous distributed computing systems. In Supercomputing '98: Proceedings of the 1998 ACM/IEEE
conference on Supercomputing, pages 1-11. IEEE Computer Society, 1998.
[20] J. Prey, T. Tannenbaum, M. Livny, I. Foster, and S. Tuecke. Condor-g: A computation
management agent for multi-institutional grids. Cluster Computing, 5(3):237-246, 2002.
[21] N. Furmento, A. Mayer, S. McGough, S. Newhouse, T . Field, and J. Darlington. ICENI:
Optimisation of Component Applications within a Grid Environment. Parallel Computing,
28(12), 2002.
[22] The Global Grid Forum (GGF). />[23] W. Hoschek, J. Jaen-Martinez, A. Samar, H. Stockinger, and K. Stockinger. Data Management in an International Data Grid Project. In Proc. IEEE/ACM International Workshop
on Grid Computing (Grid'2000), 2000.
[24] F. Huet, D. Caromel, and H. E. Bal. A High Performance Java Middleware with a Real
Application. In SuperComputing 2004, 2004.
[25] N. Karonis, B. Toonen, and I. Foster. MPICH-G2: A Grid-Enabled Implementation of the
Message Passing Interface. Journal of Parallel and Distributed Computing, 2003.
[26] R. Keller, E. Gabriel, B. Kranmier, M. S. Miiller, and M. M. Resch. Towards efficient
execution of MPI applications on the Grid: porting and optimization issues. Journal of
Grid Computing, 1(2):133-149, 2003.
[27] T. Kielmann, R. F H. Hofman, H. E. Bal, A. Plaat, and R. A. F Bhoedjang. MagPIe: MPI's
Collective Communication Operations for Clustered Wide Area Systems. In Proc. ACM
SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP'99),
pages 131-140, 1999.
[28] J. Maassen, T. Kielmann, and H. E. Bal. Parallel Application Experience with Replicated
Method Invocation. Concurrency and Computation: Practice and Experience, 13(89):681-712, 2001.
[29] J. Maassen, T. Kielmann, and H. E. Bal. GMI: Flexible and Efficient Group Method
Invocation for Parallel Progranmiing. In Proc. LCR '02: Sixth Workshop on Languages,
Compilers, and Run-time Systems for Scalable Computers, Washington, DC, 2002. To be
published in LNCS.
[30] Message Passing Interface Forum. MPI: A Message Passing Interface Standard. International Journal of Supercomputing Applications, 8(3/4), 1994.
[31] A. Nelisse, J. Maassen, T. Kielmann, and H. E. Bal. CCJ: Object-based Message Passing
and Collective Communication in Java. Concurrency and Computation: Practice and
Experience, 15(3-5):341-369, 2003.
[32] J. Novotny, M. Russell, and O. Wehrens. GridSphere: A Portal Framework for Building
Collaborations. In 1st International Workshop on Middleware for Grid Computing, Rio
de Janeiro, 2003.
[33] J. M. Schopf, J. Nabrzyski, and J. Weglarz, editors. Grid resource management: state of
the art and future trends. Kluwer, 2004.
[34] H. Sivakumar, S. Bailey, and R. L. Grossman. PSockets: The Case for Application-level
Network Striping for Data Intensive Applications using High Speed Wide Area Networks.
In Proc. Supercomputing (SC2000), 2000.
[35] O. Smimova, P. Eerola, T. Ekelof, M. Elbert, J.R. Hansen, A. Konstantinov, B. Konya, J.L.
Nielsen, F. Ould-Saada, and A. Waananen. The NorduGrid Architecture and Middleware
for Scientific Applications. In ICCS 2003, number 2657 in LNCS. Springer-Veriag, 2003.
306
FUTURE GENERATION
GRIDS
[36] Y. Tanaka, H. Nakada, S. Sekiguchi, T. Suzumura, and S. Matsuoka. Ninf-G: A Reference
Implementation of RPC-based Programming Middleware for Grid Computing. Journal
of Grid Computing, 1(1):41-51, 2003.
[37] I. Taylor, M. Shields, I. Wang, and O. Rana. Triana Applications within Grid Computing
and Peer to Peer Environments. Journal of Grid Computing, 1(2):199-217, 2003.
[38] The GEO600 project, />[39] The Globus Alliance, />[40] J. Thiyagalingam, S. Isaiadis, and V. Getov. Towards Building a Generic Grid Services
Platform: a component-oriented approach. In V. Getov and T. Kielmann, editors, Component Models and Systems for Grid Applications. Springer Verlag, 2005.
[41 ] R. V. van Nieuwpoort, T. Kielmann, and H. E. Bal. Efficient Load Balancing for Wide-area
Divide-and-Conquer Applications. In Proc. PPoPP '01: ACM SIGPLAN Symposium on
Principles and Practice of Parallel Programming, pages 34-43, 2001.
[42] R. V. van Nieuwpoort, J. Maassen, G. Wrzesinska, R. Hofman, C. Jacobs, T Kielmann,
and H. E. Bal. Ibis: a Flexible and Efficient Java-based Grid Programming Environment.
Concurrency and Computation: Practice and Experience, 17(7-8): 1079-1107, 2005.
[43] R. V. van Nieuwpoort, J. Maassen, G. Wrzesinska, T Kielmann, and H. E. Bal. Adaptive
Load Balancing for Divide-and-Conquer Grid Applications. Journal of Supercomputing,
accepted for publication, 2004.
[44] G. von Laszewski, I. Foster, J. Gawor, and P. Lane. A Java Commodity Grid Kit. Concurrency and Computation: Practice and Experience, 13(8-9):643-662, 2001.
[45] G. Wrzesinska, R. V. van Nieuwpoort, J. Maassen, and H. E. Bal. Fault-tolerance, Malleability and Migration for Divide-and-Conquer Applications on the Grid. In 19th International Parallel and Distributed Processing Symposium (IPDPS 2005), Denver, USA,
2005.
Index
adaptability, 29
agent frameworks, 3
Aldinucci, Marco, 217
Andrzejak, Artur, 29
Antoniu, Gabriel, 133
application manager, 217
artificial intelligence, 3
autonomic computing, 29
Bal, Henri, 283
Baraglia, Ranieri, 263
Baude, Francoise, 283
Bertier, Marin, 133
Blythe, Jim, 3
Bouge, Luc, 133
Bucur, Anca, 195
Burchard, Lars-Olof, 83
Campa, Sonia, 217
Caromel, Denis, 283
Caron, Eddy, 133, 171
cluster RAID, 61
co-allocation, 195
components, 217, 241
Congiusta, Antonio, 113
consistency protocols, 133
Coppola, Massimo, 217
CoreGRID, viii
Danelutto, Marco, 217, 263
data sharing, 133
decentralized service architecture, 29
Deelman, Ewa, 3
Desprez, Fr6d6ric, 133, 171
DIET, 133
distributed data mining, 113
Diinnweber, Jan, 241
Globus toolkit, 241
Goriatch, Sergei, 241
Grid application programming, 283
Grid applications, 83, 171, 263
Grid middleware, 263
Grid operating system, 61
grid scheduler, 195
Grid scheduling architecture, 99
Grid services, 113, 241
Hamerling, Christophe, 171
Heine, Felix, 83
Heiss, Hans-Ulrich, 83
heterogeneous architectures, 217
high-level programming environment, 263
Hovestadt, Matthias, 83
Huet, Fabrice, 283
Ibis, 283
implementation, 195
Jan, Mathieu, 133
JXTA, 133
Kao, Odej, 83
Keller, Axel, 83
Kielmann, Thilo, 283
L'Excellent, Jean-Yves, 171
Laforenza, Domenico, xi, 155, 263
Lee, Craig A., 3
Lindenstruth, Volker, 61
Linnert, Barry, 83
local autonomy, 83
Fagni, Tiziano, 263
fault tolerance, 61, 133, 217
Merzky, Andre, 283
Michel, B. Scott, 3
middleware, 99, 241
mobile code, 241
Mohamed, Hashim, 195
monitoring, 61
Monnet, S^bastien, 133
mutable data, 133
GAT, 283
Getov, Vladimir, xi
network-enabled server systems, 171
non-functional properties, 29
Epema, Dick, 195
events, 3
expert site framework, 171
308
OGSA, 113
online data-flow, 61
ontology, 47
Orlando, Salvatore, 155, 263
OWL, 47
Paccosi, Alessandro, 263
Panse, Ralph, 61
Pantel, Marc, 171
parallelism, 217
peer-to-peer systems, 133
performance, 195
Priol, Thierry, viii
ProActive, 283
Puglisi-Amestoy, Chiara, 171
Puppin, Diego, 155
quality of service, 83
ranking, 155
Reinefeld, Alexander, xi, 29
remote administration, 61
resource management, 47, 99, 263
runtime environments, 283
scheduling service, 99
scheduling, 47
Schintke, Florian, 29
Schneider, Jorg, 83
Schwiegelshohn, Uwe, 99
FUTURE GENERATION GRIDS
Schtitt, Thorsten, 29
search engine, 155
self healing, 61
Sens, Pierre, 133
service ecosystem, 155
Silvestri, Fabrizio, 155
simulation, 195
software components, 155
sparse linear system solvers, 171
Steinbeck, Timm, 61
structured programming, 217
Talia, Domenico, 113
Tilsner, Heinz, 61
Tonellotto, Nicola, 263
transparent access, 133
Trunfio, Paolo, 113
Vanneschi, Marco, 217, 263
virtual resouce management, 83
Wiebaick, Ame, 61
Wieder, Philipp, 47, 99
workflow, 3
WSRF, 113
Yahyapour, Ramin, 99
Ziegler, Wolfgang, 47
Zoccolo, Corrado, 217, 263