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

Re: [Condor-users] Is VM_MAX_NUMBER a redundant macro?



On Jul 12, 2009, at 8:04 PM, Rob wrote:

I'm using Condor 7.2.4.

I ran into this problem when trying to set the condor_config file for the
macros VM_MAX_NUMBER and VM_MEMORY, using the hardware
macros $(NUM_CPUS) and $(MEMORY).

This seemed to work for VM_MAX_NUMBER, but not for VM_MEMORY.
However, digging a little deeper, it seems that setting VM_MAX_NUMBER
to just about any value, doesn't affect condor at all.......

Let me explain this with the following three examples:

----------
The default setting for this macro is  VM_MAX_NUMBER = $(NUM_CPUS)
If I set this EXPLICITLY in the condor_config file and then query its value,
I get this:

    C:\condor\bin> condor_config_val.exe -verbose VM_MAX_NUMBER
    Not defined: VM_MAX_NUMBER

----------
If I set it to a specific number, e.g:   VM_MAX_NUMBER = 2
I get this:

    C:\condor\bin> condor_config_val.exe -verbose VM_MAX_NUMBER
    VM_MAX_NUMBER: 2
         Defined in 'C:\condor\condor_config', line 2171

----------
If I set it to a wrong value, e.g.  VM_MAX_NUMBER = "what do I care"
I get this (without any error message in the log files!)

    C:\condor\bin> condor_config_val.exe -verbose VM_MAX_NUMBER
    VM_MAX_NUMBER: "what do I care"
         Defined in 'C:\condor\condor_config', line 2171


The absence of an error message in the last example, tells me that
condor doesn't care at all about the value of VM_MAX_NUMBER.
Also, in the StartLog there's mentioning of the VM settings, but nothing
about VM_MAX_NUMBER:

VM_GAHP_VERSION = "0.0.1"
VM_Type = "vmware"
VM_Version = "server1.0"
VM_Memory = 512
VM_Networking = TRUE
VM_Networking_Types = "nat,bridge"
7/11 14:09:35
7/11 14:09:35 VMType('vmware') is supported
7/11 14:09:35 The maximum available memory for vm universe is set to 512 MB
7/11 14:09:35 VM networking is enabled
7/11 14:09:35 Supported networking types are nat,bridge
7/11 14:09:36 New machine resource allocated



Hence my humble conclusion:

Although the explanation in the condor_config file suggests that the macro $(NUM_CPUS) can be used to set VM_MAX_NUMBER, this is actually not true. $(NUM_CPUS) is not available at startup time and therefore VM_MAX_NUMBER
becomes by default an empty macro.

The absence of any error message when setting VM_MAX_NUMBER to a wrong
value, tells me that Condor doesn't care what its value is and therefore it doesn't
matter at all what value it has!

Is VM_MAX_NUMBER really a redundant macro?


(All this contrasts to the way VM_MEMORY is dealt with; if set to a wrong value, then there are plenty of error messages in the log files and the VM universe
won't be available.)


VM_MAX_NUMBER is working properly, though its behavior is a little odd. If its value isn't a positive integer, then there's no limit on the number of VMs (other than the number of slots). No error is written to the log in the event of an invalid value.

The number of additional VMs that can be started is advertised as 'VM_AvailNum' in the machine ad. In the unlimited case, the value is set to 10000.

Thanks and regards,
Jaime Frey
UW-Madison Condor Team