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.

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.

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.

Gres
    Generic resources associated with burst buffers. This is a completely separate name space from the Gres defined in the slurm.conf file. The Gres value consistes of a comma separated list of generic resources, each of which includes a name separated by a colon and a numeric value. The numeric value can include a suffic of "k", "m" or "g", which multiplies the numeric value by 1,024, 1,048,576, or 1,073,741,824 respectively. The numeric value is a 32-bit value. See the example below.

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). Gigabytes is assumed if no suffix is supplied. By default there is no job allocation size limit.

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.

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. he PrioBoostAlloc value will override the PrioBoostUse value.

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.

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.

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.

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.

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.

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.

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). Gigabytes is assumed if no suffix is supplied. By default there is no job allocation size limit.

EXAMPLE

##################################################################
# Slurm's burst buffer configuration file (burst_buffer.conf)
##################################################################
AllowUsers=alan:brenda
PrivateData=true
Gres=nodes:10,other:20
#
JobSizeLimit=20GB # Applies to each job
UserSizeLimit=50GB # Applies to ALL users
#
PrioBoostUse=100
PrioBoostAlloc=200
#
StageInTimeout=30
StageOutTimeout=30
#
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 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)