Machine learning based online performance prediction for runtime parallelization and task scheduling

Jiangtian Li, Xiaosong Ma, Karan Singh, Martin Schulz, Bronis De Supinski, Sally A. McKee

Research output: Chapter in Book/Report/Conference proceedingConference contribution

23 Citations (Scopus)

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 realworld 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.

Original languageEnglish
Title of host publicationISPASS 2009 - International Symposium on Performance Analysis of Systems and Software
Pages89-100
Number of pages12
DOIs
Publication statusPublished - 22 Sep 2009
Externally publishedYes
EventInternational Symposium on Performance Analysis of Systems and Software, ISPASS 2009 - Boston, MA, United States
Duration: 26 Apr 200928 Apr 2009

Other

OtherInternational Symposium on Performance Analysis of Systems and Software, ISPASS 2009
CountryUnited States
CityBoston, MA
Period26/4/0928/4/09

Fingerprint

Learning systems
Scheduling
Parallel programming
Scheduling algorithms
Resource allocation
Hardware
Costs

Keywords

  • Artificial Neural Networks
  • Automatic Task Scheduling
  • Performance Prediction
  • Scripting Languages

ASJC Scopus subject areas

  • Information Systems
  • Software

Cite this

Li, J., Ma, X., Singh, K., Schulz, M., De Supinski, B., & McKee, S. A. (2009). Machine learning based online performance prediction for runtime parallelization and task scheduling. In ISPASS 2009 - International Symposium on Performance Analysis of Systems and Software (pp. 89-100). [4919641] https://doi.org/10.1109/ISPASS.2009.4919641

Machine learning based online performance prediction for runtime parallelization and task scheduling. / Li, Jiangtian; Ma, Xiaosong; Singh, Karan; Schulz, Martin; De Supinski, Bronis; McKee, Sally A.

ISPASS 2009 - International Symposium on Performance Analysis of Systems and Software. 2009. p. 89-100 4919641.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Li, J, Ma, X, Singh, K, Schulz, M, De Supinski, B & McKee, SA 2009, Machine learning based online performance prediction for runtime parallelization and task scheduling. in ISPASS 2009 - International Symposium on Performance Analysis of Systems and Software., 4919641, pp. 89-100, International Symposium on Performance Analysis of Systems and Software, ISPASS 2009, Boston, MA, United States, 26/4/09. https://doi.org/10.1109/ISPASS.2009.4919641
Li J, Ma X, Singh K, Schulz M, De Supinski B, McKee SA. Machine learning based online performance prediction for runtime parallelization and task scheduling. In ISPASS 2009 - International Symposium on Performance Analysis of Systems and Software. 2009. p. 89-100. 4919641 https://doi.org/10.1109/ISPASS.2009.4919641
Li, Jiangtian ; Ma, Xiaosong ; Singh, Karan ; Schulz, Martin ; De Supinski, Bronis ; McKee, Sally A. / Machine learning based online performance prediction for runtime parallelization and task scheduling. ISPASS 2009 - International Symposium on Performance Analysis of Systems and Software. 2009. pp. 89-100
@inproceedings{188e072ef1664415a508ced989a5ed04,
title = "Machine learning based online performance prediction for runtime parallelization and task scheduling",
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 realworld 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 = "Artificial Neural Networks, Automatic Task Scheduling, Performance Prediction, Scripting Languages",
author = "Jiangtian Li and Xiaosong Ma and Karan Singh and Martin Schulz and {De Supinski}, Bronis and McKee, {Sally A.}",
year = "2009",
month = "9",
day = "22",
doi = "10.1109/ISPASS.2009.4919641",
language = "English",
isbn = "9781424441846",
pages = "89--100",
booktitle = "ISPASS 2009 - International Symposium on Performance Analysis of Systems and Software",

}

TY - GEN

T1 - Machine learning based online performance prediction for runtime parallelization and task scheduling

AU - Li, Jiangtian

AU - Ma, Xiaosong

AU - Singh, Karan

AU - Schulz, Martin

AU - De Supinski, Bronis

AU - McKee, Sally A.

PY - 2009/9/22

Y1 - 2009/9/22

N2 - 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 realworld 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.

AB - 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 realworld 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.

KW - Artificial Neural Networks

KW - Automatic Task Scheduling

KW - Performance Prediction

KW - Scripting Languages

UR - http://www.scopus.com/inward/record.url?scp=70349185990&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=70349185990&partnerID=8YFLogxK

U2 - 10.1109/ISPASS.2009.4919641

DO - 10.1109/ISPASS.2009.4919641

M3 - Conference contribution

AN - SCOPUS:70349185990

SN - 9781424441846

SP - 89

EP - 100

BT - ISPASS 2009 - International Symposium on Performance Analysis of Systems and Software

ER -