Browse Prior Art Database

Statistics Gathering and Analyzing Tool for Open Software Foundation's Distributed Computing Environment

IP.com Disclosure Number: IPCOM000111335D
Original Publication Date: 1994-Feb-01
Included in the Prior Art Database: 2005-Mar-26
Document File: 4 page(s) / 108K

Publishing Venue

IBM

Related People

Lin, DH: AUTHOR [+3]

Abstract

Disclosed is an efficient statistics gathering and analysis tool for Open Software Foundation's (OSF*) Distributed Computing Environment (DCE). The tool gathers and presents dynamic information of a multi-cell DCE-based distribution system, including both DCE core components and its applications. This information is used for tuning the system. To be efficient, the tool minimizes the interference to the native activities while it performs in-line data collection. An extension of DCE RPC IDL compiler instruments the performance hooks, communication setup and transmission code in the RPC stubs. Therefore, unmodified applications can be monitored after being rebuilt with the instrumented stubs.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Statistics Gathering and Analyzing Tool for Open Software Foundation's
Distributed Computing Environment

      Disclosed is an efficient statistics gathering and analysis
tool for Open Software Foundation's (OSF*) Distributed Computing
Environment (DCE).  The tool gathers and presents dynamic information
of a multi-cell DCE-based distribution system, including both DCE
core components and its applications.  This information is used for
tuning the system.  To be efficient, the tool minimizes the
interference to the native activities while it performs in-line data
collection.  An extension of DCE RPC IDL compiler instruments the
performance hooks, communication setup and transmission code in the
RPC stubs.  Therefore, unmodified applications can be monitored after
being rebuilt with the instrumented stubs.

      The tool is based on a client-server architecture using the
native DCE RPC facility.  Each machine in a DCE cell contains a
statistics Log Client and each cell has a statistics Log Server,
which contains a log database.  A distributed application is built
with the instrumented RPC stubs generated by an extended IDL
compiler.  The Log Client gathers statistics data from the RPC
client/server stubs of the application via a shared-memory bounded
buffer.  The Log Clients transfer data to the cell Log Server via RPC
calls.  A Log Analyzer/Viewer client inquires the log database via
RPC calls to the Log Server, analyzes and reports the system
statistics.  In a multi-cell environment the Log Analyzer/Viewer
client uses inter-cell RPCs to different Log Servers in the
corresponding cells.  Multiple Analyzers/Viewers in a cell or
different cells can exist at the same time.

      To extract the time stamp and transfer it to the Log Client
efficiently, the time stamp is collected by a high resolution timer
and stored in local memory temporarily.  The data transfer is
deferred until right before the stub procedure returns.  A shared
memory mechanism is adopted over IPC and RPC for data transfer from
the stub to the Log Client because it is very efficient and the
communication is always within the same machine.

      The compiler inserts three macros in the stubs.  TIMER_HOOK
gets the time stamp and stores it locally.  DATA_HOOK gets the RPC
input or output data size and stores it locally.  ENQUEUE_BUFFER
function enqueues the data collected by TIMER_HOOK and DATA_HOOK to a
shared memory buffer.

The client stub is instrumented as such:

foo_cstub(){

  ...                         /* declare local cache for time logs */

  TIMER_HOOK(marshall_start) /* marshalling start */

  parameter marshalling

  TIMER_HOOK(marshall_end)   /* marshalling end, transmit/receive
      start*/

  DATA_HOOK(input_data)

  packets transmit and receive

  TIMER_HOOK(unmarshall_start) /* transmit/receive end, unmarshalling
start*

  parameter unmarshalling

  TIMER_HOOK(unmarshall_...