Performance prediction of parallel applications: a systematic literature review

  • PDF / 1,874,364 Bytes
  • 42 Pages / 439.37 x 666.142 pts Page_size
  • 1 Downloads / 274 Views

DOWNLOAD

REPORT


Performance prediction of parallel applications: a systematic literature review Jesus Flores‑Contreras1 · Hector A. Duran‑Limon1   · Arturo Chavoya1 · Sergio H. Almanza‑Ruiz1

© Springer Science+Business Media, LLC, part of Springer Nature 2020

Abstract Different techniques for estimating the execution time of parallel applications have been studied for the last 25 years. These approaches have proposed different methods for predicting the performance behaviour of applications. Most of these methods rely on analysing one or more of the following aspects: system workload, application structure, platform system, and the computing resources that the application needs to perform its operations. These elements are used and applied by different methods such as analytic and non-analytic methods. However, no wide-ranging survey of these approaches exists at the time of writing. This paper presents a systematic review of performance prediction methods for parallel applications, which were published in the open literature during the period 2005–2020. We define a classification framework to categorise the reviewed approaches. In addition, we identify some directions and trends in performance prediction as well as some unsolved issues. Keywords  Systematic literature review · Performance prediction of parallel applications · Prediction of execution time · Analytic and non-analytic methods

* Hector A. Duran‑Limon [email protected] Jesus Flores‑Contreras [email protected] Arturo Chavoya [email protected] Sergio H. Almanza‑Ruiz [email protected] 1



University of Guadalajara, CUCEA, Jalisco, Mexico

13

Vol.:(0123456789)



J. Flores‑Contreras et al.

1 Introduction Different techniques for estimating the execution time of parallel applications have been studied in the last 25 years; some of these proposals are based on making an application characterisation in order to generate a graphical representation of the application structure. For example, Mak in [1] developed a method that generates a graphical representation of the application structure, which is used to obtain a polynomial model from the graph; this polynomial equation is used to determine the application execution time. In [2], Mielke et  al. used Petri Net graphs to measure the computation speed, performance capacity, and execution time, and in [3], Som et al. employed a data flow graph model to describe the execution time of processing algorithms. These papers are an example of the methods used for performance prediction at an early stage. The performance prediction field has grown over the years due to its usefulness in different areas. Kundu stated in [4] that performance prediction models “have the ability to predict application performance for a given set of hardware resources and are used for capacity planning and resource management”. Therefore, these models can be used to estimate the execution time of an application taking into account the amount of resources in the system. Performance prediction methods also provide insight