Void

Description

The suite measures an empty cycle of a constant length with a halfway timestamp. The purpose of the suite is to assess the impact of the measurement environment and measurement framework on the observed results.

C++ Code

ulonglong ActionVoid (void *pArgs)
{
  ulonglong     iTime;
  volatile int  i;

  // This is really just a cycle over a volatile variable to
  // waste some time and prevent too aggressive an optimization.
  
  for (i = 0 ; i < BEN_Cycles ; i ++) { };
  iTime = TIMGetTimestamp ();
  for (i = 0 ; i < BEN_Cycles ; i ++) { };
  
  return (iTime);
}

Java Code

public final void execute (long [] times) {
  for (int cntr = 0; cntr < BEN_Cycles; cntr++) { };
  times [0] = SysInformer.timGetTimestamp ();
  for (int cntr = 0; cntr < BEN_Cycles; cntr++) { };
}

Results

The time distribution graphs should display a maximum for both the half cycle and the full cycle times. The maxima should be almost exclusive when a single thread is used and gradually less dominant when multiple threads are used. The most frequently observed time for the full cycle should be twice the most frequently observed time for the half cycle.

The time pattern graphs should display a monotonous sequence for both the half cycle and the full cycle times, with a small number of regular fluctuations. The sequence should be gradually less uniform when multiple threads are used.

The dependency of both the half cycle and the full cycle times on the number of threads should display constant minimum and median values and linearly increasing average and maximum values.

The client thruput should be constant, except on multiprocessor systems, where the thruput should increase initially until the number of threads reaches the number of processors.

The memory usage should be constant. The network usage should be zero. The thread usage should increase linearly on the client and be constant on the server. The processor usage should be monotonous and exclusively in user space.


Linux with GCC


CORBAe micro

Time Distribution (1 Thread)

The graph depicts the statistical distribution of the time it takes to complete the empty cycle. On the X axis are the time intervals, on the Y axis is the percentage of empty cycles completed within the given time interval.

Time Distribution (10 Threads)

The graph depicts the statistical distribution of the time it takes to complete the empty cycle. On the X axis are the time intervals, on the Y axis is the percentage of empty cycles completed within the given time interval.

Time Distribution (100 Threads)

The graph depicts the statistical distribution of the time it takes to complete the empty cycle. On the X axis are the time intervals, on the Y axis is the percentage of empty cycles completed within the given time interval.

Time Pattern (1 Thread)

The graph depicts the pattern of changes of the time it takes to complete the empty cycle. On the X axis is the sequential number of the measurement, on the Y axis is the time it took to complete the cycle.

Time Pattern (1 Thread, Zoom)

The graph is a zoom in of the previous graph.

Time Pattern (10 Threads)

The graph depicts the pattern of changes of the time it takes to complete the empty cycle. On the X axis is the sequential number of the measurement, on the Y axis is the time it took to complete the cycle.

Time Pattern (10 Threads, Zoom)

The graph is a zoom in of the previous graph.

Time Pattern (100 Threads)

The graph depicts the pattern of changes of the time it takes to complete the empty cycle. On the X axis is the sequential number of the measurement, on the Y axis is the time it took to complete the cycle.

Time Pattern (100 Threads, Zoom)

The graph is a zoom in of the previous graph.

Dependency On Number Of Threads

The graph depicts the dependency of the time it takes to complete the empty cycle on the number of threads running the cycle concurrently. On the X axis is the number of threads, on the Y axis is the time it took to complete the cycle.


CORBAe micro static

Time Distribution (1 Thread)

The graph depicts the statistical distribution of the time it takes to complete the empty cycle. On the X axis are the time intervals, on the Y axis is the percentage of empty cycles completed within the given time interval.

Time Distribution (10 Threads)

The graph depicts the statistical distribution of the time it takes to complete the empty cycle. On the X axis are the time intervals, on the Y axis is the percentage of empty cycles completed within the given time interval.

Time Distribution (100 Threads)

The graph depicts the statistical distribution of the time it takes to complete the empty cycle. On the X axis are the time intervals, on the Y axis is the percentage of empty cycles completed within the given time interval.

Time Pattern (1 Thread)

The graph depicts the pattern of changes of the time it takes to complete the empty cycle. On the X axis is the sequential number of the measurement, on the Y axis is the time it took to complete the cycle.

Time Pattern (1 Thread, Zoom)

The graph is a zoom in of the previous graph.

Time Pattern (10 Threads)

The graph depicts the pattern of changes of the time it takes to complete the empty cycle. On the X axis is the sequential number of the measurement, on the Y axis is the time it took to complete the cycle.

Time Pattern (10 Threads, Zoom)

The graph is a zoom in of the previous graph.

Time Pattern (100 Threads)

The graph depicts the pattern of changes of the time it takes to complete the empty cycle. On the X axis is the sequential number of the measurement, on the Y axis is the time it took to complete the cycle.

Time Pattern (100 Threads, Zoom)

The graph is a zoom in of the previous graph.

Dependency On Number Of Threads

The graph depicts the dependency of the time it takes to complete the empty cycle on the number of threads running the cycle concurrently. On the X axis is the number of threads, on the Y axis is the time it took to complete the cycle.


TAO Regular

Time Distribution (1 Thread)

The graph depicts the statistical distribution of the time it takes to complete the empty cycle. On the X axis are the time intervals, on the Y axis is the percentage of empty cycles completed within the given time interval.

Time Distribution (10 Threads)

The graph depicts the statistical distribution of the time it takes to complete the empty cycle. On the X axis are the time intervals, on the Y axis is the percentage of empty cycles completed within the given time interval.

Time Distribution (100 Threads)

The graph depicts the statistical distribution of the time it takes to complete the empty cycle. On the X axis are the time intervals, on the Y axis is the percentage of empty cycles completed within the given time interval.

Time Pattern (1 Thread)

The graph depicts the pattern of changes of the time it takes to complete the empty cycle. On the X axis is the sequential number of the measurement, on the Y axis is the time it took to complete the cycle.

Time Pattern (1 Thread, Zoom)

The graph is a zoom in of the previous graph.

Time Pattern (10 Threads)

The graph depicts the pattern of changes of the time it takes to complete the empty cycle. On the X axis is the sequential number of the measurement, on the Y axis is the time it took to complete the cycle.

Time Pattern (10 Threads, Zoom)

The graph is a zoom in of the previous graph.

Time Pattern (100 Threads)

The graph depicts the pattern of changes of the time it takes to complete the empty cycle. On the X axis is the sequential number of the measurement, on the Y axis is the time it took to complete the cycle.

Time Pattern (100 Threads, Zoom)

The graph is a zoom in of the previous graph.

Dependency On Number Of Threads

The graph depicts the dependency of the time it takes to complete the empty cycle on the number of threads running the cycle concurrently. On the X axis is the number of threads, on the Y axis is the time it took to complete the cycle.


Summary

Time Distribution (1 Thread)

The graph depicts the statistical distribution of the time it takes to complete the empty cycle. On the X axis are the time intervals, on the Y axis is the percentage of empty cycles completed within the given time interval.

Time Distribution (10 Threads)

The graph depicts the statistical distribution of the time it takes to complete the empty cycle. On the X axis are the time intervals, on the Y axis is the percentage of empty cycles completed within the given time interval.

Time Distribution (100 Threads)

The graph depicts the statistical distribution of the time it takes to complete the empty cycle. On the X axis are the time intervals, on the Y axis is the percentage of empty cycles completed within the given time interval.

Time Pattern (1 Thread)

The graph depicts the pattern of changes of the time it takes to complete the empty cycle. On the X axis is the sequential number of the measurement, on the Y axis is the time it took to complete the cycle.

Time Pattern (10 Threads)

The graph depicts the pattern of changes of the time it takes to complete the empty cycle. On the X axis is the sequential number of the measurement, on the Y axis is the time it took to complete the cycle.

Time Pattern (100 Threads)

The graph depicts the pattern of changes of the time it takes to complete the empty cycle. On the X axis is the sequential number of the measurement, on the Y axis is the time it took to complete the cycle.

Dependency On Number Of Threads

The graph depicts the dependency of the time it takes to complete the empty cycle on the number of threads running the cycle concurrently. On the X axis is the number of threads, on the Y axis is the time it took to complete the cycle.