NEESgrid logo

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:
turbine diagram w/daq

The control side is a bit more complicated. (In both diagrams, grey indicates components we're working on, and red is the turbine):
ntcp plus turbine diagram
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:
  1. OGSA_ROOTThis defines the location of the Grid code.
  2. RBNB_HOMEWhere the data turbine is installed.
  3. 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.