160 likes | 265 Views
Progress Report. 2014/02/12. Previous in IPDPS’14. Energy-efficient task scheduling on per-core DVFS architecture Batch mode Tasks with arrival time = 0. Mixed mode interactive + computation + background. Modification in ICPP’14.
E N D
Progress Report 2014/02/12
Previous in IPDPS’14 • Energy-efficient task scheduling on per-core DVFS architecture • Batch mode • Tasks with arrival time = 0. • Mixed mode • interactive + computation + background
Modification in ICPP’14 • Energy-efficient task scheduling on per-core DVFS architecture • Batch mode • Tasks with arrival time = 0. • Mixed mode • interactive + computation + background • Online mode • interactive + non-interactive
Batch Mode • For tasks without deadline • Single core • There exists an optimal solution with the minimum cost in which the tasks are in non-decreasing order of the number of cycles. • Multi-core • A greedy scheduling that assigns heavier tasks to core with smaller C’ j(k’) among all cores gives the minimum cost for a heterogeneous multi-core system. • C’ j(k’) is the coefficient of position k’ on core j.
Online Mode • Assign tasks to cores and decide the processing speeds which minimize the total cost in an online fashion. • Tasks • Can arrive at any time • Interactive tasks • Higher priority. • Finish as soon as possible. • Non-interactive tasks • No deadline constraint.
Heuristic • If the new task is an interactive task • Choose a core, preempt current task, execute this task with highest frequency, resume the preempted task after finishing this task. • If the new task is a non-interactive task • Insert this task into queue
Heuristic(Cont.) • According to the finding in batch mode, we can always rearrange tasks every time a new task arrives to achieve minimal cost. • “Assigns heavier tasks to core with smaller C’ j(k’) among all cores ” • However, there will be extra computation costs and migration costs.
Least Extra Cost • Instead of rearrange every task, we assign the new task to one specific core. • Choose the core with the least extra cost incurred by inserting this task. • “There exists an optimal solution with the minimum cost in which the tasks are in non-decreasing order of the number of cycles.” • Binary search for position x.
Complexity • Assume there N tasks already in the system. • There are m cores, each with ni tasks in queue. • Σni = N • For each corei • Binary search: ㏒(ni) • Compute Ciinc:ni
Homogeneous Multi-core • Recall that in batch mode • “A round-robin scheduling that assigns heavier tasks to smaller k’ gives the minimum cost for a homogeneous multi-core system.” • Optimal scheduling plan. • Least Extra Cost will produce optimal scheduling plan after inserting a new task to an optimal scheduling plan in homogeneous multi-core.
Example L5<Ln<L6 L2 L5 L8 L3 Ln L8 L1 L4 L7 Ln L2 L5 L7 L3 L6 L1 L4 L6 L2 L5 Ln L8 L2 L5 L8 L2 L5 L8 Min( , , ) L1 L4 L7 L1 L4 Ln L7 L1 L4 L7 L3 L6 L3 L6 L3 Ln L6
Counterexample L5<Ln<L6 L2 L3 L8 L3 L4 L8 L1 L4 L7 Ln L2 L5 L7 L5 L6 L1 Ln L6 L2 L3 Ln L8 L2 L3 L8 L2 L3 L8 Min( , , ) L1 L4 L7 L1 L4 Ln L7 L1 L4 L7 L5 L6 L5 L6 L5 Ln L6
Starvation • However, sorting tasks in non-decreasing order of the number of cycles may results in starvation for larger tasks. • One solution is that after the waiting time of a task exceeds a threshold, increase the priority of that task so that it can preempt the current task. • Slightly increasing the total cost.
Next • Experiment • Prepare the paper for ICPP’14.