# Scheduling Task Dependence Graphs with Variable Task Execution Times onto Heterogeneous Multiprocessors

### Nadathur Rajagopalan Satish, Kaushik Ravindran and Kurt Keutzer

###
EECS Department

University of California, Berkeley

Technical Report No. UCB/EECS-2008-42

April 21, 2008

### http://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-42.pdf

We present a statistical optimization approach for a scheduling a task dependence graph with variable task execution times onto a heterogeneous multiprocessor system. Scheduling methods in the presence of variations typically rely on worst-case timing estimates for hard real-time applications, or average-case analysis for other applications. However, a large class of soft real-time applications require only statistical guarantees on latency and throughput. We present a general statistical model that captures the probability distributions of task execution times as well as the correlations of execution times of different tasks. We use a Monte Carlo based technique to perform makespan analysis of different schedules based on this model. This approach can be used to analyze the variability present in a variety of soft real-time applications, including a H.264 video processing application. We present two scheduling algorithms based on statistical makespan analysis. The first is a heuristic based on a critical path analysis of the task dependence graph. The other is a simulated annealing algorithm using incremental timing analysis. Both algorithms take as input the required statistical guarantee, and can thus be easily re-used for different required guarantees. We show that optimization methods based on statistical analysis show a 25-30% improvement in makespan over methods based on static worst-case analysis.

BibTeX citation:

@techreport{Satish:EECS-2008-42, Author = {Satish, Nadathur Rajagopalan and Ravindran, Kaushik and Keutzer, Kurt}, Title = {Scheduling Task Dependence Graphs with Variable Task Execution Times onto Heterogeneous Multiprocessors}, Institution = {EECS Department, University of California, Berkeley}, Year = {2008}, Month = {Apr}, URL = {http://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-42.html}, Number = {UCB/EECS-2008-42}, Abstract = {We present a statistical optimization approach for a scheduling a task dependence graph with variable task execution times onto a heterogeneous multiprocessor system. Scheduling methods in the presence of variations typically rely on worst-case timing estimates for hard real-time applications, or average-case analysis for other applications. However, a large class of soft real-time applications require only statistical guarantees on latency and throughput. We present a general statistical model that captures the probability distributions of task execution times as well as the correlations of execution times of different tasks. We use a Monte Carlo based technique to perform makespan analysis of different schedules based on this model. This approach can be used to analyze the variability present in a variety of soft real-time applications, including a H.264 video processing application. We present two scheduling algorithms based on statistical makespan analysis. The first is a heuristic based on a critical path analysis of the task dependence graph. The other is a simulated annealing algorithm using incremental timing analysis. Both algorithms take as input the required statistical guarantee, and can thus be easily re-used for different required guarantees. We show that optimization methods based on statistical analysis show a 25-30% improvement in makespan over methods based on static worst-case analysis.} }

EndNote citation:

%0 Report %A Satish, Nadathur Rajagopalan %A Ravindran, Kaushik %A Keutzer, Kurt %T Scheduling Task Dependence Graphs with Variable Task Execution Times onto Heterogeneous Multiprocessors %I EECS Department, University of California, Berkeley %D 2008 %8 April 21 %@ UCB/EECS-2008-42 %U http://www.eecs.berkeley.edu/Pubs/TechRpts/2008/EECS-2008-42.html %F Satish:EECS-2008-42