| Announcement | Details |
| Siena version | RMI version |
| Example gauges | Performance gauges |
| Gauge Specifier |
Gauge Infrastructure | ||||||||||||
|
We are happy to be able to announce the release of Version 1.0 of the
gauge infrastructure that was discussed at the DASADA meeting in
December. It is intended as a possible common infrastructure for use
among DASADA members so that gauges produced by different developers
can be shared and used in a variety of projects. This release
significantly improves upon the previous beta version that was made
available in June.
The gauge infrastructure is based on a "gauge bus," similar to the "probe bus" proposed by the Run-time Infrastructure Working Group. That is, it provides a pub-sub mechanism by which gauges can announce and listen to high-level events. The infrastructure also provides considerable support for creating, destroying, and configuring gauges. The gauge bus can be transparently instantiated on top of either Siena, or Java RMI. In addition to the gauge infrastructure (for both Siena and Java RMI), our distribution containts examples of its use, specific gauges for measuring the bandwidth of distributed applications, and related probe mechanisms for performance monitoring (based on the sophisticated Remos technology, developed under the DARPA QoS Program). We are eager to have others use this infrastructure and will readily provide assistance for those in the DASADA community using it. | ||||||||||||
Details | ||||||||||||
|
The design of the gauge infrastructure, and its rationale, can be
found in the Gauge
Infrastructure Proposal, which is distributed with the release, as
well as in our paper at
the CDSA conference in Brisbane.
In brief, the gauge infrastructure provides a conceptual architecture consisting of the following objects:
| ||||||||||||
Siena Version | ||||||||||||
|
The Siena implementation uses the Siena wide area event network (see
http://www.cs.colorado.edu/~carzanig/siena)
as the communication medium. The RPC interfaces are implemented with
blocking Siena events. It is assumed that you have Siena installed and
in your classpath to use this implementation.
To download the Siena version, you require the following files:
| ||||||||||||
RMI Version | ||||||||||||
|
The RMI implementation uses Jave RMI remote procedure calls as the
underlying communication mechanism.
To download the RMI version, you require the following files:
| ||||||||||||
Example Gauges | ||||||||||||
Provided with each implementation are simple examples of gauges and
gauge managers for time-reporting gauges (that don't use any
probes). These examples include generic gauge consumers that can be
used to create and listen to gauges of any type, and simply report
their observations in a GUI.
The implementations for Siena and RMI are slightly different:
To download the examples:
| ||||||||||||
Performance Gauges | ||||||||||||
| Included with this release are a gauge and probe for measuring bandwidth. The probes report the bandwidth between two IP addresses, and use the Remos Network API (http://cs.cmu.edu/~remos) to determine the information. (Remos needs to be downloaded and installed seperately.) The gauge simply listens to the probe outputs and reports them to the gauge bus. It is assumed that you have the Remos Java package and Remos collectors running in your environment. This package is available at remosGauges.tgz. Currently, the version only works for the Siena version; we plan to make available the RMI version very soon. | ||||||||||||
Gauge Specifier | ||||||||||||
The gauge sepcifier is a Java application for specifing gauge
types. Gauge types define the values reported by instances of these
gauges, the parameters required to create a gauge (called the setup
parameters), and the parameters that may be used to configure
instances as they run. The gauge specifier provides a GUI front end to this sepcification. The output of the specifier is:
java -jar gaugeSpecifier.jar |