This Slurm fork contains the code for the LEVEL_BASED prioritization mechanism. It was committed to Slurm's master branch for inclusion in 14.11 but was superseded by our new Fair Tree algorithm. The results are the same in both algorithms but Fair Tree is a much cleaner approach.
Problems with Existing Slurm Prioritization Methods
Extra information about LEVEL_BASED
Current version: 14.03.9 + LEVEL_BASED code.
Original version: The level_based branch was originally branched from slurm-14.03 when 14.03.4-2 was tagged and has since had updates merged in.
Future changes from slurm-14.03 will likely be merged when minor versions are released by SchedMD. Contact us if you want to be informed of future releases or check back a few days after a new Slurm minor release.
git clone -b level_based http://github.com/BYUHPC/slurm
or
git clone http://github.com/BYUHPC/slurm
git checkout level_based
Nothing special is required to compile this version. See http://slurm.schedmd.com/quickstart_admin.html
Follow the standard Slurm upgrade procedure, especially the ordering in the numbered list in that section.
BYU upgraded live from standard Slurm 14.03 to this fork and did not have any problems. However, there is a potential for issues since some data structures used in RPC calls now have additional fields. This is unlikely to be a problem if you follow the standard upgrade procedure but you should try it out on a test system if possible.
LEVEL_BASED was co-authored by Ryan Cox and Levi Morrison at Brigham Young University's Fulton Supercomputing Lab.
Contact Ryan or Levi with any questions and comments. We would love to hear your feedback, so let us know if you try it out.