summaryrefslogtreecommitdiff
path: root/ACE/TAO/examples/RTCORBA/Activity/README
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/TAO/examples/RTCORBA/Activity/README')
-rw-r--r--ACE/TAO/examples/RTCORBA/Activity/README133
1 files changed, 133 insertions, 0 deletions
diff --git a/ACE/TAO/examples/RTCORBA/Activity/README b/ACE/TAO/examples/RTCORBA/Activity/README
new file mode 100644
index 00000000000..32264d094e1
--- /dev/null
+++ b/ACE/TAO/examples/RTCORBA/Activity/README
@@ -0,0 +1,133 @@
+//$Id$
+=================== RT CORBA capabilities demo ===================
+
+Table of contents
+-----------------
+1. Introduction
+2. Conf file parameters
+3. Running the example.
+
+1. Introduction
+
+The Real-Time CORBA specification provides a high level API for programmers
+to write distributed applications in which the priority of a distributed
+thread of execution is maintained across separate hosts with potentially
+different operating systems. It also provides support for explicit
+binding, standard sychronizers, the ability to modify transport protocol
+properties and thread pools as a standard.
+
+In this experiment we show the effect of maintaining end to end priorities.
+
+The experiment consists of the following participants:
+
+Job: A CORBA servant object that performs CPU intensive work. The ammount
+of work depends on a load factor that is conveyed to the object per
+invocation as an argument.
+
+Periodic Task: A periodic task is a thread of execution that is associated
+with a Job. A Task periodically invokes the Job after a period of time
+specified by the user.
+
+Activity: An activity is a collection of Jobs and Tasks hosted in a single
+process. An activity reads a configuration file that can be used to
+initialize in many ways such as a client or server.
+
+2. Conf file parameters
+--------------------
+POA OPTIONS
+==========
+To specify POA options the format is:
+
+-POA <name> -PriorityModel <CLIENT|SERVER> <priority> -Lanes <count> (-Lane <priority> ,<static_threads> <dynamic_threads>)* -Bands <count> (-Band <low> <high>)*
+
+e.g.
+-POA poa1 -PriorityModel CLIENT 10 -Bands 2 -Band 1 20 -Band 30 85 -Lanes 2 -Lane 10 1 0 -Lane 80 1 0
+
+specifes a POA with:
+
+Name - poa1
+
+Priority model - client propogated, def. priority = 10
+
+Bands - 2 Bands with Band values as follows -
+ Band 1 : low priority = 1, high priority = 20
+ Band 2 : low priority = 30, high priority = 85
+
+Lanes - 2 Lanes with Lane values as follows -
+ Lane 1 : priority = 10, 1 static thread, 0 dynamic threads
+ Lane 2 : priority = 80, 1 static thread, 0 dynamic threads
+
+You can specify options for creating POA, Job and Task as shown
+below. Please note that you must specify the number of POA, Job or Task via
+the following options at the beginning of the conf. file:
+
+-POACount [count]
+-TaskCount [count]
+-JobCount [count]
+
+Job Options
+===========
+The format for specify a Job is:
+-Job <name> <poa_name>
+
+where, poa_name is the POA that this object is activated in.
+
+e.g.
+-Job job_10 poa1
+
+specifies a Job with,
+
+Name - job_10
+POA Name - poa1
+
+Task Options
+============
+
+The format for specify a Task is:
+
+-ThreadTask -JobName <name> -Priority <priority> -Period <period> -ExecTime <exec_time> -Phase <phase> -Iter <iterations> -Load <load_weight>
+
+where,
+-ThreadTask = Specifies a Thread based timer.
+-JobName <name> = Name of the Job object that this task will exec. once every period.
+-Priority <priority> = The OS thread priority at which to run this task.
+-Period <period> = The period of execution. (in uS)
+-ExecTime <exec_time> = The offline estimate of the worst case execution time for the Job. (uS)
+-Phase <phase> = The phase to start at (uS)
+-Iter <iterations> = Number of Periods to exec.
+-Load <load_weight> = a load factor passed to the job that varies its processing.
+
+e.g.
+-ThreadTask -JobName job_10 -Priority 10 -Period 1 -ExecTime 10000 -Phase 0 -Iter 20 -Load 1000
+
+specifes a Thread Task in which,
+JobName = job_10
+-Priority = 10
+-Period = 1uS
+-ExecTime = 10000uS
+-Phase = 0uS
+-Iter = 20 iterations
+-Load = 1000
+
+4. Command-Line Options
+----------------------
+-Started_Flag <file_name> : When a particular activity instance has
+finished bootstrapping, it will create a file specified by <file_name>
+to signal that it has started. This allows scripts to synchronize when
+other instances of activity can be started.
+
+4. Running the example
+----------------------
+
+a). The activated Jobs are registered with a Naming service, so we need an NS running
+e.g. ./Naming_Service -o naming_ior
+
+b). Start one or more instances of ./activity depending on the test configuration that you have designed.
+
+e.g. ./activity -ORBInitRef NameService=file://naming_ior -ORBSvcConf svc.conf.whatever -ORBDebugLevel 1
+
+c) once all the instances exit, the test will generate data files: <job_name>.dat
+
+use gen_graph to generate a .png file to view the results in a graphical viewer.
+
+