Hi Derrick,
You could either set h_vmem as a consumable (consumable=yes) attribute
and set a default value of 8GB for it. This way, whenever a job doesn't
request any amount of h_vmem, it will automatically request 8GB per
slot. This will affect all types of jobs.
You could also define a JSV script that checks the username, and forces
a -l h_vmem=8G for his/her jobs (
jsv_sub_add_param('l_hard','h_vmem','8G') ). This will affect all jobs
for that user, but could turn into a pain to manage.
Or, you could set a different policy and allow all users to request the
amount of memory they really need, trying to fit best the node. What is
the point of forcing the user to reserve 63 additional cores when they
only need 1 core and 500GB of memory? You could fit in that node one job
like this, and, say, two 30-core-6GB-memory jobs.
Txema
El 30/06/14 08:55, Derrick Lin escribió:
Hi guys,
A typical node on our cluster has 64 cores and 512GB memory. So it's
about 8GB/core. Occasionally, we have some jobs that utilizes only 1
core but 400-500GB of memory, that annoys lots of users. So I am
seeking a way that can force jobs to run strictly below 8GB/core
ration or it should be killed.
For example, the above job should ask for 64 cores in order to use
500GB of memory (we have user quota for slots).
I have been trying to play around h_vmem, set it to consumable and
configure RQS
{
name max_user_vmem
enabled true
description "Each user can utilize more than 8GB/slot"
limit users {bad_user} to h_vmem=8g
}
but it seems to be setting a total vmem bad_user can use per job.
I would love to set it on users instead of queue or hosts because we
have applications that utilize the same set of nodes and app should be
unlimited.
Thanks
Derrick
_______________________________________________
users mailing list
users@gridengine.org
https://gridengine.org/mailman/listinfo/users
_______________________________________________
users mailing list
users@gridengine.org
https://gridengine.org/mailman/listinfo/users