mirror of
https://github.com/newnius/YAO-scheduler.git
synced 2025-06-07 22:31:55 +00:00
add optimizer
This commit is contained in:
parent
acdbd39a08
commit
55e3fe781b
29
src/optimizer.go
Normal file
29
src/optimizer.go
Normal file
@ -0,0 +1,29 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
log "github.com/sirupsen/logrus"
|
||||
"sync"
|
||||
)
|
||||
|
||||
type Optimizer struct {
|
||||
scheduler Scheduler
|
||||
killedFlag bool
|
||||
}
|
||||
|
||||
var optimizerInstance *Optimizer
|
||||
var OptimizerInstanceLock sync.Mutex
|
||||
|
||||
func InstanceOfOptimizer() *Optimizer {
|
||||
defer OptimizerInstanceLock.Unlock()
|
||||
OptimizerInstanceLock.Lock()
|
||||
|
||||
if optimizerInstance == nil {
|
||||
optimizerInstance = &Optimizer{}
|
||||
}
|
||||
return optimizerInstance
|
||||
}
|
||||
|
||||
func (jhl *Optimizer) feed(job string, utils []int) {
|
||||
log.Info("optimizer feed")
|
||||
log.Info(job, utils)
|
||||
}
|
@ -222,7 +222,7 @@ func (pool *ResourcePool) attach(GPU string, job string) {
|
||||
func (pool *ResourcePool) detach(GPU string, jobName string) {
|
||||
if _, ok := pool.bindings[GPU]; ok {
|
||||
if len(pool.bindings[GPU]) == 1 {
|
||||
InstanceOptimizer().feed(jobName, pool.utils[GPU])
|
||||
InstanceOfOptimizer().feed(jobName, pool.utils[GPU])
|
||||
pool.utils[GPU] = []int{}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user