burst_buffer.conf(5)

NAME
burst_buffer.conf - Slurm configuration file for burst buffer management.

DESCRIPTION
burst_buffer.conf is an ASCII file which describes the configuration of burst buffer resource management. This file is only required on the head node(s), where the slurmctld daemon executes. The file location can be modified at system build time using the DEFAULT_SLURM_CONF parameter or at execution time by setting the SLURM_CONF environment variable. The file will always be located in the same directory as the slurm.conf file. In order to support multiple configuration files for mutliple burst buffer plugins, the configuration file may alternately be given a name containing the plugin name. For example, if "burst_buffer.conf" is not found, the burst_buffer/generic configuration could be read from a file named "burst_buffer_generic.conf".

Parameter names are case insensitive. Any text following a "#" in the configuration file is treated as a comment through the end of that line. Changes to the configuration file take effect upon restart of Slurm daemons, daemon receipt of the SIGHUP signal, or execution of the command "scontrol reconfigure".

The configuration parameters available include:

AllowUsers
    Colon delimited list of user names and/or IDs permitted to use burst buffers. The options AllowUsers and DenyUsers can not both be specified. By default all users are permitted to use burst buffers.

CreateBuffer
    Fully qualified path name of a program which will create both persistent and per-job burst buffers. This option is not used by the burst_buffer/cray plugin.

DefaultPool
    Name of the pool used by default for resource allocations. The default value is the first pool reported by the burst buffer infrastructure. This option is only used by the burst_buffer/cray plugin.

DenyUsers
    Colon delimited list of user names and/or IDs prevented from using burst buffers. The options AllowUsers and DenyUsers can not both be specified. By default all users are permitted to use burst buffers.

DestroyBuffer
    Fully qualified path name of a program which will destroy both persistent and per-job burst buffers. This option is not used by the burst_buffer/cray plugin.

GetSysState
    Fully qualified path name of a program which will return the current burst buffer state. See the src/plugins/burst_buffer/generic/bb_get_state.example in the Slurm distribution for an example. For the Cray plugin, this should be the path of the dw_wlm_cli command and it's default value is /opt/cray/dw_wlm/default/bin/dw_wlm_cli.

Granularity
    Granularity of job space allocations in units of bytes. The numeric value may have a suffix of "m" (megabytes), "g" (gigabytes), "t" (terabytes), "p" (petabytes), or "n" (nodes). Bytes is assumed if no suffix is supplied. This option is not used by the burst_buffer/cray plugin.

JobSizeLimit
    Maximum burst buffer allocation size for any single job. The numeric value may have a suffix of "m" (megabytes), "g" (gigabytes), "t" (terabytes), "p" (petabytes), or "n" (nodes). Bytes is assumed if no suffix is supplied. By default there is no job allocation size limit.

PrioBoostAlloc
    Any job using burst buffers will have it's priority increased by this amount after its file stage in has completed. This option will adjust a job's nice value, so user specified nice values for a job will be replaced by this value. The PrioBoostAlloc value will override the PrioBoostUse value. The PriorityBoost options can also be replaced by a including burst buffer factor in the multifactor priority algorithm.

PrioBoostUse
    Any job using burst buffers will have it's priority increased by this amount. This option will adjust a job's nice value, so user specified nice values for a job will be replaced by this value. The PrioBoostAlloc value will override the PrioBoostUse value. The PriorityBoost options can also be replaced by a including burst buffer factor in the multifactor priority algorithm.

PrivateData
    If set to "true" then users will only be able to view burst buffers they can use. Slurm administrators will still be able to view all burst buffers. By default, users can view all burst buffers.

StageInTimeout
    If the stage in of files for a job takes more than this number of seconds, the burst buffer will be released and the job will be placed in a held state. A Slurm administrator will be required to release the job. By default there is no timeout of the stage in process.

StageOutTimeout
    If the stage out of files for a job takes more than this number of seconds, the burst buffer will be released and the job will be purged. By default there is no timeout of the stage out process.

StartStageIn
    Fully qualified path name of a program which will stage files in for a job. See the src/plugins/burst_buffer/generic/bb_start_stage_in.example in the Slurm distribution for an example. This option is not used by the burst_buffer/cray plugin.

StartStageOut
    Fully qualified path name of a program which will stage files out for a job. See the src/plugins/burst_buffer/generic/bb_start_stage_out.example in the Slurm distribution for an example. This option is not used by the burst_buffer/cray plugin.

StopStageIn
    Fully qualified path name of a program which will stop staging files in for a job. See the src/plugins/burst_buffer/generic/bb_stop_stage_out.example in the Slurm distribution for an example. This option is not used by the burst_buffer/cray plugin.

StopStageOut
    Fully qualified path name of a program which will stop staging files in for a job. See the src/plugins/burst_buffer/generic/bb_stop_stage_out.example in the Slurm distribution for an example. This option is not used by the burst_buffer/cray plugin.

UserSizeLimit
    Maximum burst buffer allocation size for any single user. The size is calculated by adding the burst buffer allocations for all jobs plus any persistent buffers belonging to the user. The numeric value may have a suffix of "m" (megabytes), "g" (gigabytes), "t" (terabytes), "p" (petabytes), or "n" (nodes). Bytes is assumed if no suffix is supplied. Note that this burst buffer limit is global (applies to every user), but can be overridden by using TRES limits in the Slurm database. By default there is no job allocation size limit.

EXAMPLE

##################################################################
# Slurm's burst buffer configuration file (burst_buffer.conf)
##################################################################
AllowUsers=alan,brenda
PrivateData=true
#
Granularity=1G
JobSizeLimit=200G # Applies to each job
UserSizeLimit=500G # Applies to each user
#
PrioBoostUse=100
PrioBoostAlloc=200
#
StageInTimeout=30 # Seconds
StageOutTimeout=30 # Seconds
#
CreateBuffer=/usr/local/slurm/15.08/sbin/CB
DestroyBuffer=/usr/local/slurm/15.08/sbin/DB
GetSysState=/usr/local/slurm/15.08/sbin/GSS
StartStageIn=/usr/local/slurm/15.08/sbin/SSI
StartStageOut=/usr/local/slurm/15.08/sbin/SSO
StopStageIn=/usr/local/slurm/15.08/sbin/PSI
StopStageOut=/usr/local/slurm/15.08/sbin/PSO

COPYING
Copyright (C) 2014-2015 SchedMD LLC.

This file is part of Slurm, a resource management program. For details, see <http://slurm.schedmd.com/>.

Slurm 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 2 of the License, or (at your option) any later version.

Slurm 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.

SEE ALSO

slurm.conf(5)