[jsdl-wg] Process Topology
Christopher Smith
csmith at platform.com
Thu Apr 21 11:33:03 CDT 2005
Given the discussion below, it does make me wonder whether we need an
Exclusive boolean in the Resource section.
I also don't see the problem in keeping CPUCount as is ... it just won't
make any sense for my use cases, as Karl says. :-)
-- Chris
On 20/4/05 03:22, "Karl Czajkowski" <karlcz at univa.com> wrote:
> On Apr 20, Andreas Savva loaded a tape reading:
>
>> My requirement is very simple. If I ask for a 2-way SMP machine I want a
>> 2-way SMP machine and nothing else. It is not a preference. Consider
>> that I may want to run software specifically tuned to some configuration
>> (cpu, ram, and so on) and I don't want the system to be 'helpful' and
>> give me something that it thinks is better for me. Unless I tell it so
>> by using a range expression.
>>
>
> I cannot help thinking you have made some assumption of exclusivity or
> free-reign and it is keeping you from seeing what is confusing us. I
> think I (and Chris) have had an assumption that resource requirements
> are a request for allocation, and these allocations MAY always be a
> portion of a larger (shared) resource. For us, allocation is a
> virtualization of resources: allocating 2 cpus from a 4-way SMP should
> nearly always be indistinguishable from allocation of 2 cpus from a
> 2-way SMP. That's a scheduler/admin prerogative.
>
> Placing your job on a 4-way SMP does not imply that you have access to
> 4 CPUs. If you asked for exactly 2 CPUs per resource, I understand
> LSF might well allocate you 2 from a 4-way node if it wants to. This
> is not to give you a "better" resource but because it is the "closest
> sufficient fit" that the scheduler could find for whatever reasons it
> has. You would be violating the scheduler's allocation decision if
> you somehow used more than 2 of those CPUs. Some schedulers might
> enforce the allocation with dynamic OS partitioning directives
> etc. while others might require cooperative behavior from the
> application and penalize violations through social or accounting
> means.
>
> Going the other way should not happen in my book: I cannot allocate
> you 4 CPUs on a 2-way SMP. I don't know if Chris or other
> throughput-oriented folks may disagree on that point. I suppose you
> could "allocate" 4 1 GHz virtual CPUs on a 2-way SMP with 2 GHz
> CPUs... :-)
>
> If I am charitable and assume I am completely misunderstanding you
> above, I understand your requirement to express hardware selection as
> a very advanced or esoteric performance requirement, e.g. your
> selection of exactly 2-way nodes somehow implicitly selects for a
> cache or bus architecture, local process scheduler behavior, etc. I
> could then see wanting to exactly select physical RAM sizes (effects
> cache associativity and miss rates) or any other attribute in the same
> way. I did not think such selection of resource properties beyond the
> reach of the allocation requirements was in scope.
>
> It is not something that I (nor Chris, I am guessing) was expecting to
> express. We figured that by the time you are making such specialized
> selection criteria you are probably choosing nodes by name or type
> using the hostname mechanism or something weirder and even more
> site-specific.
>
> ...
>> Not sure what was ambiguous; maybe the "I would accept.." part? Perhaps
>> I should say instead that the above fragment to me means "I want a host
>> with at least 2 cpus."
>>
>
> This is exactly the confusion. "I want a host with X" is ambiguous
> because there exists hosts with X but you do not "get" hosts. You
> "get" allocations X from a host with X or from a host with Y>X.
>
>
> karl
More information about the jsdl-wg
mailing list