Miguel,

It looks like you have already found the slurm_load_jobs() function in 
api/job_info.c that squeue uses.

Don

From: Miguel Méndez [mailto:[email protected]]
Sent: Wednesday, July 25, 2012 2:06 AM
To: slurm-dev
Subject: [slurm-dev] Re: slurm-dev Simple multifactor priority manager

I'm completing my own message again. My question is maybe too generic, and here 
I give some info about my attempts:

I'm studying squeue's code to get the info I want. I guess there are other ways 
to do this, but this is the first one that has come to my mind.

Regards,

Miguel
On Wed, Jul 25, 2012 at 10:23 AM, Miguel Méndez 
<[email protected]<mailto:[email protected]>> wrote:
Hi,

Thank you Don. I'm opting for the first feature you mentioned: setting the 
priority of pending jobs in the queue. I understand I can only do this writting 
a simple Priority plugin.

So now I have a different question: what's the simplest way to read nodes in 
use and jobs running by a specific user?


Miguel Méndez

On Mon, Jul 23, 2012 at 5:30 PM, Lipari, Don 
<[email protected]<mailto:[email protected]>> wrote:
Miguel,

There are two separate features which might help meet your requirements below.  
The first setting the priority of pending jobs in the queue.  The second is 
imposing limits on running jobs.  Both require you to enable the 
accounting_storage/slurmdbd plugin.

When you enable and configure the priority/multifactor plugin, jobs will be 
prioritized in the queue based on 5 factors:  fair-share, age, QOS, partition, 
and job size.  If you want to prioritize jobs based on other factors, you will 
need to modify the code.

However, you can use the sacctmgr to define limits on the jobs once they start 
running (or how many can be running at any given time).  Some of these limits 
are in your list below.  For example MaxJobs will limit the number of jobs a 
user can run out of a given account and partition.  The sacctmgr man page has 
all the details.

Don

From: Miguel Méndez [mailto:[email protected]<mailto:[email protected]>]
Sent: Monday, July 23, 2012 6:06 AM
To: slurm-dev
Subject: [slurm-dev] Re: slurm-dev Simple multifactor priority manager

I'm going to complete the information given before. I know I have two more 
options:

 - Installing Maui scheduler.
 - Writting my own Priority Plugin.

My thoughts are that these two options seem too complicated for what I want. If 
I had to choose, I would write my own plugin. I'm reading right know 
src/plugins/priority/basic/priority_basic.c and 
src/plugins/priority/multifactor/priority_multifactor.c.

Would this be a good option? (given I have no idea right know of how to make it 
work).

Cheers,

Miguel

On Mon, Jul 23, 2012 at 12:11 PM, Miguel Méndez 
<[email protected]<mailto:[email protected]>> wrote:
Hi everybody,

I would like to set up a very simple scheduler (or priority manager) that 
considers these elements for each job:

- Age (time the job has been waiting in the queue).
- Number of nodes/processors requested by the job.
- Number of running jobs by the user.
- Number of nodes/processors in use by the user.
- Walltime specified by the job (I would combine this with backfill).

(Apart from that, I will be setting a Maximun Global walltime and enforcing the 
user to set walltime in his submissions).


I've read everything in Slurm's documentation about Multifactor priority, 
fairshare, QOS, etc, but I can't get to a simple solution. I know multifactor 
take into account Age and Job Size, but not the other elements (at least 
directly).  What I would really like is some kind of simple personalized 
multifactor with the abovementioned elements.

I was going through the wrong path because I thought it would do with a job 
submission lua wrapper. I've quickly realized that this wrapper wouldn't 
manipulate priorities in real time.

So, ¿any ideas?

Thanks in advance,

Miguel Méndez
Error! Filename not specified.

Error! Filename not specified.
Error! Filename not specified.



<<inline: image001.jpg>>

Reply via email to