summaryrefslogtreecommitdiff
path: root/TAO/performance-tests/Cubit/TAO/MT_Cubit/README
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/performance-tests/Cubit/TAO/MT_Cubit/README')
-rw-r--r--TAO/performance-tests/Cubit/TAO/MT_Cubit/README205
1 files changed, 0 insertions, 205 deletions
diff --git a/TAO/performance-tests/Cubit/TAO/MT_Cubit/README b/TAO/performance-tests/Cubit/TAO/MT_Cubit/README
deleted file mode 100644
index 0e62ad95420..00000000000
--- a/TAO/performance-tests/Cubit/TAO/MT_Cubit/README
+++ /dev/null
@@ -1,205 +0,0 @@
-// $Id$
-
-THE MT_CUBIT EXAMPLE
---------------------
-
-This directory contains the source code for the TAO "MT_Cubit"
-benchmark, which enables us to measure the real-time performance of
-TAO. MT_Cubit measures the latency,jitter, determinism, CPU
-utilization, and degree of priority inversion incurred by TAO twoway
-operations invoked under different workloads and priorities. For
-more information and empirical results, please see
-
-http://www.cs.wustl.edu/~schmidt/RT-perf.ps.gz
-http://www.cs.wustl.edu/~schmidt/RT-OS.ps.gz
-
-COMPILING
----------
-
-Makefile is provided. Use make to compile.
-
-You can either run the server in the background in the same window as
-the client or open a separate window for the client and server.
-
-OPTIONS
--------
-Options are case sensitive, e.g., "-U" has a different meaning than "-u".
-
-(1) server:
-
-./server [-p <port_num>] // starting port
- [-h <my_hostname>] // IP address to use
- [-t <number_of_servants>] // # of servant threads to create
- [-s ] // Do NOT use the naming service
- [-f <ior_file> ] // specify a file to output all ior's
- [-m ] // Use multiple priorities for threads
- [-U ] // Run the server utilization test
- // use the same option on the client
- [-r ] // Run the thread-per-rate test
-
-[-p <port_num>] is the port number at which the server will start the
- first (and highest priority) servant. Successive servants will be
- created starting at (port_num+1). The -t parameter specifies the total
- number of servants.
-
- Default Value: ACE_DEFAULT_SERVER_PORT /* see $ACE/ace/OS.h for actual number value */
-
-[-h <my_hostname>] indicates the IP address the ORB should bind to.
- This is useful when a machine has more than one network interface.
-
- Default Value: Whatever ACE_OS::hostname () returns, which depends on the platform.
-
-[-t <number_of_servants>] tells the server how many servants to create.
-
- Default Value: 2
-
-[-s ] Disables the use of the naming service to register the servants.
-
- Default Value: Use naming service enabled.
-
-[-f <ior_file> ] Use to specify a file to write all the iors from the
- different servants out to disk.
-
- Default Value: nil, which means not to write the iors to disk.
-
-[-m ] For the 1 to n low priority servants, this parameter indicates
- the use of a range of priorities for the threads.
-
- Default Value: Disabled. One priority will be used for the
- low priority threads.
-
-[-U ] Run the server utilization test. This option overrides the "-t"
- option. This option sets the number threads to one. NOTE: to use
- this option successfully, you should also use "-U" on the client
- side.
-
- Default Value: Disabled. To enable, specify "-U" on the
- command line.
-
-[-r] turn on the thread-per-rate tests. (Priority inversion tests)
-
- Default Value: Disabled.
-
-The server will print the IOR of the servants, but it is not required
-by the client.
-
-(2) client:
-
-./client [<ORB OPTIONS>] // ORB options, e.g., "-ORBobjrefstyle url"
- [-d <datatype>] // what datatype to use for calls
- [-n <num_calls>] // number of CORBA calls to make.
- [-t <num_of_clients>] // number of client threads to create
- [-f <ior_file>] // specify a file to dump the iors
- [-r] // use thread-per-rate test.
- [-o] // makes client use oneway calls instead
- [-x] // makes a call to servant to shutdown
- [-u <seconds> ] // run the client utilization test for <seconds> seconds
- [-U <seconds> ] // run the servant utilization test for <seconds> seconds
- [-1] // use one to n test.
- [-g <granularity>] // choose the granularity of timing calls
- [-c] // obtain number of context switches.
- [-s] // makes client *NOT* use the name service
- [-m] // use multiple priorities for the low priority client.
-
-[-d <datatype>] <datatype> is one of the following:
-
- 0 Octet
- 1 Short
- 2 Long
- 3 Struct of the above 3 types
-
- Default Value: 0
-
-[-n <num_calls>] is the number of CORBA twoway calls to be made
-
- Default Value: 1000
-
-[-t <num_of_clients>] is the total number of concurrent clients to be
- created. The clients will have successively decreasing
- priorities if "-m" is specified.
-
- Default Value: 2
-
-[-f <ior_file> ] Use to specify a file to write all the iors from the
- different servants out to disk.
-
- Default Value: nil, which means not to write the iors to disk.
-
-[-r] turn on the thread-per-rate tests. (Priority inversion tests)
-
- Default Value: Disabled.
-
-[-o] enables oneway calls instead of two-way calls. The oneway call
- is a noop call (for now).
-
- Default Value: Disabled
-
-[-x] makes the client call the shutdown() method on the servant which
- invokes the shutdown() method on the ORB and causes it to exit.
-
- Default Value: Disabled
-
-[-u] runs the client utilization test. This option overrides the "-t"
- option to specify one client.
-
- Default Value: Disabled
-
-[-U] runs the *servant* utilization test. This option should be used
- in conjunction with the server's "-U" option.
-
- Default Value: Disabled
-
-[-1] runs one to n test. One servant services all low priority clients.
-
- Default Value: Disabled
-
-[-g <granularity>] choose the granularity of timing the CORBA calls.
- This option should disappear sometime in the future, together with
- all the modifications done to support this.
-
- What happens when this options is not used, is that (1) we start a
- timer, (2) invoke the CORBA call, (3) stop the timer after call
- returns. Some platforms have a very coarse grain timer (e.g. 10
- msec) and timing individual calls does not report very accurate
- latency results.
-
- This option enables a way to (1) start the timer, (2) invoke
- <granularity> calls, and (3) stop the timer. This way, we get a
- better sense of the average latency of the CORBA calls.
-
- The downside is that the mechanism to enforce the frequency of calls
- (i.e., 20 Hz, 10Hz, etc) is in conflict with this option. Such
- mechanism depends on the individual time for each call to enforce
- the calling frequency.
-
- Default Value: 1 (time each CORBA call)
-
-[-c] Obtain number of context switches.
-
- Default Value: Disabled
-
-[-s] Makes client *NOT* use the name service
-
- Default Value: Disabled. Will try to use the naming service.
-
-[-m] Use multiple priorities for the low priority client
-
- Default Value: Disabled. Will use one priority for all low priority clients.
-
-Running on VxWorks
-------------------
-
-To run the server and client on a single VxWorks target:
-
- -> iam "<your login>"
- -> ld < server
- -> ld < client
- -> spa server, "-s", "-f", "ior.txt", "-t", "2"
- -> spa client, "-s", "-f", "ior.txt", "-t", "2", "-n", "1000"
-
-RESULTS
--------
-
-The client prints the latency observed by the high priority client,
-and the average latency observed by the low priority clients. Jitter
-(standard deviation of the latency) is also printed by the client.