DocumentCode
3369921
Title
Machine learning based online performance prediction for runtime parallelization and task scheduling
Author
Li, Jiangtian ; Ma, Xiaosong ; Singh, Karan ; Schulz, Martin ; De Supinski, Bronis R. ; McKee, Sally A.
Author_Institution
Dept. of Comput. Sci., North Carolina State Univ., Raleigh, NC
fYear
2009
fDate
26-28 April 2009
Firstpage
89
Lastpage
100
Abstract
With the emerging many-core paradigm, parallel programming must extend beyond its traditional realm of scientific applications. Converting existing sequential applications as well as developing next-generation software requires assistance from hardware, compilers and runtime systems to exploit parallelism transparently within applications. These systems must decompose applications into tasks that can be executed in parallel and then schedule those tasks to minimize load imbalance. However, many systems lack a priori knowledge about the execution time of all tasks to perform effective load balancing with low scheduling overhead. In this paper, we approach this fundamental problem using machine learning techniques first to generate performance models for all tasks and then applying those models to perform automatic performance prediction across program executions. We also extend an existing scheduling algorithm to use generated task cost estimates for online task partitioning and scheduling. We implement the above techniques in the pR framework, which transparently parallelizes scripts in the popular R language, and evaluate their performance and overhead with both a real-world application and a large number of synthetic representative test scripts. Our experimental results show that our proposed approach significantly improves task partitioning and scheduling, with maximum improvements of 21.8%, 40.3% and 22.1% and average improvements of 15.9%, 16.9% and 4.2% for LMM (a real R application) and synthetic test cases with independent and dependent tasks, respectively.
Keywords
authoring languages; learning (artificial intelligence); parallel programming; scheduling; task analysis; R language; automatic performance prediction; machine learning; next-generation software; online performance prediction; online task partitioning; pR framework; parallel programming; program execution; runtime parallelization; scripting language; task cost estimates; task scheduling; Application software; Costs; Hardware; Load management; Machine learning; Parallel programming; Predictive models; Runtime; Scheduling algorithm; Testing; Artificial Neural Networks; Automatic Task Scheduling; Performance Prediction; Scripting Languages;
fLanguage
English
Publisher
ieee
Conference_Titel
Performance Analysis of Systems and Software, 2009. ISPASS 2009. IEEE International Symposium on
Conference_Location
Boston, MA
Print_ISBN
978-1-4244-4184-6
Type
conf
DOI
10.1109/ISPASS.2009.4919641
Filename
4919641
Link To Document