proc_advocate man page
SYNOPSIS
proc_advocate [-hV] [-m manager-ior] [-P period] <-t task-
ior|-n name> -- utility [argument ...]
DESCRIPTION
The proc_advocate utility is a wrapper for managing unmod-
ified programs with the CPU broker. The wrapper will mon-
itor 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. Cur-
rently, the created task is adapted using the MaxDecay-
TaskAdvocate, which adjusts the reservation to the maximum
value seen in the last few periods. The task is then added
to the manager 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.
-m manager-ior
The Broker::Manager IOR for this machine.
(Default: file://manager.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::Real-
TimeTask for this process. This is incompatible
with the -t option.
-P period
The period of the process. The value can be a num-
ber 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 small-
est period used by a client. (Default: 10
milliseconds)
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.0.0 2003/11/23 20:10:38 PROC_ADVOCATE(1)
Man(1) output converted with
man2html