WP3 related activities at the Vrije Universiteit Amsterdam
The research activities of the group at the Vrije Universiteit include
research on communication libraries, programming models, runtime adaption of
applications, and the development of a Grid Application Toolkit. We are mainly
involved in the following projects:
Ibis
The goal of the Ibis project at the
Vrije Universiteit is to design and implement an efficient and flexible
Java-based programming environment for parallel, distributed, and grid
computing, in particular for supercomputing applications. This includes:
-
The Ibis communication library, an efficient, flexible and portable
communication library that allows highly efficient communication in
combination with any Java Virtual Machine. Because Ibis is Java-based,
it has the advantages that come with Java, such as portability, support
for heterogeneity and security. Ibis has been designed to combine highly
efficient communication with support for both heterogeneous networks and
malleability. Ibis can be configured dynamically at run time, allowing to
combine standard techniques that work "everywhere" (e.g., using TCP)
with highly-optimized solutions that are tailored for special cases,
like a local Myrinet interconnect. Ibis should be able to provide
communication support for any grid application, from the broadcasting of
video to massively parallel computations.
-
An efficient implementation of Remote Method Invocation (RMI) on top of
the Ibis communication library. The Ibis RMI implementation can be used as
a drop-in replacement for the Sun's RMI
implementation. It is currently used in the
ProActive projects
of INRIA Sophia Antipolis (also part of CoreGrid WP-3).
-
The Group Method Invocation (GMI) model, a generalization of RMI. Unlike
RMI which only supports synchronous method invocations on a single object,
GMI also allows asynchronous invocations and invocations on groups of
objects. With GMI, the invocation and reply schemes can be selected for
each method individually at run time. Possible schemes include personalized
invocations, combined invocations, discarding results, normal results,
combining results, personalizing results, and futures.
The different method invocation and reply handling schemes can be
combined orthogonally, allowing us to express a large spectrum of communication
mechanisms of which RMI and MPI-style collective communication are special
cases. With GMI, the invocation and reply schemes can be selected for each
method individually at run time.
-
A divide and conquer programming model called Satin. Using Satin, a programmer
can simply annotate a sequential (recursive) application to turn it into an
parallel divide-and-conquer application. Satin uses a novel load-balancing
algorithm, Cluster-aware Random Stealing (CRS), which is highly efficient and
easy to implement. CRS adapts itself to network conditions and job
granularities, and does not require manually-tuned parameters. Satin has been
shown to be very efficient, both on homogeneous parallel machines and Grids.
Recently, Satin has been extended with malleability, fault-tolerance and
migration support. Machines can be added to or removed from a running
computation transparently (without requiring any support from the
application itself). The overhead of this malleability and fault-tolerance
mechanism is close to zero when the application runs normally, since extra
computation is only required when machines crash (to recompute the lost work).
GridLab
As part of the Gridlab project, we also
perform resarch into general mechanisms for runtime adaption of applications,
and the development of a (Java) Grid Application Toolkit.
-
The Delphoi service provides a unified interface to information about Grid
resources.
Grid middleware needs to adapt to changing resources for a large variety of
operations. Currently, information about Grid resources can be retrieved from
various monitoring and information systems.
However, the available information is rather low level and also dispersed
across many individual sources.
The task of the Delphoi service is to retrieve, store and process this
low-level information and later reproduce it on an abstraction level that
matches the adaptation needs of other middleware services or applications.
Delphoi has been developed as part of the EC-funded GridLab project and is
currently being used on the project's testbed for adding adaptivity to
GridLab's middleware services.
-
The Grid Application Toolkit (GAT) is the main focus of the GridLab project.
The GAT provides a set of coordinated, generic and flexible APIs for accessing
Grid services from generic application codes, portals, data managements
systems, etc. GAT is designed in a modular plug-and-play manner, such that
tools developed anywhere can be plugged into GAT (although currently, the
GAT only uses the tools developed in the GridLab project).
Our group is involved in creating a Java implementation of the GAT (JavaGat).
References:
-
Jason Maassen, Rob V. van Nieuwpoort, Thilo Kielmann, Kees Verstoep:
Middleware Adaptation with the Delphoi Service.
AGridM 2003 Workshop on Adaptive Grid Middleware,
September 30, 2004, Antibes Juan-les-Pins, France.
- Rob V. van Nieuwpoort, Jason Maassen, Gosia Wrzesinska, Thilo Kielmann, Henri E. Bal:
Adaptive Load Balancing for Divide-and-Conquer Grid Applications,
Accepted for publication in Journal of Supercomputing, 2004.
- Alexandre Denis, Olivier Aumage, Rutger Hofman, Kees Verstoep, Thilo Kielmann, Henri E. Bal:
Wide-Area Communication for Grids: An Integrated Solution to Connectivity, Performance and Security Problems,
HPDC-13,
June 2004, Honolulu, USA.
- Rob V. van Nieuwpoort, Jason Maassen, Gosia Wrzesinska, Thilo Kielmann, Henri E. Bal:
Satin: Simple and Efficient Java-based Grid Programming,
Accepted for publication in Journal of Parallel and Distributed Computing Practices,2004
- Rob V. van Nieuwpoort:
Efficient Java-Centric Grid-Computing,
Ph.D. thesis,
September 2003, Vrije Universiteit Amsterdam, the Netherlands.,
- Jason Maassen:
Method Invocation Based Communication Models for Parallel Programming in Java,
Ph.D. thesis,
June 2003, Vrije Universiteit Amsterdam, the Netherlands,
- Rob V. van Nieuwpoort, Jason Maassen, Rutger Hofman, Thilo Kielmann, Henri E. Bal:
Satin:
Simple and Efficient Java-based Grid Programming,
AGridM 2003 Workshop on Adaptive Grid Middleware,
September 28, 2003, New Orleans, Louisiana, USA.
- Rob V. van Nieuwpoort, Jason Maassen, Gosia Wrzesinska, Rutger
Hofman, Ceriel Jacobs, Thilo Kielmann, Henri E. Bal:
Ibis: a
Flexible and Efficient Java-based Grid Programming Environment,
Accepted for publication in Concurrency & Computation:
Practice & Experience.
>