xenial (1) dietAgent.1.gz

Provided by: diet-agent_2.8.0-1ubuntu1_amd64 bug

NAME

       dietAgent - DIET grid middleware agent

NAME

       dietAgent - Main binary of the DIET Architecture for running DIET Agents (master and local agents)

SYNOPSYS

          dietAgent [config file] ...

DESCRIPTION

       The  DietAgent  is the main binary of the DIET distribution.  It is used for both master and local agents
       of a DIET hierarchy.

DIET PLATFORM

       A DIET platform is buildt upon Server Daemons (SeD). Requests are  distributed  amongst  a  hierarchy  of
       agents.  The  scheduler  can  rely  on resources availability informations collected from three different
       tools: NWS sensors which are placed  on  every  node  of  the  hierarchy,  from  the  application-centric
       performance  prediction  tool  FAST  which relies on NWS informations or from CoRI Easy a module based on
       simple system calls and basic performance tests.

       The different components of a DIET architecture are the following:

       Client A client is an application which uses DIET to solve computational problems.  Clients could be  web
              pages, PSE scripts like Matlab or Scilab or native program.

       Master Agent (MA)
              A MA manages computation requests from clients. It chooses the best server available to handle the
              request based on performance informations collected from  servers.  Then,  the  reference  of  the
              chosen server is returned to the client.

       Local Agent (LA)
              A  LA  transmits requests between MAs and servers. LAs store a list of services available in their
              subtree. For each service, LAs store a list of children (either agents or servers)  providing  the
              former. Depending on the underlying network topology, a hierarchy of LAs may exists between the MA
              and the appropriate servers, one of LAs tasks is to  do  a  partial  scheduling  on  its  subtree,
              effectively reducing its MA workload.

       Server Daemon (SeD)
              A SeD encapsulate a computational resource. FOr instance, it can be locate on the entry point of a
              parallel computer. SeD store a list of locally available data, available computational solvers and
              performance-related   information  (available  memory  amount  or  number  or  resources).  During
              registration, SeD declare to its parent agent (LA or MA) every computational problem it can solve.
              SeD  can  send  performance  and  hardware  informations  by  using the CoRI module or performance
              predictions for some kinds of problems by using the FAST module.

       Master Agent DAG (MA DAG)
              The Master Agent DAG (MADAG) provides DAG workflow scheduling. This  agent  serves  as  the  entry
              point  to  the Diet Hierarchy for a client that wants to submit a workflow. The language supported
              by the MADAG is based on XML.

CORBA USAGE FOR DIET

       DIET relies on the CORBA naming service for service discovery  allowing  every  entity  to  interconnect.
       Reference to the omniORB naming service is written down in a CORBA configuration file whose path is given
       to omniORB through the environment variable OMNIORB_CONFIG.

       The  lines  concerning  the name server in the omniORB configuration file are built as follows:

          InitRef  =  NameService=corbaname::<hostname>:<port>

       The  name  server port is the port given as an argument to the -start option of omniNames. You also  need
       to  update  your  LD  LIBRARY  PATH  to   point to <install dir>/lib. So your LD LIBRARY PATH environment
       variable should now be :
          LD LIBRARY PATH=<omniORB home>/lib:<install dir>/lib.

          NB1:  In order to avoid name collision, every agent must be  assigned  a different name  in  the  name
          server;  since  they  don’t  have any children, SeDs do not need names assigned to them and they don’t
          register with the name server.

          NB2:  Each  Diet  hierarchy can use a different name server, or multiple  hierarchies  can  share  one
          name server (assuming all agents are assigned unique names).  In  a multi-MA environment, in order for
          multiple hierarchies to be able to cooperate it is necessary that they all share the same name server.

OPTIONS

       config_file
              Configuration file used by the agent to launch the DIET entity

DIET CONFIGURATION FILE

       Every DIET entity requires a configuration file.

       Please note that:

       • comments start with ’#’ and finish at the end of the current line,

       • meaningful lines have the format: keyword = value, following the  format  of  configuration  files  for
         omniORB 4,

       • for options that accept 0 or 1, 0 means no and 1 means yes, and

       • keywords are case sensitive.

       Depending  on  the type of DIET element, different kinds of  keyword  could be  found.  Here is a list of
       the possible keywords for a DIET Agent configuration file:

       traceLevel
                 Integer value corresponding to the traceLevel for the DIET agent:

                 • 0: DIET do not print anything.

                 • 1: DIET prints only warnings and errors on the standard error output.

                 • 2: [default] DIET prints information on the main steps of a call.

                 • 5: DIET prints information on all internal steps too.

                 • 10: DIET prints all the communication structures too.

                 • >10: (traceLevel - 10) is given to the ORB to print CORBA messages too.

              0 Diet do not print anything, – 1 Diet prints only warnings  and  errors  on  the  standard  error
              output,  –  2  [default]  Diet  prints  information  on  the main steps of a call, – 5 Diet prints
              information on all internal steps too, – 10 Diet prints all the communication structures too, –  >
              10 (traceLevel - 10) is given to the ORB to print CORBA messages too.

       agentType
              three possible values

              • DIET MASTER AGENT (or MA) for a Master Agent

              • DIET LOCAL AGENT (or LA) for a Local Agent

              • DIET_MA_DAG for an MA DAG Agent

       dietPort
              Integer setting the listening port of the agent. If left empty, the ORB will get an open port from
              the system (if default 2809 is busy).

       dietHostName
              String setting the listening interface of the agent. If left empty, the ORB will  use  the  system
              hostname (the first one if several are available).

       name   String  identifying  the element. Clients and children nodes (LAs and SeDs) must point to the same
              CORBA Naming Service hosting the MA.

       parentName
              String identifying the parent agent.

              [Remark: Only DIET Local Agents could use the parentName keyword]

       fastUse
              Boolean enabling/disabling FAST module.  If set to 0, all LDAP and NWS parameters are ignored, and
              all requests to FAST are disabled (when Diet is compiled with FAST).  This is useful while testing
              a DIET platform without having to deploy an LDAP base nor an NWS platform.

              [Remark: DIET must be compiled with FAST]

       ldapUse
              Boolean enabling/disabling LDAP support.

              [Remark: DIET must be compiled with FAST]

       ldapBase
              String representing the LDAP base storing FAST-known services address in the form host:port .

              [Remark: DIET must be compiled with FAST]

       ldapMask
              String specifying the mask registered in the LDAP base.

              [Remark: DIET must be compiled with FAST]

       nwsUse Boolean enabling/disabling NWS support.

              [Remark: DIET must be compiled with FAST]

       nwsNameserver
              String representing the NWS naming service address in the form host:port .

              [Remark: DIET must be compiled with FAST]

       nwsForecaster
              String representing the NWS forecast module used by FAST.

              [Remark: DIET must be compiled with FAST]

       useLogService
              Boolean enabling/disabling the LogService for monitoring purposes.

       lsOutbuffersize
              Integer setting outgoing messages buffer size.

       lsFlushinterval
              Integer setting the flush interval for the outgoing messages buffer.

       neighbours
              String listing MA that must be conntacted to build a federation. It is formatted as a  white-space
              separated list of addresses in the form host:port.

              [Remark: DIET must be compiled with the Multi-MA option]

       minimumNeighbours
              Integer  setting  the minimum connected neighbours. If the agent has less connected neighbours, it
              will try establishing new connections.

              [Remark: DIET must be compiled with the Multi-MA option]

       maximumNeighbours
              Integer  setting  the  maximum  connected  neighbours.  Further,  the  agent  will  refuse   newer
              connections.

              [Remark: DIET must be compiled with the Multi-MA option]

       updateLinkPeriod
              Integer  setting  the  period (in seconds) at which the agent will check its neighbours status and
              will try establishing new connections if their numbers is less than minimumNeighbours.

              [Remark: DIET must be compiled with the Multi-MA option]

       bindServicePort
              Integer defining the port used by the MA to share its IOR.

              [Remark: Option used only by MAs]

       useConcJobLimit
              Boolean enabling/disabling the SeD restriction about concurrent solves.  This should  be  used  in
              conjunction with maxConcJobs.

              [Remark: Option used only by SeDs]

       maxConcJobs
              Integer  setting  the  maximum number of jobs running at once.  This should be used in conjunction
              with maxConcJobs.

              [Remark: Option used only by SeDs]

       locationID
              String used for alternative transfer cost prediction in Dagda.

              [Remark: Option used only by SeDs]

       MADAGNAME
              String corresponding to the name of the MADAG agent.

              [Remark: DIET must be compiled with the workflow option]

              [Remark: Option used only by clients]

       schedulerModule
              Path to the sheduler library module containing the scheduler implementation.

              [Remark:  DIET  must  be compiled with the User Scheduling option]

              [Remark: Option used only by agents]

       moduleConfigFile
              String corresponding to an optional configuration file for the module.

              [Remark: DIET must be compiled with the User Scheduling option]

              [Remark: Option used only by agents]

       batchName
              String corresponding to the name of the queue where the job will be submitted.

              [Remark: DIET must be compiled with the Batch option]

              [Remark: Option used only by SeDs]

       pathToNFS
              Path to the NFS directory where you have read/write permissions.

              [Remark: DIET must be compiled with the Batch option]

              [Remark: Option used only by SeDs]

       pathToTmp
              Path to the temporary directory where you have read/write permissions.

              [Remark: DIET must be compiled with the Batch option]

              [Remark: Option used only by SeDs]

       internOARbatchQueueName
              String only useful when using CORI batch features with OAR 1.6

              [Remark: DIET must be compiled with the Batch option]

              [Remark: Option used only by SeDs]

       initRequestID
              Integer setting the MA Request ID starting value.

              [Remark: Option used only by MAs]

       ackFile
              Path to a file that will be created when the element is ready to execute.

              [Remark: DIET must be compiled with the Acknowledge File option]

              [Remark: Option used only by Agents and SeDs]

       maxMsgSize
              Integer setting the maximum size of CORBA messages sent by Dagda.  By default, it's  the  same  as
              the omniORB giopMaxMsgSize size.

       maxDiskSpace
              Integer  setting  maximum  disk  space available to Dagda for storingt data.  When set to 0, Dagda
              will ignore any disk quota. By default, it's the  same  value  as  available  disk  space  on  the
              partition set by storageDirectory.

       maxMemSpace
              Integer setting the maximum memory available to Dagda. When set to 0, Dagda will ignore any memory
              usage limitation. By default, no limitations.

       cacheAlgorithm
              String defining the cache replacement algorithm used when Dagda needs more memory  for  storing  a
              piece  of  data. Possible values are: LRU, LFU, FIFO.  By default, no cache replacement algorithm,
              Dagda never overwrite data.

       shareFiles
              Boolean enabling/disabling Dagda file sharing with  its  children.   Requires  that  the  path  is
              accessible  by the children (ie: NFS partition shared by parent and children). By default, no file
              sharing.

       dataBackupFile
              Path to the  backup  file  used  by  Dagda  on  user  request  (checkpointing).   By  default,  no
              checkpointing is disabled.

              [Remark: Option used by Agents and ServerDaemon]

       restoreOnStart
              Boolean  defining  if Dagda have to load the file set by dataBackupFile at startup and restore all
              data recorded during the last checkpointing event.  Disabled by default.

              [Remark: Option used by agents and SeDs]

       storageDirectory
              String defining the directory where Dagda will store data files.  By default /tmp is used.

USE SPECIFIC SCHEDULING

       Specific options setting scheduler policy used by the client whenever it submits a request:

       • BURST REQUEST: round robin on the available SeD

       • BURST  LIMIT:  only allow a certain number of request per SeD in parallel the limit  can  be  set  with
         "void setAllowedReqPerSeD(unsigned ix)"

         [Remark:  DIET  must  be compiled with the Custom Client Scheduling (CCS) option]

         [Remark: Option used by clients]

       clientMaxNbSeD:
              Integer value representing the maximum number of SeD the client should receive.

              [Remark: Option used by clients]

ENVIRONMENT

       DIET  needs  some  variables  to  be  defined in order for the agent to be able to find all the mandatory
       library and the CORBA naming service.

       LD_LIBRARY_PATH
              This environment variable must contain the path to the omniORB libraries

       OMNIORB CONFIG
              Path to the CORBA configuration file where the reference to the omniORB naming service is written.

EXAMPLES

       Here are examples of configuration file for  the  Master  Agent  or  Local Agents.

       • Configuration file for the Master Agent:

          # file MA example.cfg, configuration file for an MA
          agentType = DIET_MASTER_AGENT
          name = MA
          #traceLevel = 2 # default
          #dietPort = <port> # not needed
          #dietHostname = <hostname|IP>
          useLogService = 0 # default
          lsOutbuffersize = 0 # default
          lsFlushinterval = 10000 # default

       • Configuration file for the Local Agent

          # file LA example.cfg, configuration file for an LA
          agentType = DIET_LOCAL_AGENT
          name = LA
          useLogService = 0 # default
          lsOutbuffersize = 0 # default
          lsFlushinterval = 10000 # default

REPORTING BUGS

       If  you  find  that  software  interesting,  or  if  you  find  a  bug,  please  send  us  a   mail:   <‐
       diet-dev@ens-lyon.fr>  with  the  description  of  the  problem,  the  version  of the program and/or any
       information that could help us fixing it.

   Copyright
       (C)2010, GRAAL, INRIA Rhone-Alpes, 46 allee d'Italie, 69364 Lyon cedex 07, France all right  reserved  <‐
       diet-dev@ens-lyon.fr>

   License
       This  program  is  free  software:  you  can  redistribute it and/or modify it under the terms of the GNU
       General Public License as published by the Free Software Foundation, either version 3 of the License,  or
       (at  your  option) any later version. This program is distributed in the hope that it will be useful, but
       WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS  FOR  A  PARTICULAR
       PURPOSE.  See the GNU General Public License for more details. You should have received a copy of the GNU
       General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

AUTHORS

          GRAAL
          INRIA Rhone-Alpes
          46 allee d'Italie 69364 Lyon cedex 07, FRANCE
          Email: <diet-dev@ens-lyon.fr>
          www: http://graal.ens-lyon.fr/DIET

          SysFera
          13 avenue Albert Einstein
          69100 Villeurbanne, FRANCE
          Email: <contact@sysfera.com>
          www: http://www.sysfera.com

SEE ALSO

       omniNames(1), dietForwarder(1), maDagAgent(1)

AUTHOR

       david.loureiro@sysfera.com

       License: GPLv3+

       DIET developers