diff --git a/src/scheduler_fair.go b/src/scheduler_fair.go index 35a0330..1e6908f 100644 --- a/src/scheduler_fair.go +++ b/src/scheduler_fair.go @@ -224,11 +224,12 @@ func (scheduler *SchedulerFair) AcquireResource(job Job, task Task) NodeStatus { for i := 0; i < pool.poolsCount; i++ { if _, err := locks[(i+poolID)%pool.poolsCount]; err { + log.Info("lock", (i+poolID)%pool.poolsCount) pool.poolsMu[(i+poolID)%pool.poolsCount].Lock() locks[(i+poolID)%pool.poolsCount] = pool.poolsMu[(i+poolID)%pool.poolsCount] } - for _, node := range pool.pools[i] { + for _, node := range pool.pools[(i+poolID)%pool.poolsCount] { var available []GPUStatus for _, status := range node.Status { if status.MemoryTotal >= task.MemoryGPU+status.MemoryAllocated && status.MemoryFree > task.MemoryGPU {