Abstract

Speculative multithreading (SpMT) is a thread-level automatic parallelization technique that can accelerate sequential programs, especially for irregular applications that are hard to be parallelized by conventional approaches. Thread partition plays a critical role in SpMT. Conventional machine learning-based thread partition approaches applied machine learning to offline guide partition, but could not explicitly explore the law between partition and performance. In this paper, we build a parametric model (Qinling) with a multiple regression method to discover the inherent law between thread partition and performance. The paper firstly extracts unpredictable parameters that determine the performance of thread partition in SpMT; secondly, we build a parametric model Qinling with extracted parameters and speedups, and train Qinling offline, as well as apply it to predict the theoretical speedups of unseen applications. Finally, validation is done. Prophet, which consists of an automatic parallelization compiler and a multi-core simulator, is used to obtain real speedups of the input programs. Olden and SPEC2000 benchmarks are used to train and validate the parametric model. Experiments show that Qinling delivers a good performance to predict speedups of unseen programs, and provides feedback guidance for Prophet to obtain the optimal partition parameters.

Highlights

  • The emergence of the speculative multithreading (SpMT) model [1,2,3,4,5,6] in the last decade has provided significant breakthrough in non-numeric applications

  • dependence count (DDC) is the weighted count of the number of data dependence arcs coming into a basic block from other blocks, while dependence distance (DDD) between two basic blocks B1 and B2 models the maximum time that the instructions in block B2 will stall for instructions in B1 to complete, if B1 and B2 are executed in parallel

  • We have presented and evaluated a parametric model Qinling, in order to explicitly explore the inherent law between thread partition factors and performance

Read more

Summary

Introduction

The emergence of the speculative multithreading (SpMT) model [1,2,3,4,5,6] in the last decade has provided significant breakthrough in non-numeric applications. Khan and Luk et al [24,25] used a statistical machine learning and a fully automatic method, respectively, to map potential parallelisms onto threads in the context of SpMT. In both cases, the benefits of statistical regression are highlighted in the following two aspects. The paper develops a parametric model, namely multiple regression model(Qinling) to explore the inherent law between the influencing factors during thread partition and performance We develop this model on Prophet [29,30] and automatically predict speedups according to partition parameter values of unseen programs. This is achieved by training Qinling offline on a set of training data, which automatically learns inherent law

Definitions
Motivation from Partition Algorithms
Determination of Influencing Factors
SpMT Execution Model
Pre-Computation Slices
Data Dependence Calculation
Deployment
Heuristic rules
Index Variable Setting
Gathering of Statistical Data
Determination of Mathematical Form
Model Parameter Estimation
Validation and Modification
Application of Model
Experiment
Experiment Configuration
Experiment Assumption
Model Building
Speedup Prediction
Feedback Guidance for Prophet
Conclusions
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call