blob: fe81a5ccfd9405f607fdae5359a92ce4042c77f1 [file] [log] [blame]
<!--#include virtual="header.txt"-->
<h1>Workload Characterization Key (WCKey) Management</h1>
<p>A WCKey is an orthogonal way to do accounting against possibly
unrelated accounts. This can be useful where users from different
accounts are all working on the same project.
</p>
<h2 id="conf">slurm(dbd).conf settings
<a class="slurm_link" href="#conf"></a>
</h2>
<p>Including "WCKey" in your <b>AccountingStorageEnforce</b> option in
your slurm.conf file will enforce WCKeys per job. This means only
jobs with valid WCKeys (WCKeys previously added through sacctmgr)
will be allowed to run.
<p>
<p>If you wish to track the value of a jobs WCKey you must set
the <b>TrackWCKey</b> option in both the slurm.conf as well as the
slurmdbd.conf files. This will assure the WCKey is tracked on each
job. If you set "WCKey" in your <b>AccountingStorageEnforce</b>
line <b>TrackWCKey</b> is set automatically, it still needs to be
added to your slurmdbd.conf file though.
</p>
<h2 id="submit">sbatch/salloc/srun<a class="slurm_link" href="#submit"></a></h2>
<p> Each submitting tool has the --wckey= option that can set the WCKey for a
job. [SBATCH|SALLOC|SLURM]_WCKEY can also be set in the environment
to set the WCKey. If no WCKey is given the WCKey for the job will be
set to the users default WCKey for the cluster, which can be set up
with sacctmgr. Also if no WCKey is specified the accounting record
is appended with a '*' to signify the WCKey was not specified. This
is useful for a manager to determine if a user is specifying their
WCKey or not.
</p>
<h2 id="sacct">sacct<a class="slurm_link" href="#sacct"></a></h2>
<p>Sacct can be used to view the WCKey by adding "wckey" to the
--format option. You can also single out jobs by using the
--wckeys= option which would only send information about jobs that
ran with specific WCKeys.
</p>
<h2 id="sacctmgr">sacctmgr<a class="slurm_link" href="#sacctmgr"></a></h2>
<p>Sacctmgr is used to manage WCKeys. You can add and remove WCKeys
from users or list them.
</p>
<p>You add a user to a WCKey much like you do an account, only the
WCKey doesn't need to be created before hand. i.e.
</p>
<pre>
sacctmgr add user da wckey=secret_project
</pre>
<p> You can remove them from a WCKey in the same fashion.
</p>
<pre>
sacctmgr del user da wckey=secret_project
</pre>
<p> To alter the users default WCKey you can run a line like
</p>
<pre>
sacctmgr mod user da cluster=snowflake set defaultwckey=secret_project
</pre>
<p>
Which will change the default WCKey for user "da" on cluster
"snowflake" to be "secret_project". If you want this for all clusters
just remove the cluster= option.
</p>
<h2 id="sreport">sreport<a class="slurm_link" href="#sreport"></a></h2>
<p>Information about reports available for WCKeys can be
found on the <a href="sreport.html">sreport manpage</a>.
</p>
<p style="text-align:center;">Last modified 14 November 2014</p>
<!--#include virtual="footer.txt"-->