[Mauiusers] detecting and scheduling vmem
Brian Christiansen
bchristiansen at clusterresources.com
Wed Mar 18 17:28:30 MDT 2009
Roy,
Thanks for pointing out the right side of the statement. I made the
changes and they will be available in the next snapshot.
Thanks,
Brian
Roy Dragseth wrote:
> On Monday 16 March 2009 23:07:14 Brian Christiansen wrote:
>
>> Roy,
>>
>> Looking in MPBSI.c, it appears that nodememovercommitfactor is already
>> implemented to work with swap, except that in in _MPBSIGetSSSStatus the
>> setting of N->CRes.Swap is after the overcommitting work is done. How
>> does the following patch work for you?
>>
>> Thanks,
>> Brian
>>
>> --- src/moab/MPBSI.c
>> +++ src/moab/MPBSI.c
>> @@ -6263,6 +6263,11 @@
>> } /* END else if (!strcmp(Name,"message")) */
>> } /* END while (ptr != NULL) */
>>
>> + /* NOTE: PBS totmem = swap + RAM */
>> +
>> + if (TotMem > 0)
>> + N->CRes.Swap = TotMem;
>> +
>> if (MSched.NodeMemOverCommitFactor > 0.0)
>> {
>> /* NOTE: both real memory and swap overcommitted */
>> @@ -6276,11 +6281,6 @@
>> /* memory factor not applied to node load */
>> }
>>
>> - /* NOTE: PBS totmem = swap + RAM */
>> -
>> - if (TotMem > 0)
>> - N->CRes.Swap = TotMem;
>> -
>> return(SUCCESS);
>> } /* END __MPBSIGetSSSStatus() */
>>
>>
>
> This should work equally well, but then we need to change a few more lines in
> the if-clause from
>
> N->CRes.Swap = (int)(N->CRes.Mem * MSched.NodeMemOverCommitFactor);
> N->ARes.Swap = (int)(N->ARes.Mem * MSched.NodeMemOverCommitFactor);
>
> to
>
> N->CRes.Swap = (int)(N->CRes.Swap * MSched.NodeMemOverCommitFactor);
> N->ARes.Swap = (int)(N->ARes.Swap * MSched.NodeMemOverCommitFactor);
>
> (the current code doesn't look correct anyway)
>
> I ran a quick test with your changes and mine and it seems to be functionally
> equivalent with my old proposal.
>
> r.
>
More information about the mauiusers
mailing list