mirror of
https://github.com/newnius/YAO-scheduler.git
synced 2025-06-08 06:41:56 +00:00
update
This commit is contained in:
parent
8529d4aaa7
commit
59828baea8
@ -183,13 +183,13 @@ func (scheduler *SchedulerFair) AcquireResource(job Job, task Task) NodeStatus {
|
|||||||
poolID := rand.Intn(pool.poolsCount)
|
poolID := rand.Intn(pool.poolsCount)
|
||||||
res := NodeStatus{}
|
res := NodeStatus{}
|
||||||
|
|
||||||
var locks []sync.Mutex
|
locks := map[int]sync.Mutex{}
|
||||||
|
|
||||||
var candidates []NodeStatus
|
var candidates []NodeStatus
|
||||||
/* first round, find vacant gpu */
|
/* first round, find vacant gpu */
|
||||||
for i := poolID; i < pool.poolsCount; i++ {
|
for i := poolID; i < pool.poolsCount; i++ {
|
||||||
pool.poolsMu[i].Lock()
|
pool.poolsMu[i].Lock()
|
||||||
locks = append(locks, pool.poolsMu[i])
|
locks[i] = pool.poolsMu[i]
|
||||||
for _, node := range pool.pools[i] {
|
for _, node := range pool.pools[i] {
|
||||||
var available []GPUStatus
|
var available []GPUStatus
|
||||||
for _, status := range node.Status {
|
for _, status := range node.Status {
|
||||||
@ -222,8 +222,11 @@ func (scheduler *SchedulerFair) AcquireResource(job Job, task Task) NodeStatus {
|
|||||||
if util, valid := InstanceOfOptimizer().predictUtilGPU(job.Name); valid {
|
if util, valid := InstanceOfOptimizer().predictUtilGPU(job.Name); valid {
|
||||||
|
|
||||||
for i := poolID; i < pool.poolsCount; i++ {
|
for i := poolID; i < pool.poolsCount; i++ {
|
||||||
pool.poolsMu[i].Lock()
|
if _, err := locks[i]; err {
|
||||||
locks = append(locks, pool.poolsMu[i])
|
pool.poolsMu[i].Lock()
|
||||||
|
locks[i] = pool.poolsMu[i]
|
||||||
|
}
|
||||||
|
|
||||||
for _, node := range pool.pools[i] {
|
for _, node := range pool.pools[i] {
|
||||||
var available []GPUStatus
|
var available []GPUStatus
|
||||||
for _, status := range node.Status {
|
for _, status := range node.Status {
|
||||||
|
Loading…
Reference in New Issue
Block a user