diff --git a/def/taskUtils.go b/def/taskUtils.go index f02342b..2b56be3 100644 --- a/def/taskUtils.go +++ b/def/taskUtils.go @@ -41,7 +41,9 @@ func ClassifyTasks(tasks []Task, numberOfClusters int) []TaskCluster { func (tc TasksToClassify) classify(numberOfClusters int, taskObservation func(task Task) []float64) []TaskCluster { clusters := make(map[int][]Task) observations := getObservations(tc, taskObservation) - // TODO: Make the number rounds configurable based on the size of the workload + // TODO: Make the max number of rounds configurable based on the size of the workload + // The max number of rounds (currently defaulted to 100) is the number of iterations performed to obtain + // distinct clusters. When the data size becomes very large, we would need more iterations for clustering. if trained, centroids := gokmeans.Train(observations, numberOfClusters, 100); trained { for i := 0; i < len(observations); i++ { observation := observations[i] @@ -66,7 +68,7 @@ func getObservations(tasks []Task, taskObservation func(task Task) []float64) [] } // Size tasks based on the power consumption -// TODO: Size the cluster in a better way just taking an aggregate of the watts resource requirement. +// TODO: Size the cluster in a better way other than just taking an aggregate of the watts resource requirement. func clusterSize(tasks []Task, taskObservation func(task Task) []float64) float64 { size := 0.0 for _, task := range tasks {