mirror of
https://github.com/newnius/YAO-scheduler.git
synced 2025-12-15 08:16:43 +00:00
update fair
This commit is contained in:
@@ -396,7 +396,9 @@ func (scheduler *SchedulerFair) UpdateQuota() {
|
|||||||
availableCPU -= (requests[queue].CPU * base) / requests[queue].NumberGPU
|
availableCPU -= (requests[queue].CPU * base) / requests[queue].NumberGPU
|
||||||
quota.Memory += ((requests[queue].Memory * base) / requests[queue].NumberGPU) / 1000
|
quota.Memory += ((requests[queue].Memory * base) / requests[queue].NumberGPU) / 1000
|
||||||
}
|
}
|
||||||
if availableGPU > 0 {
|
/* left more and more resource */
|
||||||
|
if availableGPU > 0 && availableGPU < per {
|
||||||
|
flag := false
|
||||||
for _, queue := range candidates {
|
for _, queue := range candidates {
|
||||||
if quota, ok := scheduler.queuesQuota[queue]; ok && quota.NumberGPU >= requests[queue].NumberGPU*1000 {
|
if quota, ok := scheduler.queuesQuota[queue]; ok && quota.NumberGPU >= requests[queue].NumberGPU*1000 {
|
||||||
continue
|
continue
|
||||||
@@ -405,8 +407,19 @@ func (scheduler *SchedulerFair) UpdateQuota() {
|
|||||||
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
|
||||||
}
|
}
|
||||||
|
if !flag { /* make sure no resource is waste */
|
||||||
|
for _, queue := range candidates {
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
log.Info("After ")
|
log.Info("After ")
|
||||||
for queue, quota := range scheduler.queuesQuota {
|
for queue, quota := range scheduler.queuesQuota {
|
||||||
|
|||||||
Reference in New Issue
Block a user