[ogsa-rss-wg] Candidate Ordering Language

Arvid Norberg arvid at cs.umu.se
Tue Aug 8 07:26:50 CDT 2006


On Aug 8, 2006, at 13:01, Donal K. Fellows wrote:

> Arvid Norberg wrote:
>> I still don't see where the actual information about the resource   
>> itself becomes available to the candidate ordering language. The  
>> jsdl  contains the requirements of the resource it will be  
>> submitted to,  not a specific resource's properties. The CSG uses  
>> those requirements  to match against each of the resource  
>> available to it, to filter out  those that cannot meet those  
>> requirements. Is the idea that those  requirements are replaced by  
>> the resource's actual properties by the  CSG? (that would sound  
>> slightly counter-intuitive to me, since it  would redefine the  
>> semantics of the jsdl).
>
> It's not at all clear to me why you would care whether a machine is  
> just
> a little bit bigger than the (satisfied) request or much much larger.

It's not completely clear to me either, that was just an assumption.

> If
> my job needs just two processors, how could it possibly matter whether
> I'm on a dual CPU machine or a 512 CPU monster?

Some (admittedly quite weak) use case could be having a low priority  
job that would try to avoid the big clusters and leaving them for the  
big jobs.

> The correct basis to
> distinguish between those two situations has got to be that one will
> cost more than the other, or will start sooner, or something like  
> that.
> Those in turn are really aspects of the quality of service available.
>
> Given that, I wonder whether the problem is really that you're asking
> not quite the right question. If a job really requires some  
> resource, it
> should state that in the input document, as it is a constraint and not
> an ordering input.
>
> On the other hand, it might be an idea to have the machine load be an
> optional part of the QoS terms (optional, because I know it is
> meaningless on some systems such as those that use batch queues).

For those using batch queues, the queue size and queue size limits  
could be interesting optional parts as well.

>>  From the examples you gave of the candidate ordering language:
>>   <!-- Assume that somewhere there's some JSDL -->
>>   <value> //JobDescription/Resources/IndividualCPUCount </value>
>> This looks like the Resources part of the jsdl contains properties  
>> of  the container, and not the requirements of the container. Is  
>> that the  idea?
>
> No. The idea in that example was that the candidates coming back would
> be for different numbers of CPUs (which was an aspect unconstrained or
> loosely constrained in the original input) where that information had
> been written into the job document to be submitted (how else would you
> convey it to the BES?) In that case, the optimization strategy was to
> choose to maximize the number of CPUs used, under the assumption that
> this would minimize runtime (or responsiveness or somesuch). This  
> is not
> to say that this is an optimal strategy though; it's just an  
> example. :-)

Ok, I see.

> Picking up on something said earlier, I'd like to note that I'd expect
> the resource constraints in the Candidate to be at least as tight  
> as the
> resource constraints in the request, though possibly with extra  
> resource
> constraints too. This is because the standard JSDL interpretation is
> that if a resource is not asked for, it is up to the JSDL consumer  
> (i.e.
> the BES) to decide what to do about it. For some resources, this is
> obvious (if I don't ask for lots of processors, I won't get them) but
> for others (e.g. memory) it's less straight-forward, since they may be
> coupled to other resources (e.g. a particular processor will probably
> have a fixed amount of local memory).
>
>> I was thinking along the lines that the jsdl for the job was used  
>> for  that, and that the candidate ordering language didn't  
>> necessarily  need access to that info in order to rank a resource  
>> (since  everything in the jsdl are constants anyway, it is already  
>> known by  the one writing the ranking expression, unless the  
>> Resources part of  the jsdl is rewritten).
>
> As far as I'm concerned, all parts of the JSDL may be rewritten. For
> example, there may be two versions of an application available, one of
> which is for a single-processor system and the other of which is MPI
> enabled. Smoothly switching from the version for a single-processor
> offer to the version for a multi-processor cluster requires  
> substantial
> rewriting of the JSDL (different executable, different arguments,  
> etc.)
> and yet in some sense they refer to the "same" app. Obviously, the
> performance characteristics would differ though. :-)
>
>> Hopefully I've been clear enough of how I'm thinking. You'll have  
>> to  excuse me if I'm misunderstanding something fundamental, I  
>> haven't  been part of any of this and I basically only have access  
>> to the  released drafts on the gridforge site.
>
> I've been so busy (and then away) that I'm a long way behind on  
> writing
> up all these things for GridForge. For that, I must apologize. But
> please keep on asking questions; they'll help a lot!

Thank you!

--
Arvid Norberg






More information about the ogsa-rss-wg mailing list