wiki:WRF4G2.0/AdvancedConfiguration

Advanced Configuration

Optional environment variables

WRF4G uses the following environmental variables:

  • WRF4G_DIR: Directory for local configuration. If it is undefined, $WRF4G_DIR will be ~/.wrf4g.
  • EDITOR: Select the editor to configure configuration files. vi editor is used by default.

Database configuration access

Edit by typing wrf4g conf database.

URL = sqlite:///path/to/<dbname>

Default configuration :

[DEFAULT]
URL = sqlite:///$HOME/.wrf4g/etc/wrf4g.db

Logging configuration

Edit by typing wrf4g conf logger.

Configuration file for WRF4G logging. For more information about logging configuration directives, you should check out python logging configuration. Additionally, %(WRF4G_DIR)s variable indicates where WRF4G configuration resides.

[loggers]
keys=root,drm4gIm,drm4gEm,drm4gTm,drm4gConfigure,drm4gManager,drm4gCommunicator

[handlers]
keys=handDrm4gIm,handDrm4gEm,handDrm4gTm,handConfigure,handManager,handCommunicator

[formatters]
keys=form01

[logger_root]
handlers=

[logger_drm4gIm]
handlers=handDrm4gIm
level=INFO
qualname=drm4g.core.im_mad

[logger_drm4gEm]
handlers=handDrm4gEm
level=INFO
qualname=drm4g.core.em_mad

[logger_drm4gTm]
handlers=handDrm4gTm
level=INFO
qualname=drm4g.core.tm_mad

[logger_drm4gConfigure]
handlers=handConfigure
level=INFO
qualname=drm4g.core.configure

[logger_drm4gManager]
handlers=handManager
level=INFO
qualname=drm4g.managers

[logger_drm4gCommunicator]
handlers=handCommunicator
level=INFO
qualname=drm4g.communicators

[handler_handDrm4gIm]
class=handlers.RotatingFileHandler
level=INFO
formatter=form01
args=('%(WRF4G_DIR)s/var/log/drm4g_im.log','w',5000000,4)

[handler_handDrm4gEm]
class=handlers.RotatingFileHandler
level=INFO
formatter=form01
args=('%(WRF4G_DIR)s/var/log/drm4g_em.log','w',5000000,4)

[handler_handDrm4gTm]
class=handlers.RotatingFileHandler
level=INFO
formatter=form01
args=('%(WRF4G_DIR)s/var/log/drm4g_tm.log','w',5000000,4)

[handler_handConfigure]
class=handlers.RotatingFileHandler
level=INFO
formatter=form01
args=('%(WRF4G_DIR)s/var/log/drm4g_configure.log','w',5000000,4)

[handler_handManager]
class=handlers.RotatingFileHandler
level=INFO
formatter=form01
args=('%(WRF4G_DIR)s/var/log/drm4g_manager.log','w',5000000,4)

[handler_handCommunicator]
class=handlers.RotatingFileHandler
level=INFO
formatter=form01
args=('%(WRF4G_DIR)s/var/log/drm4g_communicator.log','w',5000000,4)

[formatter_form01]
format=%(asctime)s %(levelname)-9s %(name)-8s %(message)s

Daemon configuration

Edit by typing wrf4g conf daemon.

General configuration:

  • GWD_PORT: Daemon port.( Default value is 6725 )
  • MAX_NUMBER_OF_CLIENTS: Number of connections. (Default value is 50 )

Size of pools:

  • NUMBER_OF_ARRAYS: The number of array-jobs that will be handled by the scheduler. (Default value is 200000)
  • NUMBER_OF_JOBS: The number of jobs that will be handled by the scheduler. (Default value is 200000)
  • NUMBER_OF_HOSTS: The number of hosts that will be handled by the scheduler. (Default value is 1000)
  • NUMBER_OF_USERS: The number of different users. (Default value is 30 )

Intervals:

  • SCHEDULING_INTERVAL: Period between two scheduling actions. (Default is 16 seconds)
  • DISCOVERY_INTERVAL: How often the information manager searches for new hosts. (Default is 15 seconds)
  • MONITORING_INTERVAL: How often the information manager updates the information of each resource. (Default is 20 seconds)
  • POLL_INTERVAL: How often the underlying grid middleware is query about job state. (Default is 1000 seconds)

Scheduler configuration

Edit by typing wrf4g conf sched.

General configuration:

  • DISPATCH_CHUNK: The maximum number of jobs that will be dispatched each scheduling action. Default value is 100, 0 dispatch as many jobs as possible.
  • MAX_RUNNING_USER: The maximum number of simultaneous running jobs per user. Default value is 0, 0 to dispatch as many jobs as possible.

Job priority configuration. Pending jobs are prioritize according four policies:

  • Fixed Priority (FP) Policy. Assign a fixed priority to each job (FP range [0,19]):
    • FP_WEIGHT: Weight for the policy. Default is 1 (real numbers allowed).
    • FP_USER[<username>]: Priority for jobs owned by <username>. Use the special username DEFAULT to set default priorities.
    • FP_GROUP[<groupname>]: Priority for jobs owned by users in group <groupname>.
  • Share (SH) Policy. Allows to establish a dispatch ratio among users. It tracks the jobs submitted by each user so it targets the defined ratio:
    • SH_WEIGHT: Weight for the policy. Default is 1 (real numbers allowed).
    • SH_USER[<username>]: Share for jobs owned by <username>. Use the special username DEFAULT to set default shares.
    • SH_WINDOW_DEPTH: Number of intervals (windows) to "remember" each user dispatching history. The submissions of each window are exponentially "forgotten". Default is 5, and the maximum value is 10.
    • SH_WINDOW_SIZE: The size of each interval in days. Default is 1, real numbers allowed.
  • Waiting-time (WT) Policy. The priority of a job is increased linearly with the waiting time to prevent job starvation:
    • WT_WEIGHT: Weight for the policy. Default is 1 (real numbers allowed)
  • Deadline (DL) Policy. The priority of a job is increased exponentially as its deadline approaches:
    • DL_WEIGHT: Weight for the policy. Default is 1 (real numbers allowed)
    • DL_HALF: Number of remaining days when the job should get half of the maximum priority. Default is 1 (real numbers allowed).
Last modified 6 years ago Last modified on Jun 16, 2016 10:29:57 AM