-
-
Save Akramz/6b2f96dcfbdf42729895 to your computer and use it in GitHub Desktop.
condor config file from http://research.cs.wisc.edu/htcondor/tutorials/scotland-admin-tutorial-2003-10-23/
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#CONDOR_HOST = reynolds-master.reynol.dz | |
# | |
#COLLECTOR_NAME = TEFPL at $(FULL_HOSTNAME)) | |
#START = $(CS_START) | |
#SUSPEND = $(CS_SUSPEND) | |
#CONTINUE = $(CS_CONTINUE) | |
#PREEMPT = $(CS_PREEMPT) | |
#KILL = $(CS_KILL) | |
# | |
#DAEMON_LIST = MASTER, SCHEDD, STARTD | |
# | |
##Macros in the Config File | |
#NonCondorLoadAvg = (LoadAvg - CondorLoadAvg) | |
#HighLoad = 0.5 | |
#BgndLoad = 0.3 | |
#CPU_Busy = ($(NonCondorLoadAvg) >= $(HighLoad)) | |
#CPU_Idle = ($(NonCondorLoadAvg) <= $(BgndLoad)) | |
#KeyboardBusy = (KeyboardIdle < 10) | |
#MachineBusy = ($(CPU_Busy) || $(KeyboardBusy)) | |
#ActivityTimer = (CurrentTime - EnteredCurrentActivity) | |
# | |
##Useful Macros: Universe | |
#STANDARD = 1 | |
#VANILLA = 5 | |
#IsVanilla = (TARGET.JobUniverse == $(VANILLA) | |
#IsStandard = (TARGET.JobUniverse == $(STANDARD) | |
# | |
##Useful Macros: Timers | |
#StateTimer = (CurrentTime - EnteredCurrentState) | |
#ActivityTimer = (CurrentTime - EnteredCurrentActivity) | |
#LastCkpt = (CurrentTime - LastPeriodicCheckpoint) | |
# | |
##Useful Macros: Limits | |
#BackgroundLoad = 0.3 | |
#HighLoad = 0.7 | |
#StartIdleTime = 15*$(MINUTE) | |
#MaxSuspendTime = 10*$(MINUTE) | |
# | |
##Useful Macros: Concepts | |
#NonCondorLoadAvg = (LoadAvg - CondorLoadAvg) | |
#KeyboardBusy = (KeyboardIdle < $(MINUTE)) | |
#CPU_Idle = ($(NonCondorLoadAvg) <= $(BackgroundLoad)) | |
#SmallJob = (TARGET.ImageSize < (15 * 1024)) | |
#MachineBusy = ($(CPU_Busy) || $(KeyboardBusy)) | |
#Maintenance = (ClockMin > 255 && ClockMin < 315 && $(ConsoleBusy) == False) | |
# | |
##WANT_SUSPEND and WANT_VACATE | |
#WANT_SUSPEND = ( $(SmallJob) || $(KeyboardNotBusy) || $(Maintenance) || $(IsPVM) || $(IsVanilla) ) | |
#WANT_VACATE = $(ActivationTimer) > 10 * $(MINUTE) || $(IsPVM) || $(IsVanilla) | |
# | |
##START | |
#CS_START = \ | |
#( ($(CPU_Idle) || | |
# (State!="Unclaimed" && State!="Owner")) \ | |
# && (KeyboardIdle > $(StartIdleTime)) \ | |
# && (TARGET.ImageSize <= ((Memory - 15)*1024)) \ | |
# && ( (MemoryRequirements < (Memory - 15)) \ | |
# || (MemoryRequirements =?= UNDEFINED \ | |
# && (RemoteUserCpu > 0.0 || Memory > 127)) ) ) | |
# | |
##SUSPEND | |
#CS_SUSPEND = | |
#( ( (CpuBusyTime > 2 * $(MINUTE)) | |
# && $(ActivationTimer) > 90 ) | |
# || $(KeyboardBusy) ) | |
# | |
##CONTINUE | |
#CS_CONTINUE = | |
# ( ($(CPU_Idle) && | |
# ($(ActivityTimer) > 10)) | |
# && (KeyboardIdle > | |
# $(ContinueIdleTime)) ) | |
# | |
##PREEMPT | |
#CS_PREEMPT = | |
# ( ( ($(ActivityTimer) > | |
# $(MaxSuspendTime)) | |
# && (Activity == "Suspended")) | |
# || (SUSPEND && | |
# (WANT_SUSPEND == False)) ) | |
# | |
##KILL | |
#CS_KILL = ($(ActivityTimer) > $(MaxVacateTime)) | |
# From https://lists.cs.wisc.edu/archive/htcondor-users/2009-January/msg00086.shtml | |
#require that whole-machine jobs only match to Slot1 | |
START = ($(START)) && (TARGET.RequiresWholeMachine =!= TRUE || SlotID == 1) | |
# have the machine advertise when it is running a whole-machine job | |
STARTD_JOB_EXPRS = $(STARTD_JOB_EXPRS) RequiresWholeMachine | |
# Export the job expr to all other slots | |
STARTD_SLOT_EXPRS = RequiresWholeMachine | |
# require that no single-cpu jobs may start when a whole-machine job is running | |
START = ($(START)) && (SlotID == 1 || Slot1_RequiresWholeMachine =!= True) | |
# suspend existing single-cpu jobs when there is a whole-machine job | |
SUSPEND = ($(SUSPEND)) || (SlotID != 1 && Slot1_RequiresWholeMachine =?= True) | |
## Instead of suspending the single-cpu jobs while the whole-machine job runs, you could suspend the whole-machine job while the single-cpu jobs finish. Example: | |
## advertise the activity of each slot into the ads of the other slots, | |
## so the SUSPEND expression can see it | |
#STARTD_SLOT_EXPRS = $(STARTD_SLOT_EXPRS) Activity | |
# | |
## Suspend the whole-machine job until the other slots are empty | |
#SUSPEND = ($(SUSPEND)) || (SlotID == 1 && Slot1_RequiresWholeMachine =?= True && \ (Slot2_Activity =?= "Busy" || Slot3_Activity =?= "Busy" ) || Slot4_Activity =?= "Busy" ) || Slot5_Activity =?= "Busy" ) || Slot6_Activity =?= "Busy" || Slot7_Activity =?= "Busy" || Slot8_Activity =?= "Busy")) | |
#You might want to steer whole-machine jobs towards machines that are completely vacant, especially on the slots only for single-cpu jobs. | |
#Here's a simple example that just avoids machines with a high load: | |
#NEGOTIATOR_PRE_JOB_RANK = -TARGET.LoadAvg*(MY.RequiresWholeMachine =?= True) | |
STARTD_SLOT_EXPRS = $(STARTD_SLOT_EXPRS) Activity | |
NEGOTIATOR_PRE_JOB_RANK = ($(NEGOTIATOR_PRE_JOB_RANK)) && (MY.RequiresWholeMachine =?= True) * \ | |
(Slot2_Activity =!= "Busy" + Slot3_Activity =!= "Busy" + Slot4_Activity =!= "Busy" + \ | |
Slot5_Activity =!= "Busy" + Slot6_Activity =!= "Busy" + Slot7_Activity =!= "Busy" + Slot8_Activity =!= "Busy" ) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment