[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