1
0
mirror of https://github.com/newnius/YAO-scheduler.git synced 2025-06-07 14:21:55 +00:00
This commit is contained in:
Newnius 2020-04-30 18:50:50 +08:00
parent ff0c10647b
commit 713fbdc4e7
3 changed files with 18 additions and 1 deletions

View File

@ -48,4 +48,16 @@ GPU is occupied by which job(s)
**getAllGPUUtils**
```
?action=debug_get_gpu_utils
```
**SetShareRatio**
```
?action=debug_update_enable_share_ratio&ratio=0.75
```
**SetPreScheduleRatio**
```
?action=debug_update_enable_pre_schedule_ratio&ratio=0.95
```

View File

@ -108,7 +108,7 @@ func (optimizer *Optimizer) predictTime(job string) (*OptimizerJobExecutionTime,
if len(str) == 2 {
jobName := str[0]
if _, ok := optimizer.predicts[jobName]; ok {
return optimizer.predicts[job], optimizer.predicts[jobName].Version >= 5
return optimizer.predicts[jobName], optimizer.predicts[jobName].Version >= 5
}
}
return &OptimizerJobExecutionTime{}, false

View File

@ -281,6 +281,11 @@ func (scheduler *SchedulerFair) AcquireResource(job Job, task Task) NodeStatus {
/* third round, find gpu to be released */
if len(candidates) == 0 && len(job.Tasks) == 1 && task.NumberGPU == 1 && scheduler.enablePreSchedule {
estimate, valid := InstanceOfOptimizer().predictTime(job.Name)
log.Info(pool.TotalGPU)
log.Info(estimate, valid)
log.Info(scheduler.UsingGPU)
if pool.TotalGPU != 0 && float64(scheduler.UsingGPU)/float64(pool.TotalGPU) >= scheduler.enablePreScheduleRatio && valid {
allocationType = 3
for i := 0; i < pool.poolsCount; i++ {