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

Re: [Condor-users] Defining Minimum and Maximum Memory in Dynamic Provisioning



On 08/10/2011 02:52 PM, Edier Zapata wrote:

Thank you matt, more questions and results inLine.

On Wed, Aug 10, 2011 at 11:17 AM, Matthew Farrellee <matt@xxxxxxxxxx
<mailto:matt@xxxxxxxxxx>> wrote:

    On 08/10/2011 12:02 PM, Edier Zapata wrote:

        Good morning,
          I've been using Dynamic Provisioning and I works perfect when
        you add
        the request directives in the submit file, but if you miss the
        request_memory your job only get 1MB of RAM,
        1. Is there a way to define a Minimum value when no Memory is
        request?


    Only on the submitting side right now. I considered minimums on the
    execute side, but never worked it out completely.

    # Base RequestMemory to use if not provided by user
    RequestMemory = 1024
    SUBMIT_EXPRS = RequestMemory


This one works perfect.

        2. My system have this RAM: Server 1: 24036 Server2 and 3:
        32057, How
        can I add a directive to prevent request_memory outside range, I
        mean,
        If someone add: request_memory = 35000 I want that Condor
        changes this
        value to $(DETECTED_MEMORY) automaticaly, Is this possible?


    request_memory (translated into the RequestMemory attribute on your
    job) is actually an expression, not just an integer. You could,
    request_memory = ifThenElse(TARGET.Memory < 35000, TARGET.Memory, 35000)
    or something like that anyway.

This one didn't, I want a rule like the one above, but I typed this in
the condor_config.local and when I submit a job with:
request_memory=64000 it don't change that value. Later I'd change
Request_Memory to RequestMemory and neither work

My Condor_Config.local Added Lines:
# No Request_Memory in submitFile, assign 64MB
RequestMemory=64

# Request_Memory> Than Real Memory of nodes, then change it to Nodes RAM
RequestMemory=IfThenElse(TARGET.Memory<32058,TARGET.Memory,32057)

# Update Exprs
SUBMIT_EXPRS=RequestMemory

The value in config (you're using condor_config.local? come into the config.d/ world, see LOCAL_CONFIG_DIR) is overridden by what the user puts in their submit file, which is why (1) works.

You can either have your users set RequestMemory = ifThenElse(...) themselves, or some up with a schema so they set something like +MyRequestMemory = 123 and they get a default RequestMemory=ifThenElse(TARGET.Memory < MY.MyRequestMemory, TARGET.Memory, MY.MyRequestMemory).

Best,


matt