• 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