A walkthrough of the basic features of sbank.

Installing slurm bank

To install slurm-bank

Requirements

A working SLURM installation with perl and bash, we assume that slurmdbd is setup and functioning correctly.

The first thing to do is to setup slurm and slurmdbd. This documentation assumes the user knows basic slurm administration.

Slurmdbd must be configured and working, account enforcing is enabled in slurm.conf

AccountingStorageEnforce=limits

Note that the PriorityDecayHalfLife and PriorityUsageResetPeriod can be used to allow usage half-life decay and reset. This is because the usage information is pulled directly from the Slurmdbd via sreport; whereas the two parameters above only affect the way usage is stored in local *_usage files.

Note also that when the scheduler looks to see if an association has sufficient balance to start a new job, it compares the "GrpCPUMins" field against the local *_usage files to check if enough time is available (not the Slurmdbd), this can result in negative balances being reported by "sbank balance statement".

What is also required is a pretty good estimate of the total available cpu hours that you have on your cluster that you can allocate to accounts.

sbank-cluster can provide a rough estimate of what's available.

$ sbank cluster cpuhrs

Users will need to learn how to use accounts (nothing new here).

sbatch, sinfo, sacctmgr and sreport are required and must be working.

One implementation detail is that 'sreport' requires a start date parameter (otherwise it defaults to the previous day). The script defaults to using a start date of 3 years in the past. This can be changed with the '-s yyyy-mm-dd' parameter.

If you do not already have a cluster registered and configured in slurm,

$ sbank cluster create mycluster

Installing on a RHEL5x or clone

If you have a release tarball, and have ikiwiki installed

$ rpmbuild -ta slurm-bank-1.0.tar.gz

or else if you do not have ikiwiki you can do

$ rpmbuild -ta --without docs slurm-bank-1.0.tar.gz

Once the RPM's are created you can simply install the RPM's

Installing on a generic Linux system

$ tar zxvf slurm-bank-1.0.tar.gz
$ cd slurm-bank-1.0
$ make install

To install the html documentation,

$ make install-docs

The html documentation requires ikiwiki to be installed.

Documentation / inline help / man pages

Once the package is installed users and admins can do following to get inline help

$ man sbank

or

$ sbank help

Tests

There are some simple tests which can be run,

make test

the tests need more work and documentation such that if the scripts are re-implemented in C/Perl or whatever language we can verify that the behaviour is correct.