Copyright 2019 Vrije Universiteit Amsterdam The Netherlands eScience Center
The scientific computing landscape is becoming more and more complex. Traditional supercomputers and clusters, grid and cloud infrastructures, many-core technologies, data distribution, specific hardware availability, software heterogeneity, they all contribute to this complexity, and often force scientists to use multiple computing platforms simultaneously.
Constellation is a software platform/library specifically aimed at distributed, heterogeneous and hierarchical computing environments. In Constellation, applications consist of several distinct (but somehow related) activities. These activities can be implemented independently using existing, well understood tools (e.g. MPI, CUDA, etc.). Constellation is then used to construct the overall application by coupling the distinct activities. Using application defined labels in combination with context-aware work stealing, Constellation provides a simple and efficient mechanism for automatically mapping the activities to the appropriate resources, taking data locality and heterogeneity into account.
Additional text: TODO
Constellation is available from its repository at Github: https://github.com/nlesc/constellation. To download and build:
git clone https://github.com/nlesc/constellation.git
cd constellation
./gradlew jar
To run some tests:
./gradlew test
./gradlew integrationTest
To include Constellation as a dependency for Gradle, use:
allprojects {
repositories {
jcenter()
}
}
and
dependencies {
compile 'nl.junglecomputing:constellation:2.0.0'
}
For Maven, use:
<repositories>
<repository>
<id>jcenter</id>
<url>https://jcenter.bintray.com</url>
</repository>
</repositories>
and
<dependency>
<groupId>nl.junclecomputing</groupId>
<artifactId>constellation</artifactId>
<version>2.0.0</version>
</dependency>
Constellation's Javadoc is available from the JCenter repository, as a separate jar, here.
The Constellation library is copyrighted by the Netherlands eScience Center and released under the Apache License, Version 2.0. A copy of the license may be obtained from http://www.apache.org/licenses/LICENSE-2.0.