Print

Print


Yo

This is a good example:

> Requirements = other.GlueCEPolicyMaxCPUTime >= ( 14000000 / 60 ) / 
> other.GlueHostBenchmarkSI00 ) 

what happens now is that the WMS finds a list of CEs for which the 
statement above is true, picks one, and prays ;-) (I calculate half a 
year??)


Consider a more realistic case, where you are requesting 240 normalized 
CPU minutes.  One of the many 72-hour 'long' queues will satisfy such a 
request.  What happens now is that the job is submitted to the LRMS 
without informing the LRMS that the job will only take 240 normalized 
minutes.

The normalization is tricky but leaving that aside, if the LRMS does not 
know that only 240 minutes will be used, it will tell the 
scheduler/server that it must expect the job might take all of the 4320 
minutes its allowed.  This has a severe influence on e.g. backfilling, 
where the scheduler could make very different decisions if it is aware 
that the job will not take more than four hours.

Same for RAM, maybe some job only requires 100 MB of RAM; then it is 
possible to run this job together with another one requiring 1.6 GB on 
the same physical machine.  However if the LRMS doesn't know, it must 
assume that the job will take the default max of 1.2 GB and cannot run 
more than one job per machine ...

Basically the thing we're looking for is to realize that 'requirements' 
are also statements 'i will not need more than this'.  Pass that 
consumption cap information to the scheduler / LRMS so that it can make 
more intelligent decisions about scheduling and job placement.

				JT

> 
> As far as I am told, the issue was raised in particular by Cal. I think 
> that also David and Maarten are the right candidates to start the 
> discussion with.
> 
> So, could you please elaborate such requirement ?
> 
> 
> Do you mean that the various constraints expressed in the "JDL 
> requirement" expression should be translated in the proper batch system 
> directive and used when submitting the job, or were you thinking about 
> something different ?
> 
> 
> How about different batch systems supporting a different set of 
> attributes ?
> Should all the supported (by the used batch system) attributes be 
> translated, or only a minimum common (supported by all the supported 
> batch system) set of attributes should be considered ?
> 
> 
> How about translating requirement expressions specified on multiple CE 
> attributes, as the following example (taken from a real atlas production 
> job):
> 
> ?
> 
> Let's start the discussion :-)
> 
> 			Cheers, Massimo