From 25bf363d2cacf1770978a080cbe303b4d53ed045 Mon Sep 17 00:00:00 2001 From: Pradyumna Kaushik <pkaushi1@binghamton.edu> Date: Wed, 14 Feb 2018 06:28:59 +0000 Subject: [PATCH] Merged in tasksToScheduleWindow (pull request #5) TasksToScheduleWindow Approved-by: Akash Kothawale <akothaw1@binghamton.edu> --- schedulers/MaxGreedyMins.go | 4 ++++ schedulers/MaxMin.go | 4 ++++ schedulers/bin-packing.go | 4 ++++ schedulers/first-fit.go | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/schedulers/MaxGreedyMins.go b/schedulers/MaxGreedyMins.go index 3a1ef12..b7c03c6 100644 --- a/schedulers/MaxGreedyMins.go +++ b/schedulers/MaxGreedyMins.go @@ -171,6 +171,10 @@ func (s *MaxGreedyMins) ConsumeOffers(spc SchedPolicyContext, driver sched.Sched // Switch scheduling policy only if feature enabled from CLI if baseSchedRef.schedPolSwitchEnabled { + // Need to recompute the schedWindow for the next offer cycle. + // The next scheduling policy will schedule at max schedWindow number of tasks. + baseSchedRef.curSchedWindow = baseSchedRef.schedWindowResStrategy.Apply( + func() interface{} { return baseSchedRef.tasks }) // Switching to a random scheduling policy. // TODO: Switch based on some criteria. index := rand.Intn(len(SchedPolicies)) diff --git a/schedulers/MaxMin.go b/schedulers/MaxMin.go index 6cb59b8..90d533d 100644 --- a/schedulers/MaxMin.go +++ b/schedulers/MaxMin.go @@ -165,6 +165,10 @@ func (s *MaxMin) ConsumeOffers(spc SchedPolicyContext, driver sched.SchedulerDri // Switch scheduling policy only if feature enabled from CLI if baseSchedRef.schedPolSwitchEnabled { + // Need to recompute the schedWindow for the next offer cycle. + // The next scheduling policy will schedule at max schedWindow number of tasks. + baseSchedRef.curSchedWindow = baseSchedRef.schedWindowResStrategy.Apply( + func() interface{} { return baseSchedRef.tasks }) // Switching to a random scheduling policy. // TODO: Switch based on some criteria. index := rand.Intn(len(SchedPolicies)) diff --git a/schedulers/bin-packing.go b/schedulers/bin-packing.go index c39c8b3..02e0067 100644 --- a/schedulers/bin-packing.go +++ b/schedulers/bin-packing.go @@ -115,6 +115,10 @@ func (s *BinPackSortedWatts) ConsumeOffers(spc SchedPolicyContext, driver sched. // Switch scheduling policy only if feature enabled from CLI if baseSchedRef.schedPolSwitchEnabled { + // Need to recompute the schedWindow for the next offer cycle. + // The next scheduling policy will schedule at max schedWindow number of tasks. + baseSchedRef.curSchedWindow = baseSchedRef.schedWindowResStrategy.Apply( + func() interface{} { return baseSchedRef.tasks }) // Switching to a random scheduling policy. // TODO: Switch based on some criteria. index := rand.Intn(len(SchedPolicies)) diff --git a/schedulers/first-fit.go b/schedulers/first-fit.go index 4e9713c..3c21a39 100644 --- a/schedulers/first-fit.go +++ b/schedulers/first-fit.go @@ -101,6 +101,10 @@ func (s *FirstFit) ConsumeOffers(spc SchedPolicyContext, driver sched.SchedulerD // Switch scheduling policy only if feature enabled from CLI if baseSchedRef.schedPolSwitchEnabled { + // Need to recompute the schedWindow for the next offer cycle. + // The next scheduling policy will schedule at max schedWindow number of tasks. + baseSchedRef.curSchedWindow = baseSchedRef.schedWindowResStrategy.Apply( + func() interface{} { return baseSchedRef.tasks }) // Switching to a random scheduling policy. // TODO: Switch based on some criteria. index := rand.Intn(len(SchedPolicies))