We use accounts for that purpose: http://slurm.schedmd.com/accounting.html
Scroll down to the section on "database configuration" and read up on "sacctmgr" and associations. Then users would submit with "sbatch -A foo ..." to have their work charged to the account "foo". You'd need to set up the associations between users and accounts. Regrettably, I don't know too much about that half (only getting started with doing that inside Slurm), but I believe that's the approach you'd need to take. Hope this helps Michael On Wed, Jan 22, 2014 at 1:40 PM, William B Hurst <[email protected]>wrote: > Greetings, > > I could not find an answer to this question in any of the documentation > resources, nor from any that you have listed, so I just thought I would > ask. > > We are running numerous large clusters, so this is an important > question. While each user belongs to a group, they may be submitting > jobs on multiple projects. We would like to be able to track resource > consumption by project name. > > Is there a way for me to add a "project" parameter requirement for job > submissions to slurm? > > If so, could you describe how to implement it? > > > Best Regards, > Brad Hurst > > ps: I have included one of the system configurations below > > Configuration data as of 2014-01-22T14:41:34 > AccountingStorageBackupHost = (null) > AccountingStorageEnforce = associations,limits,qos > AccountingStorageHost = head.tusker.hcc.unl.edu > AccountingStorageLoc = N/A > AccountingStoragePort = 6819 > AccountingStorageType = accounting_storage/slurmdbd > AccountingStorageUser = N/A > AccountingStoreJobComment = YES > AcctGatherEnergyType = acct_gather_energy/none > AcctGatherFilesystemType = acct_gather_filesystem/none > AcctGatherInfinibandType = acct_gather_infiniband/none > AcctGatherNodeFreq = 0 sec > AcctGatherProfileType = acct_gather_profile/none > AuthType = auth/munge > BackupAddr = (null) > BackupController = (null) > BatchStartTimeout = 10 sec > BOOT_TIME = 2014-01-14T11:02:03 > CacheGroups = 0 > CheckpointType = checkpoint/none > ClusterName = tusker > CompleteWait = 0 sec > ControlAddr = head > ControlMachine = head > CryptoType = crypto/munge > DebugFlags = (null) > DefMemPerCPU = 1024 > DisableRootJobs = NO > DynAllocPort = 0 > EnforcePartLimits = YES > Epilog = /bin/true > EpilogMsgTime = 2000 usec > EpilogSlurmctld = (null) > ExtSensorsType = ext_sensors/none > ExtSensorsFreq = 0 sec > FastSchedule = 1 > FirstJobId = 1 > GetEnvTimeout = 2 sec > GresTypes = gpu > GroupUpdateForce = 0 > GroupUpdateTime = 600 sec > > -- Hey! Somebody punched the foley guy! - Crow, MST3K ep. 508
