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