[SCore-users] Gang scheduling details

Atsushi HORI hori at swimmy-soft.com
Tue Sep 24 10:08:31 JST 2002


Thanks, John,

>You'll have to wait for the official response to confirm this, but my
>interpretation and is that the scheduling on the time-sharing queues in
>SCore is loosely based on the Distributed Hierarchical Control gang
>scheduling algorithm from Feitelson.

A hierarchical control is used in SCore, but it is different from 
Feitelson's DHC. The control of parallel processes (this is defined 
as a set of (Unix) processes derived from a parallel program) and job 
scheduling are decoupled, while in DHC they are merged into one 
distributed tree.

In the early stage of SCore development, I designed and implemented a 
distributed scheduler (and control of parallel processes), but soon I 
found that there was a large amount of scheduling overhead. The 
reason is simple. Communication is still more than 100 times slower 
than local memory access. Now centarlized scheduling is implemented 
in SCore. The control of parallel processes remains distributed from 
the earliest version.

DHC is using binary tree for both of job scheduling and job control. 
The binary tree can be optimum for job scheduling, however, not 
optimum for job control. Once I evaluated SCore implementation, and I 
found 8-ary or 16-ary distributed tree was the best for controling 
parallel processes. This is another reason why SCore is NOT based on 
DHC.

>Also I believe there are some papers by Hori et al on the
>implementation.  And for details of the buddy allocation scheme start
>with Feitelson.

Well, binary buddy is a "natural" design, I believe. I chose binary 
buddy scheme based on the fact that many users want to submit jobs 
with the numbers of power of 2, as in the Feitelson's papaer (not for 
DHC), 

Anyway, Shreeni, I could answer how gang-scheudling implementation 
issues are answered in SCore, if you ask me in more details.

----
Atsushi HORI
Swimmy Software, Inc.




More information about the SCore-users mailing list