hi,
Thanks Reuti and all for being so responsive on this list. 

I have (probably) a newbie question...

I manage a small compute cluster for a university. I configured 
a simple user-based functional share policy, since we don't have 
projects, nor interest in usage patterns.

This works great for scheduling.

I also use resource quotas (users, department, and slots) to 
limit running jobs for a single user/department. For example:

$ qquota -u foo
resource quota rule limit                filter
--------------------------------------------------------------------------------
max_slots_groups/1 slots=90/90          users @foogroup
max_slots_users/3  slots=20/70          users foo
max_slots_hosts/1  slots=12/12          hosts host1
...

there are about 120 slots defined.

The user base is relatively computer-illiterate. In some 
cases, users are unaware that they're using SGE, because 
their application is tightly integrated with SGE (e.g.
FMRIB Software Library).

My configuration relies on relatively high-turnover of 
running jobs. (If long jobs fill the queue, then submitted 
jobs must wait.) 

In the perfect world, newly submitted jobs would get runtime,
while the longest waiting jobs would get suspended, and wait
for the cluster to become more idle.

I consider over-subscribing the queues, and defining a 
suspend_threshold. But how does SGE choose which jobs get
suspended? 

I understand the suspend 'action' can be defined with slotwise 
preemption (subordinate queues). I prefer not to use separate 
queues, but perhaps it's the only option?

Thanks in advance!
Best,
Julie

-- 
Julie Ashworth <[email protected]>
http://www.neuro.berkeley.edu
PGP Key ID: 0x17F013D2
_______________________________________________
users mailing list
[email protected]
https://gridengine.org/mailman/listinfo/users

Reply via email to