Revision history
Initial post: March 23 2004
Updated July 29 2004 - added JMF, NTCP env vars
Data Turbine efforts at Argonne
I'm currently working with others on the SI team to add the
Creare Data Turbine to the
NEESGrid software distribution. I'm currently working most on the DAQ side
of things, but am also involved in the control and still-image-capture
efforts as well. Here's a diagram to give you a rough idea:
The control side is a bit more complicated. (In both diagrams, grey indicates
components we're working on, and red is the turbine):
Note that these are prototypes and will change!
The basic idea is to use the turbine as a conduit for data (numeric, video, still image) as well as commands and their responses.
Getting the code
All of the turbine related code is in the NEESGrid CVS archive,
package name 'turbine'. Please see that page for instructions.
Environment variables to compile the code
The Ant build.xml file looks for 3 environment variables to compile the code:
- OGSA_ROOTThis defines the location of the Grid code.
- RBNB_HOMEWhere the data turbine is installed.
- JMFHOMEWhere the Java Media Framework is installed
The Ant build uses these to find the jarfiles it needs: ntcp-server.jar, for example. It will refuse to compile the code if these are not defined.
Running the code
You'll all need the Globus toolkit installed to compile the NTCP code, this
is explained in the NTCP client documentation.
I usually work from the turbine directory, so I set my classpath like this:
setenv CLASSPATH build/classes:$RBNB_HOME/lib/rbnb.jar
That allows me to just
java org.nees.rbnb.DaqToRbnb ....
without specifying the classpath.
Getting and running the Data turbine
The turbine is downloadable from Creare'
s website.
Note: As shipped, the turbine starts up a webserver on port 80. This means that you have to run it as root (on Unix), and that it'll fail to start if you have a webserver already using that port!
The fix is simple: edit
$RBNB_ROOT/jakarta-tomcat-4.1.21/conf/server.xml
and change this line:
port="80" minProcessors="5" maxProcessors="75"
to whichever port you like.
Alternately, if you don't need the WebDAV, you can run just the turbine from the command line:
java -jar rbnb.jar >& logfile.txt &
Memory issues
Note that video streaming will cause the turbine to run out of memory. To avoid this, use the -Xmx argument to increase the stack. Here's how I've been running it:
java -Xmx512M -jar rbnb.jar >& ~/rbnb-log-512.txt &
Doxygen source code documentation
I've just started adding Doxygen-generated documentation
to the source code. This can be generated from the code by running 'doxygen' or 'ant doxygen' in the main code directory. The above link is a static
snapshot, generated March 23 2004.
Current Status
As of 7/29/04, the code is in good shape and continuing to evolve rapidly. New tools (e.g. file->rbnb) are
still being added as we discover what's possible and useful, so other than command line help
the documentation is still missing.
In progress:
Chef interface
Debugging, scalability testing
Where's the Turbine?
Our main turbine instance is accessible at
neestpm.mcs.anl.gov:3333
Currently, DAQ and video streams will come and go as we test code.
Please let me know of any problems.
Discussion List
If you'd like to join in the discussions about the turbine, please feel free
to download the code and start playing. The email list to join is
neesgrid-dv@neesgrid.org.
Navigation links
Back to NEESGrid at Argonne
Back to home page
Support
This work was supported primarily by the George E. Brown,
Jr. Network for Earthquake Engineering Simulation (NEES) Program of
the National Science Foundation under Award Number CMS-0117853.