mirror of
https://github.com/newnius/YAO-scheduler.git
synced 2025-06-07 14:21:55 +00:00
update GA
This commit is contained in:
parent
d35e0a57d6
commit
1a5172cdba
@ -78,9 +78,9 @@ func (X Allocation) Mutate(rng *rand.Rand) {
|
||||
|
||||
//fmt.Println(tasks)
|
||||
|
||||
/* first-fit */
|
||||
/* random-fit */
|
||||
for _, task := range tasks {
|
||||
if nodeID, ok := firstFit(X, task); ok {
|
||||
if nodeID, ok := randomFit(X, task); ok {
|
||||
X.TasksOnNode[nodeID] = append(X.TasksOnNode[nodeID], task)
|
||||
cnt := task.NumberGPU
|
||||
//log.Info("Add task ", task.Name, " in ", nodeID)
|
||||
@ -213,9 +213,9 @@ func (X Allocation) Crossover(Y eaopt.Genome, rng *rand.Rand) {
|
||||
}
|
||||
X.TasksOnNode[nodeID] = newTasksOnNode
|
||||
|
||||
/* first-fit */
|
||||
/* random-fit */
|
||||
for _, task := range tasks {
|
||||
if nodeID, ok := firstFit(X, task); ok {
|
||||
if nodeID, ok := randomFit(X, task); ok {
|
||||
X.TasksOnNode[nodeID] = append(X.TasksOnNode[nodeID], task)
|
||||
cnt := task.NumberGPU
|
||||
//log.Info("Remove task ", task.Name, " in ", nodeID)
|
||||
|
@ -8,7 +8,7 @@ import (
|
||||
)
|
||||
|
||||
func TgenerateCase() ([]NodeStatus, []Task) {
|
||||
numTask := 4
|
||||
numTask := 6
|
||||
|
||||
var nodes []NodeStatus
|
||||
var tasks []Task
|
||||
@ -29,7 +29,7 @@ func TgenerateCase() ([]NodeStatus, []Task) {
|
||||
}
|
||||
for i := 0; i < numTask; i++ {
|
||||
isPS := false
|
||||
if i < numTask/4 {
|
||||
if i < numTask/3 {
|
||||
isPS = true
|
||||
}
|
||||
task := Task{Name: "task-" + strconv.Itoa(i), IsPS: isPS}
|
||||
|
@ -261,6 +261,7 @@ func (jm *JobManager) status() MsgJobStatus {
|
||||
|
||||
err := spider.do()
|
||||
if err != nil {
|
||||
log.Warn(err)
|
||||
tasksStatus[i] = TaskStatus{Status: "unknown", State: map[string]interface{}{"ExitCode": float64(-1)}}
|
||||
continue
|
||||
}
|
||||
@ -276,6 +277,7 @@ func (jm *JobManager) status() MsgJobStatus {
|
||||
var res MsgTaskStatus
|
||||
err = json.Unmarshal([]byte(string(body)), &res)
|
||||
if err != nil {
|
||||
log.Warn(err)
|
||||
tasksStatus[i] = TaskStatus{Status: "unknown", State: map[string]interface{}{"ExitCode": float64(-1)}}
|
||||
continue
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user