diff options
Diffstat (limited to 'TAO/performance-tests/Cubit/TAO/IDL_Cubit/README')
-rw-r--r-- | TAO/performance-tests/Cubit/TAO/IDL_Cubit/README | 224 |
1 files changed, 224 insertions, 0 deletions
diff --git a/TAO/performance-tests/Cubit/TAO/IDL_Cubit/README b/TAO/performance-tests/Cubit/TAO/IDL_Cubit/README new file mode 100644 index 00000000000..cd3c6535bd5 --- /dev/null +++ b/TAO/performance-tests/Cubit/TAO/IDL_Cubit/README @@ -0,0 +1,224 @@ +// $Id$ + +This example uses the TAO IDL compiler to generate the SII stubs and +skeletons. 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. + +The collocation_test demonstrates how the performance improves when +objects are collocated. The test runs both server and client in +different threads. + +NOTES: The IDL_Cubit server used to run a Naming Service so the client + could easily locate it. This proved too problematic, the test + required a complete compilation of the orbsvcs library and was + not reliable. The preferred method is to use a file to pass + the factory IOR between the server and the client. + +server: +======= + +% server [-ORBEndpoint <endpoint>] + [-d] [-f <ior_output_file>] + +Options: +------- +-d Debug flag (It is additive more -d flags will increase + the debugging level). + +-f Outputs the cubit_factory IOR to a file. + +When the server is started and you have used the -d flag, you should +see as the first line of output something that looks like the follow: + + iiop://1.0@swarm:10015/Persistent/886013035/850128/RootPOA/RootPOA_is_BAD/factory + (-ORBobjrefstyle url) +or + IOR:000000000000001649444c3a43756269745... + (-ORBobjrefstyle ior) + +Using -d turns on debugging messages. It is additive, i.e., the more +-d options provided, the more debugging you get. At the moment, only +2 levels of debugging are implemented, and more than 2 -d options are +silently ignored. + +client: +======= + +% client [client options] + +IDL_Cubit Client Options: +------------------------- +-d Debug flag +-x Tells the server to shutdown. +-f Reads the cubit factory IOR from the file +-k Reads the cubit factory IOR from commandline +-n no. of iterations +-t Enable a test (see below for a list of valid tests) +-z Disable a test (see below for a list of valid tests) +-b Set the number of bytes to be used in the octet sequence test. + Currently, this flag only works if the "small_octet_seq" test + is enabled (by default or by using the -t option). + +Valid IDL_Cubit test arguments are: + + void + octet + short + long + struct + union + small_octet_seq + small_long_seq + small_struct_seq + large_octet_seq + large_long_seq + large_struct_seq + mixin + rti_data + one_way + any + any_struct + +The following are the three ways of giving the CubitFactory IOR to the +client: + + 1. From a file using the -f option. (This file can be produced using + the -f option of the server.) + + 2. Directly on the command line using the -k option. + + 3. Get it from the Naming Service (which is the default client + behavior). + +collocation_test: +----------------- + + This test demonstrates how collocation optimization improve +performance of collocated objects. Run the test as: + + collocation_test [-c "client side auguments"] [-s "server side arguments"] + +You can specify any command line options understood by server and +client in server-side and client-side options string. The easiest way +to run the test is: + + collocation_test + +This will start testing the "thru_poa" collocation strategy. Notice +that the ior filenames passed to both server side and client side must +match. To test the "direct" collocation strategy, run the test as: + + collocation_test -s "-ORBCollocationStrategy direct" + +To disable collocation optimization run the test as: + + collocation_test -s "-ORBCollocation no" + +run_test.pl: +------------ + + This is a perl script which simplifies the execution of the +test. + +run_test [-h] [-n num] [-mcast] [-sleeptime t] [-debug] [-release] + +-h -- prints this information +-n num -- client uses <num> iterations +-mcast -- uses the multicast version of the nameservice +-sleeptime t -- run_test should sleep for <t> seconds between running + the server and client (default is 3 seconds) +-debug -- sets the debug flag for both client and server +-release -- runs the Release version of the test (for NT use) + + +Sample Run, Using files to communicate IOR: +------------------------------------------ + +1. Start the server. + +% server -ORBEndpoint iiop://tango:20000 -ORBObjRefStyle URL -f theior + + IDL_Cubit:SERVER + +The IOR is: <iiop://1.0@tango:20000/Persistent/887665222/647179/RootPOA/RootPOA_is_BAD/factory\00\00> + +2. Start the client. + +%client -f theior + + IDL_Cubit: client + +Factory received OK +. +. +. + + +Sample Run, passing the IOR on the command line, on VxWorks: +------------------------------------------------------------ + -> ld < server + -> spa server, "-ORBObjRefStyle", "URL" + IDL_Cubit: server + + The IOR is: <iiop://1.0@samba:1028/U/child_poa/factory> + + -> ld < client + -> spa client, "-k", "iiop://1.0@samba:1028/U/child_poa/factory" + Enter <number> to select, anything else to stop: 2 + +The IOR provided to the client is the IOR that the server printed out. +Be sure to replace the <> with "". + + +Using JAVA to access the IDL Cubit test: +---------------------------------------- + +install JDK1.2 +install Java to IDL compiler + +copy the following files: +cp $TAO_ROOT/orbsvcs/orbsvcs/CosNaming.idl . +cp $TAO_ROOT/orbsvcs/tests/Simulator/DOVEBrowser/NS_Resolve.java . + +Compile: +javatoidl cubit.idl +javatoidl CosNaming.idl +javac *.java + +Run: +java IDL_Cubit_Client + + +Running IDL_Cubit on CHORUS: +-------------------------- + +1.You should make sure that you set the HOST environment variable on the +Chorus VME Board to the IP address of that Board before you run +MT_Cubit test. + +e.g., +$rsh tambora1 setenv HOST 128.252.165.82 + +2. You should make sure that the path to IOR file has write permission +for ALL. + +server: +------ +$rsh host_name arun path_to_server -f path_to_ior_file -ORBDottedDecimalAddresses 1 <server_options> + +You DONT have to use -ORBdotteddecimaladdresses 1 if you have +TAO_USE_DOTTED_DECIMAL_ADDRESSES defined in your config.h file. + +e.g., +$rsh tambora1 arun /IDL_Cubit/server -f /ior +-ORBDottedDecimalAddresses 1 -ORBObjRefStyle URL + +client: +------- + +$rsh host_name arun path_to_client -f path_to_ior_file <client_options> + +e.g., + +$rsh tambora2 arun /IDL_Cubit/client -f /ior |