From ccdc09bbf7d0f52570c31dbbed7c5842949a0b24 Mon Sep 17 00:00:00 2001 From: Newnius Date: Thu, 9 Jul 2020 21:37:51 +0800 Subject: [PATCH] support update share_max_utilization at runtime --- README.md | 5 +++++ src/configuration.go | 6 ++++++ src/main.go | 8 ++++++++ src/resource_pool.go | 2 +- 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f8d2754..7676a27 100644 --- a/README.md +++ b/README.md @@ -112,4 +112,9 @@ GPU is occupied by which job(s) **UpdateStrategy** ``` ?aciotn=allocator_update_strategy&strategy=mixed +``` + +**UpdateShareMaxUtilization** +``` +?aciotn=conf_set_share_max_utilization&util=1.5 ``` \ No newline at end of file diff --git a/src/configuration.go b/src/configuration.go index 443643a..02ef524 100644 --- a/src/configuration.go +++ b/src/configuration.go @@ -145,6 +145,12 @@ func (config *Configuration) SetPreScheduleRatio(ratio float64) bool { return true } +func (config *Configuration) SetShareMaxUtilization(value float64) bool { + config.ShareMaxUtilization = value + log.Info("ShareMaxUtilization is set to ", value) + return true +} + func (config *Configuration) Dump() map[string]interface{} { res := map[string]interface{}{} res["KafkaBrokers"] = config.KafkaBrokers diff --git a/src/main.go b/src/main.go index c478a3c..2fee39b 100644 --- a/src/main.go +++ b/src/main.go @@ -358,6 +358,14 @@ func serverAPI(w http.ResponseWriter, r *http.Request) { w.Write(js) break + case "conf_set_share_max_utilization": + log.Debug("conf_set_share_max_utilization") + util, _ := strconv.ParseFloat(r.URL.Query().Get("util"), 32) + js, _ := json.Marshal(InstanceOfConfiguration().SetShareMaxUtilization(util)) + w.Header().Set("Content-Type", "application/json") + w.Write(js) + break + default: http.Error(w, "Not Found", http.StatusNotFound) break diff --git a/src/resource_pool.go b/src/resource_pool.go index 4073f74..7253f67 100644 --- a/src/resource_pool.go +++ b/src/resource_pool.go @@ -194,7 +194,7 @@ func (pool *ResourcePool) checkDeadNodes() { delete(pool.versions, k) pool.versionsMu.Unlock() nodesToDel = append(nodesToDel, k) - log.Warn(" node ", k, " is offline") + log.Warn("node ", k, " is offline") } } for _, v := range nodesToDel {