Abstract

Simulation-based performance prediction is cumbersome and time-consuming. An alternative approach is to consider supervised learning as a means of predicting the performance scores of Standard Performance Evaluation Corporation (SPEC) benchmarks. SPEC CPU2017 contains a public dataset of results obtained by executing 43 standardised performance benchmarks organised into 4 suites on various system configurations. This paper analyses the dataset and aims to answer the following questions: I) can we accurately predict the SPEC results based on the configurations provided in the dataset, without having to actually run the benchmarks? II) what are the most important hardware and software features? III) what are the best predictive models and hyperparameters, in terms of prediction error and time? and IV) can we predict the performance of future systems using the past data? We present how to prepare data, select features, tune hyperparameters and evaluate regression models based on Multi-Task Elastic-Net, Decision Tree, Random Forest, and Multi-Layer Perceptron neural networks estimators. Feature selection is performed in three steps: removing zero variance features, removing highly correlated features, and Recursive Feature Elimination based on different feature importance metrics: elastic-net coefficients, tree-based importance measures and Permutation Importance. We select the best models using grid search on the hyperparameter space, and finally, compare and evaluate the performance of the models. We show that tree-based models with the original 29 features provide accurate predictions with an average error of less than 4%. The average error of faster Decision Tree and Random Forest models with 10 features is still below 6% and 5% respectively.

Highlights

  • T HE use of Machine Learning (ML) to improve system design and predict the performance of computer systems is an active research area [1]

  • We use the published performance results of the SPEC CPU2017 public dataset, and develop supervised learning models based on hardware and software features extracted from the systems used in that dataset

  • MLP_lbfgs ranks the features quite differently, but we will see that it provides a significantly better Mean Absolute Error (MAE) compared to MLP_adam in all four suites

Read more

Summary

INTRODUCTION

T HE use of Machine Learning (ML) to improve system design and predict the performance of computer systems is an active research area [1]. We use the published performance results of the SPEC CPU2017 public dataset, and develop supervised learning models based on hardware and software features extracted from the systems used in that dataset. The aim of our study is to build an ML pipeline to develop fast and accurate regression models for performance prediction of SPEC CPU2017, and provide a comprehensive evaluation of the results. Architecture from lscpu Nominal clock frequency of the CPU Maximum clock frequency of the CPU Number of CPU(s) from lscpu Thread(s) per core from lscpu Core(s) per socket from lscpu Scoket(s) from lscpu NUMA node(s) from lscpu L1 data cache in KB L1 instruction cache in KB L2 cache in KB L3 cache in KB Main mem in KB (get it from the M emory field, if there is no /proc/meminf o) Number of memory channels Memory channel’s capacity Memory transfer rate in MT/s Operating System Compiler Compiler parallelism: yes/no File system type Number of OpenMP threads in SPECspeed or benchmark copies in SPECrate

SUSE Linux Enterprise Server
FEATURE SELECTION
MODEL SELECTION
RESULTS AND EVALUATION
VIII. CONCLUSION
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