proc_advocate man page
SYNOPSIS
proc_advocate [-hVo] [-m manager-ior] [-P period] <-t task-ior|-n name>
-- utility [argument ...]
DESCRIPTION
The proc_advocate utility is a wrapper for managing unmodified programs
with the CPU broker. The wrapper will monitor the CPU usage of the
child process(es) and report this data to the Broker. Because the
wrapper is external to the program, it can only react to observed
changes in CPU load, unlike modified programs which can be pro-active
based on inputs to the periodic method. Therefore, the Broker may have
a hard time adjusting to the CPU usage pattern of the wrapped process.
The wrapper requires either the -t option, which specifies an existing
task object to use, or the -n option, which specifies that a task
object should be created. Currently, the created task is adapted using
the MaxDecayTaskAdvocate, which adjusts the reservation to the maximum
value seen in the last few periods. The task is then added to the man-
ager and utility is executed. While utility runs, the proc_advocate
determines the CPU usage of itself and all of its child at intervals
given by the -P option. This data is then be sent to the Broker so it
can adjust the reservation. Management of the utility ends when
proc_advocate receives a SIGINT/SIGTERM or the utility finishes.
Available options:
-h Print out a usage message.
-V Print out a version number.
-o Do not observe the child process or make reports. Most likely
used with an advocate that makes its own observations.
-m manager-ior
The Broker::Manager IOR for this machine. (Default: file://man-
ager.ior)
-t task-ior
The IOR for the Broker::RealTimeTask that has been created for
this process. This is incompatible with the -n option.
-n name
The name to use when creating a Broker::RealTimeTask for this
process. This is incompatible with the -t option.
-P period
The period of the process. The value can be a number with units
(e.g. "60000000us", "60000ms", "60s", or "1m") or without, in
which case it is assumed to be microseconds. The time should
reflect the natural period of the process (e.g. 44.1khz for an
audio player) or, if it is a server, the smallest period used by
a client. (Default: 33 milliseconds)
RESOURCE SET
The resource set used for the proc_advocate and its child processes can
be discovered or created automatically. The proc_advocate will first
check to see if it was already started in a resource set. Otherwise,
it tries to match the task name against an existing resource set.
Finally, if none of the other attempts succeeded, it will create a new
resource set using the task name.
RETURN VALUES
The child's exit value
If utility started and exited normally.
127 If utility could not be found.
1-125 If there were any other problems.
EXAMPLES
To manage sleep(1) using a created task object named "sleep" and with a
period of a second.
[nemo@anemone rbroker] proc_advocate -n sleep -P 1s -- sleep 20
To do the same as above, except with a existing task object referenced
by "./task.ior".
[nemo@anemone rbroker] proc_advocate -t file://task.ior -P 1s --
sleep 20
SEE ALSO
rktimes(1), broker_allup(1), cbhey(1), cpubroker(7)
AUTHOR
The Alchemy project at the University of Utah.
NOTES
The Alchemy project can be found on the web at
http://www.cs.utah.edu/flux/alchemy
CPU Broker 1.1.0 2004/03/08 16:51:54 PROC_ADVOCATE(1)
Man(1) output converted with
man2html