[ Coven Driver Source ]
The back-end parallel driver.
[ Coven GUI Source ]
The front-end Java GUI.
[ Coven Utilities ]
The program compiler and module parser.
[ N-Body Modules ]
A collection of modules for N-Body simulations.
[ CFD Heat XFer Modules ]
A collection of modules for a simulation of a CFD heat transfer over a steel plate.
[ glpv ]
The OpenGL particle visualization package needed for visualizing the N-Body simulation.
[ glcfd ]
The OpenGL visualization package needed for visualizing the CFD Heat Transfer simulation.
The name Coven comes from the preceding project, CERSe - The Component-based
Environment for Remote Sensing. CERSe was supposed to sound like Circe, the
witch from Greek mythology. CERSe specifically targeted satellite
remote sensing applications. Coven, however, is a much larger, more generic
project in which we can (and have) implemented CERSe as a child environment.
Webster defines Coven as a collection of individuals with similar interests
or activities and an assembly or band of usually 13 witches. We
believe this definition fits the Coven project. Additionally, the connection
to CERSe (and Circe) connects the project to the witch connotation of the
word coven. It is in this spirit that we have named some of Coven's other
child environments Medea and Hecate.
What IS Coven?
Coven is a framework for creating problem solving environments for
parallel computers. This framework encourages collaborative software
development through component-based software design.
What does Coven consist of?
Coven is comprised of a Java GUI front-end which hooks
to a parallel back-end written in C using MPI. The hooks are
accomplished through a Coven programming language which is compiled.
A custom module parser to ease module programming is available as
well. At Coven's core is a custom data structure (TPH) for keeping
related data together as well as easing data flow between modules. It
is through this data structure that many of our research interests
Perhaps the best way to understand Coven is through reading some of
the publications and documentation.
Coven is developed at
The Parallel Architecture
Research Laboratory of
Sat Jul 31 15:26:41 EDT 2004
The web page has been very inactive, but not Coven development and research.
I (Nathan) have been finishing my Ph.D. dissertation and graduating from Clemson.
I officially defended my dissertation on July 27th, 2004. The document is
available on the PARL techreports page. Dr. Walt Ligon intends to
continue Coven development while I move on to Los Alamos National Laboratory
in a full time research position.
In my dissertation I showed how through a unifying model of computation in
Coven we were able to provide several parallel optimizations easily to applications
built using Coven. These optimizations included multi-threading, dynamic load
balancing, and checkpoint / recovery. Performance analysis, design, development,
and a sampling of applications which were used to test these optimizations are
covered in the dissertation. Additionally, I show the use of the Coven profiler
for helping to recognize the need for these optimizations.
Thu May 29 11:34:23 EDT 2003
Coven has gone through lots of changes to facilitate some new ideas. Of
particular interest is a recent change to allow for modules to communicate with
other segments of data (contained in TPHs) through referencing them by segment
number, rather than MPI rank number. This is interesting in that it allows
programmers to virtualize data. Coven now allows users to, for
instance, break a dataset into N pieces and place those N pieces onto N/4
processors. Any module can exchange data with another piece, even if that
piece has been scheduled to run on itself. Coven accomplishes this through
transparently making user's communication calls asynchronous and keeping track
of when they have completed.
Additionally, we have implemented sophisticated input and output queues for
each program sequencer. The user can control the depths of these queues and
Coven will keep track of throttling additional input data when the output queue
is too full. In this way, the user can control how balanced the operations can
Profiling is progressing amazingly well. We have a robust profiling
architecture constructed and are beginning to produce interesting
visualizations that use them.
Sourabh Pandit has left the group to persue other interests. He intends to
contribute in his spare time and hopes to rejoin our team in the future.
Coven Release Update
Wed Jan 22 09:28:40 EST 2003
The web page has been overhauled completely. You can now find a brief history
of Coven as well as where the name Coven comes from in the first place.
drafts of the documentation are online. All are complete execept for the
tutorial which needs additional screenshots and a little more text at the end.
Look for updates to this document to come in the next few weeks.
We are finally getting around to GPLing all of our work and placing it online.
Right now we've only gotten the OpenGL visualizations glpv and glcfd up but
the rest will follow very soon.
A few screenshots are now online which help give an idea of what the GUI
interface looks like.
Check out the very large MPEG movies on the right to get an idea of what the
OpenGL visualizations can do. These movies were made from
Coven modules which will be online and available for download very soon. The
tutorial will help interested parties to recreate the N-Body simulation on
the right. The quality of the movies is really low, this was done to try and
reduce the file sizes.
Coven Nears First Official Release
Tue Jan 21 16:44:32 EST 2003
We are nearing our first official release of Coven. This includes lots of
documentation on installation, tutorials, writing modules, and writing
Coven Demoed at Supercomputing 2002
Tue Jan 7 13:09:04 EST 2003
Coven was demoed at the Supercomputing 2002 conference as part of the
NASA-GSFC booth. Nathan DeBardeleben was the only Coven team member
(besides advisor Dr. Walt Ligon) at the conference. The following images
are from the booth and include other PARL members.
The booth with Nathan DeBardeleben, Will Jones, Dr. Walt
Ligon, and a visitor. The Coven GUI is being demonstrated
on the monitor.
The PARL NASA-GSFC booth with, from left to right: Dr. Dan
Dale Whitchurch, Nathan DeBardeleben, and Dr. Walt Ligon.
Aetherwulf and a cluster loaned from
Atipa are visible on the
left. Coven heat transfer and n-body demos are running on the
The booth with Tim Shelling and Nathan DeBardeleben. A PVFS
fault tolerance demo with web cam is running on the left.
Aetherwulf and the loaned Atipa cluster are visible as well.
The NASA booth workers. Second row from front, second person
from right is Dr. Walt Ligon. To his left is Dr. Ron Sass,
followed by Nathan DeBardeleben, Phil Carns, and Tim Shelling.
Standing behind Walt is Dr. Dan Stanzione. In the back right
is Will Jones and standing behind him is Dale Whitchurch.
Nathan DeBardeleben - Project leader, head researcher, and chief programmer
Vishal Patil - Systems Programmer, chiefly profiling and tuning
Dr. Walter B. Ligon III - Advisor
Graduated / Left Team
Sourabh Pandit - Systems Programmer, chiefly checkpointing
Ponnoreay Pich - Applications Programmer
Bryce Howard - Applications Programmer
Matthew Brunson - Applications Programmer
CERSe was the parent project of Coven and
it is from it that many of our ideas developed.
Medea is the N-Body simulation environment
which includes an OpenGL visualization.
For these movies 10,000 bodies were set in a
plane like a grid with random Gaussian offsets above and below the plane. The
bodies converge to the center (notice the interactions between small sets of
bodies towards the center orbiting around each other before the "big bang").
- FTP Server - MOVIES
- 720x486 (5.9MB)
- 640x480 (6.7MB)
- 640x480 - moving camera (15MB)
Hecate is the CFD Heat Transfer simulation
environments which includes an OpenGL
For these movies a steel plate initially at 300 degrees Kelvin had heat sources applied to it and we can see the temperature vary as the system stabilizes. The Z-axis is used to represent the temperature in the 3D visualizations.
- FTP Server - MOVIES
- 640x480 (6.8MB) - A constant temperature of 600 degrees Kelvin was applied to one wall of the plate and we rotate the view around to give different perspectives.
- 640x480 (7.5MB) - A constant temperature of 600 degrees Kelvin was applied to all four walls of the plate. Notice that the plate heats up rapidly.
- 640x480 (6.6MB) - A 2D versoin of the above simulation.
Comments or suggestions: ndebard at parl.clemson.edu
The Component-based Environment for Remote Sensing. Coven evolved from this earlier PSE project aimed specifically at satellite remote sensing applications.
The Clemson Environment for Computer Aided Application Design. Coven uses some concepts (in particular the attributed graph format) from this earlier project.
The Reconfigurable Computing Application Development Environment. This project uses an extension of Coven's graphical front-end.