[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Condor-users] Puzzlement with KeyboardIdle and slots



Condor 7.4.2

Our pool is all Windows, mostly 4 core machines but some 2 core. Our
program is heavy cpu and disk usage, so to keep interactive use
painless on the execute computers I want to limit cores to 2 less than
the actual if the execute machine is interactively used, only 1 less
if not interactively used.

I put this in the condor_config.local files:

UNUSED = KeyboardIdle > 10 * $(HOUR)
NUM_SLOTS = ifThenElse($(UNUSED), $(DETECTED_CORES) - 1, $(DETECTED_CORES) - 2)

Questions:

1. When I restart the machines with the above, I get this error in StartLog:

04/08 15:07:27 ERROR "Invalid result (not an integer) for NUM_SLOTS
(ifThenElse(KeyboardIdle > 10 * (60 * 60), 4 - 1, 4 - 2)) in condor
configuration.  Please set it to an integer expression in the range
-2147483648 to 2147483647 (default 4)." at line 1654 in file
..\src\condor_c++_util\condor_config.cpp

The problem seems to be in the conditional expression; when I put in
something trivial like 2 > 1 the ifThenElse works correctly.  What is
wrong with my UNUSED expression?

2. When I run condor_status -l, each slot typically reports a
different KeyboardIdle time, e.g.

Name = "slot1@xxxxxxxxxxxxxxxxxxxxxxxxx"
KeyboardIdle = 541
Name = "slot2@xxxxxxxxxxxxxxxxxxxxxxxxx"
KeyboardIdle = 641

Why? Isn't there just one keyboard/mouse to look for per machine, no
matter how many cpus or slots?  So shouldn't there be just one
KeyboardIdle time for each machine?

Ralph Finch
California Dept. of Water Resources
Sacramento, CA 95814

916-653-7552
rfinch@xxxxxxxxxxxx