Thanks for the suggestions! The database unfortunately doesn't fit my needs as I'd have to keep it synced to our Active Directory/LDAP environment. The seeming thing about QoS is that they're settable per job and per user, but not per queue/partition. What I'd like to do, is to approximate some of the effects of Fairshare without the supporting infrastructure.
Use case: I have users who feed very large numbers of small jobs into our default high priority user queue which chokes off all other users for extended periods. This class of users have other smaller queues pointing to nodes they 'own' so I can't restrict them systemwide. Currently the solution is to be watchful and merciless in wielding the cluestick, but they launch at odd times to avoid scrutiny and there are political considerations as well. It seems like a modified version of preempt_prio could simply mark the percentage of a user's jobs that occupied more than a given percent of a partition as preemptable. This would allow other users continuing use of a partition even under this sort of tragedy-of-the-commons usage pattern. On Tue, Dec 6, 2011 at 4:23 PM, Moe Jette <[email protected]> wrote: > Hi Jeff, > > Here are a few ideas: > > Define a plugin-specific configuration file and put whatever you want there. > Several plugins have there own plugins that you could copy code from (e.g. > _parse_switches in src/plugins/topology/topology_tree.c). This is a bit more > work, but will be completely flexible. > > Look at the slurm_ctl_conf_t structure defined slurm/slurm.h. You can use > some variables there (z_16, z_32 and/or z_char). You will need to modify the > code in a few places to load the values. > > Use an environment variable. > > Moe > > P.S. If you have a database set up, preempting jobs based upon QOS (Quality > of Service) is very flexible and will almost certainly do what you want > after setting up the database. > > > > Quoting [email protected]: > >> I'm in the middle of creating a new/modified preempt plugin for 2.2.7* >> and am having trouble figuring out how to add and get a simple numeric >> config parameter. The closest things I see are in >> src/api/config_info.c, but they seem to apply only to variables that >> have been mapped from file to the config struct. What I'd like to do, >> ideally, is to have an optional parameter, PreemptUserOver that takes >> an integer value. I'm sure there's a way to do this without requiring >> Slurm changes outside of my custom preempt plugin, but can't puzzle it >> out. >> >> Thanks in advance for any advice, >> Jeff Katcher >> >> *This is actually quite straightforward, thank you. >> > > >
