mirror of
https://github.com/newnius/YAO-scheduler.git
synced 2025-12-15 08:16:43 +00:00
update
This commit is contained in:
@@ -89,6 +89,8 @@ func (optimizer *Optimizer) feed(job string, utils []int) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (optimizer *Optimizer) predictUtilGPU(job string) (int, bool) {
|
func (optimizer *Optimizer) predictUtilGPU(job string) (int, bool) {
|
||||||
|
log.Info("predictUtilGPU, ", job)
|
||||||
|
return 49, true
|
||||||
if _, err := optimizer.jobUtilsGPU[job]; err {
|
if _, err := optimizer.jobUtilsGPU[job]; err {
|
||||||
return 100, false
|
return 100, false
|
||||||
}
|
}
|
||||||
@@ -99,6 +101,7 @@ func (optimizer *Optimizer) predictUtilGPU(job string) (int, bool) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (optimizer *Optimizer) predictTime(job string) (OptimizerJobExecutionTime, bool) {
|
func (optimizer *Optimizer) predictTime(job string) (OptimizerJobExecutionTime, bool) {
|
||||||
|
log.Info("predictTime,", job)
|
||||||
if _, err := optimizer.predicts[job]; err {
|
if _, err := optimizer.predicts[job]; err {
|
||||||
return OptimizerJobExecutionTime{}, false
|
return OptimizerJobExecutionTime{}, false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ type SchedulerFair struct {
|
|||||||
resourceAllocationsMu sync.Mutex
|
resourceAllocationsMu sync.Mutex
|
||||||
enabled bool
|
enabled bool
|
||||||
parallelism int
|
parallelism int
|
||||||
|
enableShare bool
|
||||||
|
enablePreSchedule bool
|
||||||
}
|
}
|
||||||
|
|
||||||
type FairJobSorter []Job
|
type FairJobSorter []Job
|
||||||
@@ -51,6 +53,8 @@ func (scheduler *SchedulerFair) Start() {
|
|||||||
scheduler.resourceAllocations = map[string]*ResourceCount{}
|
scheduler.resourceAllocations = map[string]*ResourceCount{}
|
||||||
scheduler.enabled = true
|
scheduler.enabled = true
|
||||||
scheduler.schedulingJobsCnt = 0
|
scheduler.schedulingJobsCnt = 0
|
||||||
|
scheduler.enableShare = true
|
||||||
|
scheduler.enablePreSchedule = true
|
||||||
|
|
||||||
scheduler.parallelism = 1
|
scheduler.parallelism = 1
|
||||||
|
|
||||||
@@ -213,10 +217,9 @@ func (scheduler *SchedulerFair) AcquireResource(job Job, task Task) NodeStatus {
|
|||||||
log.Info(candidates)
|
log.Info(candidates)
|
||||||
|
|
||||||
/* second round, find sharable gpu */
|
/* second round, find sharable gpu */
|
||||||
if len(candidates) == 0 {
|
if len(candidates) == 0 && scheduler.enableShare {
|
||||||
// check sharable
|
// check sharable
|
||||||
allocationType = 2
|
allocationType = 2
|
||||||
log.Info("dasdsa")
|
|
||||||
if util, valid := InstanceOfOptimizer().predictUtilGPU(job.Name); valid {
|
if util, valid := InstanceOfOptimizer().predictUtilGPU(job.Name); valid {
|
||||||
|
|
||||||
for i := 0; i < pool.poolsCount; i++ {
|
for i := 0; i < pool.poolsCount; i++ {
|
||||||
|
|||||||
Reference in New Issue
Block a user