Cohesion P2P Grid Platform
Desktop Grid systems harness underutilized resources of end-user computers for
tackling computationally hard problems. This approach to Grid Computing is gaining
momentum, since it is able to deliver considerable computing power at virtually
no extra cost. Small scale installations, e.g. comprising the workstations of a
department, and also large scale, Internet-wide approaches (also known as Global
Computing) have been successfully implemented. However, Desktop Grids differ
significantly from traditional parallel systems. Particularly, resources exhibit a
high degree of volatility and heterogeneity: Depending on the usage patterns
of the participating desktop computers, resources with considerably differing
capabilities join and leave the grid in an unpredictable manner. Delivering
sustained computing power in such environments poses enormous challenges to system
and application designers.
Cohesion is a novel Peer-to-Peer based Desktop Grid
computing platform. It integrates methods from high performance computing with state-of-the-art
concepts from the realm of distributed systems.
By implementing the microkernel architectural pattern, Cohesion is especially suited for extension
and customization even at the system level and thus can satisfy a wide variety of application-specific
requirements. Cohesion was specifically designed to provide a rich set of functionality for realizing parallel
programming models and application specific frameworks which require a P2P style communication model.
We especially focus on methods for irregularly structured task-parallel problems, which require
fully dynamic problem decomposition. Subsequently, we give a brief overview of the basic concepts
and components of Cohesion.
Architecture

- Virtualization Layer
This layer is responsible for virtualizing resources contributed by the hosts of a Desktop Grid.
Hosts become visible within the grid by joining a group. A group’s primary purpose is to
define a scope for resource management. Resources contributed by the nodes are published
in a distributed directory service within a group. To establish an accurate view of the
available resource set, an efficient failure detection algorithm is employed, which detects
unexpected host departures and updates the nodes’ views of the group. Application designers
can express relations among groups (e.g. parent/child, sibling) in accordance with the
application’s domain model.
- Communication Layer
This layer provides a highly configurable communication subsystem that enables higher-level
virtualization services and programming models to instantiate custom communication primitives.
The concept of composable channels allows to assemble communication channels from modularized
quality of service (QoS) aspects, e.g. reliability, encryption, or compression. Communication
channels are established between endpoints. The communication layer provides several unicast
and groupcast endpoints with different performance characteristics.
- Host System Integration Layer
This layer provides functionality to embed Cohesion into the hosting environment.
A sensor-driven container-controlled application lifecycle ensures most effective
resource utilization while at the same time preventing interference with the hosting
environment’s intended use. Sensors for CPU load, input devices (i.e. mouse and keyboard)
and system time can be combined in arbitrary ways to control when applications can be executed.
Cohesion leverages the Open Services Gateway Interface (OSGi)
specification. This approach establishes a high degree of modularization and extensibility.
All essential components of Cohesion (e.g. group models or communication endpoints) can be
extended or replaced in a transparent and straightforward manner.
Selected Publications:
- S. Schulz, W. Blochinger, M. Held, and C. Dangelmayr.
COHESION - A microkernel based desktop grid platform for irregular
task-parallel applications.
Future Generation Computer Systems - The International Journal
of Grid Computing: Theory, Methods and Applications, 24(5):354-370, 2008.
- S. Schulz and W. Blochinger.
An integrated approach for managing peer-to-peer desktop grid systems.
In Proc. of the Seventh IEEE International Symposium on Cluster
Computing and the Grid (CCGrid 2007), pages 233-240, Rio de Janeiro, Brazil, May 2007.
- W. Blochinger, C. Dangelmayr, and S. Schulz.
Aspect-oriented parallel discrete optimization on the cohesion
desktop grid platform.
In Proc. of the Sixth IEEE International Symposium on Cluster
Computing and the Grid (CCGrid06), pages 49-56, Singapore, May 2006.
|