diff options
Diffstat (limited to 'TAO/performance-tests/Cubit/TAO/MT_Cubit/README')
-rw-r--r-- | TAO/performance-tests/Cubit/TAO/MT_Cubit/README | 205 |
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. |