Achilleas Tzenetopoulos 5 년 전
부모
커밋
169eb6024c

+ 1 - 0
kubernetes-v1.15.4/go.sum

@@ -240,6 +240,7 @@ github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d h1:/WZ
 github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
 github.com/iwita/kube-scheduler v0.0.0-20200501172708-5cd294e6450f h1:UP5mM/jStiTwzQu4FHNxRx4SUk1SdxMo9o80dBMLaWc=
 github.com/iwita/kube-scheduler v0.0.0-20200501172708-5cd294e6450f/go.mod h1:aRvokpQlxArgPHMKU1uXJ4p7cj1EnASm4OK880rgfqc=
+github.com/iwita/kube-scheduler v0.0.0-20200502195604-68ad034230df h1:8S0AMdFho4Qf8Ei1ozPgHUVBAQQo4SHAbeTbXzAke3U=
 github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM=
 github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k=
 github.com/jonboulle/clockwork v0.0.0-20141017032234-72f9bd7c4e0c h1:XpRROA6ssPlTwJI8/pH+61uieOkcJhmAFz25cu0B94Y=

+ 1 - 2
kubernetes-v1.15.4/pkg/scheduler/algorithm/priorities/custom_resource_allocation.go

@@ -104,8 +104,7 @@ func customScoreInfluxDB(metrics []string, uuid string, socket,
 		klog.Infof("Error while executing the query: %v", err.Error())
 		return nil, err
 	}
-	//klog.Infof("Response: %v, UUID: %v, socket: %v", response, uuid, socket)
-	//klog.Infof("noop")
+
 	// Calculate the average for the metrics provided
 	return calculateWeightedAverage(response, numberOfRows, len(metrics))
 }

+ 2 - 1
kubernetes-v1.15.4/pkg/scheduler/core/generic_scheduler.go

@@ -330,10 +330,11 @@ func (g *genericScheduler) Schedule(pod *v1.Pod, nodeLister algorithm.NodeLister
 	podName := pod.ObjectMeta.Name
 
 	for _, n := range socketNodes {
+		win := n == host
 		klog.Infof("Update Score for Node %v, using App: %v", n, podName)
 		klog.Infof("App metrics: %v", priorities.Applications[podName].Metrics)
 		numCores := len(priorities.Cores[n])
-		customcache.LabCache.AddAppMetrics(priorities.Applications[podName].Metrics, n, numCores)
+		customcache.LabCache.AddAppMetrics(priorities.Applications[podName].Metrics, n, numCores, win)
 	}
 
 	// -----------------------------------------------------

+ 6 - 4
kubernetes-v1.15.4/pkg/scheduler/customcache/cache.go

@@ -157,15 +157,17 @@ func (c *MlabCache) UpdateCache(input map[string]float64, c6res float64, nodenam
 	return nil
 }
 
-func (c *MlabCache) AddAppMetrics(app map[string]float64, nodename string, numCores int) {
+func (c *MlabCache) AddAppMetrics(app map[string]float64, nodename string, numCores int, win bool) {
 	c.Mux.Lock()
 	c.Cache[nodename]["mem_read"] += app["mem_read"]
 	c.Cache[nodename]["mem_write"] += app["mem_write"]
 	//TODO
 	// handle c6res addition
-	c.Cache[nodename]["c6res"] -= (1 - app["c6res"]) / float64(100*numCores)
-	if c.Cache[nodename]["c6res"] <= 0 {
-		c.Cache[nodename]["c6res"] = 0.00000001
+	if win {
+		c.Cache[nodename]["c6res"] -= (1 - app["c6res"]) / float64(100*numCores)
+		if c.Cache[nodename]["c6res"] <= 0 {
+			c.Cache[nodename]["c6res"] = 0.00000001
+		}
 	}
 
 	//TODO