From cfc9d9f8b24dead84cefc476979d07d4cc50cee0 Mon Sep 17 00:00:00 2001 From: Newnius Date: Sun, 3 May 2020 15:19:21 +0800 Subject: [PATCH] update --- src/optimizer.go | 4 +++- src/resource_pool.go | 1 + src/scheduler_fair.go | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/optimizer.go b/src/optimizer.go index 24df2db..81143a5 100644 --- a/src/optimizer.go +++ b/src/optimizer.go @@ -7,6 +7,7 @@ import ( "io/ioutil" "strconv" "encoding/json" + "time" ) type Optimizer struct { @@ -124,7 +125,7 @@ func (optimizer *Optimizer) predictTime(job string) (*OptimizerJobExecutionTime, str := strings.Split(job, "-") if len(str) == 2 { jobName := str[0] - if est, ok := optimizer.cache[jobName]; ok { + if est, ok := optimizer.cache[jobName]; ok && est.Version > (int)(time.Now().Unix())-300 { return est, true } if est, ok := optimizer.predicts[jobName]; ok { @@ -133,6 +134,7 @@ func (optimizer *Optimizer) predictTime(job string) (*OptimizerJobExecutionTime, est2.Pre = est.Pre * est2.Total / est.Total est2.Main = est.Main * est2.Total / est.Total est2.Post = est.Post * est2.Total / est.Total + est2.Version = (int)(time.Now().Unix()) optimizer.cache[jobName] = &est2 return &est2, true } diff --git a/src/resource_pool.go b/src/resource_pool.go index 8eb7742..010535f 100644 --- a/src/resource_pool.go +++ b/src/resource_pool.go @@ -262,6 +262,7 @@ func (pool *ResourcePool) acquireNetwork() string { for k := range pool.networksFree { network = k delete(pool.networksFree, k) + break } return network } diff --git a/src/scheduler_fair.go b/src/scheduler_fair.go index 0e8e0fa..f5d8483 100644 --- a/src/scheduler_fair.go +++ b/src/scheduler_fair.go @@ -363,6 +363,8 @@ func (scheduler *SchedulerFair) AcquireResource(job Job, task Task, nodes []Node for job := range jobs { if utilT, ok := InstanceOfOptimizer().predictUtilGPU(job); ok { totalUtil += utilT + } else { + totalUtil += 100 } } if totalUtil < 100 {