mirror of
https://github.com/newnius/YAO-scheduler.git
synced 2025-12-13 07:46:43 +00:00
update
This commit is contained in:
@@ -77,12 +77,14 @@ func (optimizer *Optimizer) feed(job string, utils []int) {
|
|||||||
if _, ok := optimizer.predicts[jobName]; !ok {
|
if _, ok := optimizer.predicts[jobName]; !ok {
|
||||||
optimizer.predicts[jobName] = &OptimizerJobExecutionTime{}
|
optimizer.predicts[jobName] = &OptimizerJobExecutionTime{}
|
||||||
}
|
}
|
||||||
postCnt *= optimizer.heartbeatInterval
|
postTime := postCnt * optimizer.heartbeatInterval
|
||||||
preCnt *= optimizer.heartbeatInterval
|
preTime := preCnt * optimizer.heartbeatInterval
|
||||||
|
totalTime := len(utils) * optimizer.heartbeatInterval
|
||||||
|
|
||||||
predict := optimizer.predicts[jobName]
|
predict := optimizer.predicts[jobName]
|
||||||
predict.Pre = ((predict.Pre * predict.Version) + preCnt) / (predict.Version + 1)
|
predict.Pre = ((predict.Pre * predict.Version) + preTime) / (predict.Version + 1)
|
||||||
predict.Post = ((predict.Post * predict.Version) + postCnt) / (predict.Version + 1)
|
predict.Post = ((predict.Post * predict.Version) + postTime) / (predict.Version + 1)
|
||||||
predict.Total = ((predict.Total * predict.Version) + len(utils)) / (predict.Version + 1)
|
predict.Total = ((predict.Total * predict.Version) + totalTime) / (predict.Version + 1)
|
||||||
predict.Main = predict.Total - predict.Pre - predict.Post
|
predict.Main = predict.Total - predict.Pre - predict.Post
|
||||||
if predict.Main < 0 {
|
if predict.Main < 0 {
|
||||||
predict.Main = 0
|
predict.Main = 0
|
||||||
|
|||||||
@@ -313,5 +313,6 @@ func (pool *ResourcePool) pickNode(nodes []*NodeStatus) *NodeStatus {
|
|||||||
|
|
||||||
/* sort */
|
/* sort */
|
||||||
|
|
||||||
|
|
||||||
return nodes[0]
|
return nodes[0]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user