Mailing List Archives
Public Access
|
|
|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Condor-users] How to add swap to slot memory?
- Date: Thu, 5 Jul 2007 18:47:07 +0200
- From: Steffen Grunewald <steffen.grunewald@xxxxxxxxxx>
- Subject: Re: [Condor-users] How to add swap to slot memory?
On Thu, Jul 05, 2007 at 04:13:42PM +0200, Steffen Grunewald wrote:
> by default, only the real memory of a node is split up into equal parts
> for each slot. While this makes sense most of the time, I'd like to add
> some small error margin (and allow jobs to run into swap a bit).
> Is there a way to determine the size of the total available virtual memory?
condor_status -long shows TotalVirtualMemory, but I cannot do maths with it
> If not, if I want to add 10% of the memory, would
> RESERVED_MEMORY = - $(MY.MEMORY)/10
> be correct?
Of course not.
MY.MEMORY refers to the job, not the machine. (I'll try to keep in mind that
MY means JOB while TARGET means MACHINE...)
Even TARGET.Memory would *not* work - it would be great to have arithmetic
expressions allowed here (TotalVirtualMemory/4 would make a nice piece of
additional memory).
I've done some tests, and cannot assign anything looking like an expression.
I intend to use Peter Myerscough-Jackopson's idea to split an existing
machine into 3 slots, one covering all resources, the other two one half
each (it's a dual-core machine, but some of the jobs need all the memory).
At the moment I seem to be unable to "simply" double the number of CPUs
and RAM MBs. Needless to say that I *hate* magic numbers in config files...
What I could imagine is
NUM_CPUS = 2*NUM_CPUS
MEMORY = 2*MEMORY
so that both resources can be properly split into 1/2 for the "full node"
slot, and 2* 1/4 for the "half node" slots.
For now I have to insert the actual values...
Another value I'd love to adjust dynamically is the NEGOTIATOR_PRE_JOB_RANK
(to make partly claimed nodes more "interesting"), again using Peter's
NUMBER_OF_CLAIMED_CPUS = \
( \
( 1 * (Slot1_State =?= "Claimed") ) \
+ ( 1 * (Slot2_State =?= "Claimed") ) \
+ ( 2 * (Slot3_State =?= "Claimed") ) \
)
and something like
NEGOTIATOR_PRE_JOB_RANK = -TARGET.Memory + 100 * $(NUMBER_OF_CLAIMED_CPUS)
- is this possible at all?
Any idea is greatly appreciated!
Steffen