mirror of
https://github.com/newnius/YAO-scheduler.git
synced 2025-06-06 22:01:55 +00:00
update req predict
This commit is contained in:
parent
f8ea09f3c6
commit
4c657e698e
10
src/main.go
10
src/main.go
@ -42,6 +42,7 @@ func serverAPI(w http.ResponseWriter, r *http.Request) {
|
||||
} else {
|
||||
for i := range job.Tasks {
|
||||
job.Tasks[i].ID = job.Name + ":" + job.Tasks[i].Name
|
||||
job.Tasks[i].Job = job.Name
|
||||
}
|
||||
scheduler.Schedule(job)
|
||||
}
|
||||
@ -60,6 +61,15 @@ func serverAPI(w http.ResponseWriter, r *http.Request) {
|
||||
w.Write(js)
|
||||
break
|
||||
|
||||
case "job_predict_req":
|
||||
log.Debug("job_predict_req")
|
||||
jobName := r.URL.Query().Get("name")
|
||||
cmd := r.URL.Query().Get("cmd")
|
||||
js, _ := json.Marshal(InstanceOfOptimizer().PredictReq(jobName, cmd))
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.Write(js)
|
||||
break
|
||||
|
||||
case "job_stop":
|
||||
log.Debug("job_stop")
|
||||
js, _ := json.Marshal(scheduler.Stop(string(r.PostFormValue("id"))))
|
||||
|
@ -81,3 +81,13 @@ type MsgOptimizerPredict struct {
|
||||
Main int `json:"main"`
|
||||
Post int `json:"post"`
|
||||
}
|
||||
|
||||
type MsgJobReq struct {
|
||||
Code int `json:"code"`
|
||||
Error string `json:"error"`
|
||||
CPU int `json:"cpu"`
|
||||
Mem int `json:"mem"`
|
||||
GPU int `json:"gpu"`
|
||||
MemGPU int `json:"cpu"`
|
||||
BW int `json:"bw"`
|
||||
}
|
||||
|
@ -296,3 +296,7 @@ func (optimizer *Optimizer) predict(job string, seq int) (OptimizerJobExecutionT
|
||||
}
|
||||
return OptimizerJobExecutionTime{}, false
|
||||
}
|
||||
|
||||
func (optimizer *Optimizer) PredictReq(jobName string, cmd string) MsgJobReq {
|
||||
return MsgJobReq{CPU: 4, Mem: 4096, GPU: 1, MemGPU: 8192, BW: 150}
|
||||
}
|
||||
|
@ -45,6 +45,10 @@ func (jobs JobList) Less(i, j int) bool {
|
||||
if jobs[i].Priority != jobs[j].Priority {
|
||||
return jobs[i].Priority < jobs[j].Priority
|
||||
}
|
||||
/* lower jobs, which unable to be scheduled */
|
||||
if InstanceOfResourcePool().TotalGPU < jobs[i].NumberGPU {
|
||||
return true
|
||||
}
|
||||
return jobs[i].BasePriority/float64(jobs[i].NumberGPU) < jobs[j].BasePriority/float64(jobs[j].NumberGPU)
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user