1
0
mirror of https://github.com/newnius/YAO-scheduler.git synced 2025-06-07 14:21:55 +00:00

update fair

This commit is contained in:
Newnius 2020-05-30 16:06:53 +08:00
parent ba8c392888
commit 3f65e1d0cb

View File

@ -181,10 +181,15 @@ func (scheduler *SchedulerFair) Start() {
if least == 0 { if least == 0 {
for queue, quota := range scheduler.queuesQuota { for queue, quota := range scheduler.queuesQuota {
/* do not self borrow */ /* do not self borrow */
if queue == bestQueue || quota.NumberGPU < minRequestGPU { if queue == bestQueue || quota.NumberGPU == 0 {
continue continue
} }
quota.NumberGPU -= minRequestGPU if quota.NumberGPU < minRequestGPU {
least = quota.NumberGPU
} else {
least = minRequestGPU
}
quota.NumberGPU -= least
if _, ok := scheduler.IOUs[bestQueue]; !ok { if _, ok := scheduler.IOUs[bestQueue]; !ok {
scheduler.IOUs[bestQueue] = map[string]*ResourceCount{} scheduler.IOUs[bestQueue] = map[string]*ResourceCount{}
} }
@ -193,10 +198,10 @@ func (scheduler *SchedulerFair) Start() {
scheduler.IOUs[bestQueue][queue] = &ResourceCount{} scheduler.IOUs[bestQueue][queue] = &ResourceCount{}
IOU = scheduler.IOUs[bestQueue][queue] IOU = scheduler.IOUs[bestQueue][queue]
} }
IOU.NumberGPU += minRequestGPU IOU.NumberGPU += least
scheduler.queuesQuota[bestQueue].NumberGPU += minRequestGPU scheduler.queuesQuota[bestQueue].NumberGPU += least
log.Info(bestQueue, " borrow ", minRequestGPU, " from ", queue, " now ", scheduler.queuesQuota[bestQueue].NumberGPU) log.Info(bestQueue, " borrow ", minRequestGPU, " from ", queue, " now ", scheduler.queuesQuota[bestQueue].NumberGPU)
minRequestGPU = 0 minRequestGPU -= least
break break
} }
} }