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:
parent
e99b7ca0a5
commit
4a91d71c26
@ -397,30 +397,16 @@ func (scheduler *SchedulerFair) UpdateQuota() {
|
|||||||
quota.Memory += ((requests[queue].Memory * base) / requests[queue].NumberGPU) / 1000
|
quota.Memory += ((requests[queue].Memory * base) / requests[queue].NumberGPU) / 1000
|
||||||
}
|
}
|
||||||
/* left more and more resource */
|
/* left more and more resource */
|
||||||
if availableGPU > 0 && availableGPU < per {
|
availableGPU = availableGPU % per
|
||||||
flag := false
|
if availableGPU > 0 {
|
||||||
for _, queue := range candidates {
|
|
||||||
if quota, ok := scheduler.queuesQuota[queue]; ok && quota.NumberGPU >= requests[queue].NumberGPU*1000 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
quota := scheduler.queuesQuota[queue]
|
|
||||||
quota.NumberGPU += availableGPU
|
|
||||||
quota.CPU += (requests[queue].CPU * availableGPU) / requests[queue].NumberGPU
|
|
||||||
quota.Memory += ((requests[queue].Memory * availableGPU) / requests[queue].NumberGPU) / 1000
|
|
||||||
flag = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
if !flag { /* make sure no resource is waste */
|
|
||||||
for _, queue := range candidates {
|
for _, queue := range candidates {
|
||||||
quota := scheduler.queuesQuota[queue]
|
quota := scheduler.queuesQuota[queue]
|
||||||
quota.NumberGPU += availableGPU
|
quota.NumberGPU += availableGPU
|
||||||
quota.CPU += (requests[queue].CPU * availableGPU) / requests[queue].NumberGPU
|
quota.CPU += (requests[queue].CPU * availableGPU) / requests[queue].NumberGPU
|
||||||
quota.Memory += ((requests[queue].Memory * availableGPU) / requests[queue].NumberGPU) / 1000
|
quota.Memory += ((requests[queue].Memory * availableGPU) / requests[queue].NumberGPU) / 1000
|
||||||
flag = true
|
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
log.Info("After ")
|
log.Info("After ")
|
||||||
for queue, quota := range scheduler.queuesQuota {
|
for queue, quota := range scheduler.queuesQuota {
|
||||||
log.Info("Queue<->", queue)
|
log.Info("Queue<->", queue)
|
||||||
|
Loading…
Reference in New Issue
Block a user