Mailing List Archives
Public Access
|
|
|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [HTCondor-users] per user "quotas" using match making
- Date: Wed, 11 Feb 2015 15:02:52 -0600
- From: Todd Tannenbaum <tannenba@xxxxxxxxxxx>
- Subject: Re: [HTCondor-users] per user "quotas" using match making
On 2/10/2015 12:52 PM, Werner Hack wrote:
Hi all,
I tried to limit the number of jobs running per user via a requirement definition
as described here: https://gist.github.com/dberzano/9995356
Maybe this only works if static slots are used. But for partitionable slots it does not work in this
way.
Or maybe I missed to configure something else?
The manual writes:
SubmitterUserResourcesInUse: The integer number of slots currently utilized by the user submitting
the candidate job.
How is SubmitterUserResourcesInUse handled for partitionable slots? The same way?
Or is there a better way to set a simple user quota for running jobs
so that one user can not occupy the whole pool for a longer time?
Any hint will be appreciated
Best
Werner
Hi Werner,
I looked at your config settings on github. My guess is it fails to
work with paritionable slots because CLAIM_PARTITIONABLE_LEFTOVERS is
True by default. What this means is the negotiator will match a
partitionable slot (pslot) with a job, and give the pslot to the schedd.
The schedd will then run as many jobs as possible on that pslot until
some pslot resource (like cpu cores) is exhausted. The result is your
so-called normal users could run many jobs even if you only want them
able to run one job (although they could only use one machine). I think
it will work as you envisioned with partitionable slots if you add the
following to your condor_config (on all your execute machines):
# Turn off claiming leftover resources by the schedd
# so that our quota via requirements magic works
CLAIM_PARTITIONABLE_LEFTOVERS = False
# Optionally turn on consumption_policy mechanism so more than
# one job can be matched per negotiation cycle to a
# machine considering that CLAIM_PARTITIONABLE_LEFTOVERS
# is disabled above.
CONSUMPTION_POLICY = True
You can read about these knobs in the Manual, and/or you may find the
following wisdom on the Wiki enlightening:
https://htcondor-wiki.cs.wisc.edu/index.cgi/wiki?p=ConsumptionPolicies
Finally, the whole concept of placing a quota on the number of jobs a
user can run seems against the idea of high-throughput computing....
Instead I'd suggest a policy that simply gives power-users a better
priority, and allow users with a better priority to preempt jobs
submitted by users with a worse priority. This way, if a poor Todd is a
normal user and nobody else even wants to use the pool, Todd isn't
limited to just a few jobs for no good reason... Of course, I
understand that some jobs (especially non idempotent jobs that have
side-effects like creating records in database) don't like to be
preempted, but I'd argue that is pretty rare.
Hope this helps,
Todd
_______________________________________________
HTCondor-users mailing list
To unsubscribe, send a message to htcondor-users-request@xxxxxxxxxxx with a
subject: Unsubscribe
You can also unsubscribe by visiting
https://lists.cs.wisc.edu/mailman/listinfo/htcondor-users
The archives can be found at:
https://lists.cs.wisc.edu/archive/htcondor-users/
--
Todd Tannenbaum <tannenba@xxxxxxxxxxx> University of Wisconsin-Madison
Center for High Throughput Computing Department of Computer Sciences
HTCondor Technical Lead 1210 W. Dayton St. Rm #4257
Phone: (608) 263-7132 Madison, WI 53706-1685