A collaborative filtering based approach to performance prediction for parallel applications

Parallel application jobs account for a large population in current domain of cloud computing and Big Data processing services, whose execution time can be varied greatly with different runtime configurations. For efficiently scheduling resources and services to run parallel jobs, the ability to quickly and accurately estimate the performance of parallel applications is critical. Analytic predictive models based on traditional modeling techniques such as queuing systems are difficult to construct for parallel applications, due to the high complexity lying in the structures of parallel application models. Furthermore, due to the heterogeneity of resources computing capacities with a scalable computing environment such as a cloud computing platform, performance analytic and prediction becomes increasingly difficult for parallel applications. To address this problem, in this paper we propose a collaborative filtering based approach to quickly and accurately predict the execution time of parallel applications running in heterogenous resources. Particularly, we use the widely used Apache Spark platform as the running framework for parallel applications, and propose a bounds-based performance model to improve the prediction accuracy. Through extensive simulations and experiments on real Spark clusters and two large-scale machine learning applications as well as the simple but classic WordCount sample application, we show that the proposed Collaborative Filtering based approach and bounds-based performance model can accurately estimate the performance of parallel applications.

[1]  Yuichi Inadomi,et al.  Performance prediction of large-scale parallell system and application using macro-level simulation , 2008, 2008 SC - International Conference for High Performance Computing, Networking, Storage and Analysis.

[2]  Boon Thau Loo,et al.  Performance Modeling of MapReduce Jobs in Heterogeneous Cloud Environments , 2013, 2013 IEEE Sixth International Conference on Cloud Computing.

[3]  Hiranya Jayathilaka,et al.  Response time service level agreements for cloud-hosted web applications , 2015, SoCC.

[4]  Mauro Iacono,et al.  Performance evaluation of NoSQL big-data applications using multi-formalism models , 2014, Future Gener. Comput. Syst..

[5]  Pascal Poupart,et al.  A bayesian approach to online performance modeling for database appliances using gaussian models , 2011, ICAC '11.

[6]  Roy H. Campbell,et al.  ARIA: automatic resource inference and allocation for mapreduce environments , 2011, ICAC '11.

[7]  Scott Shenker,et al.  Spark: Cluster Computing with Working Sets , 2010, HotCloud.

[8]  Sally A. McKee,et al.  An Approach to Performance Prediction for Parallel Applications , 2005, Euro-Par.

[9]  Sven Apel,et al.  Cost-Efficient Sampling for Performance Prediction of Configurable Systems (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[10]  Eamonn J. Keogh,et al.  Time series shapelets: a new primitive for data mining , 2009, KDD.

[11]  Yuichi Inadomi,et al.  Performance prediction of large-scale parallell system and application using macro-level simulation , 2008, HiPC 2008.

[12]  Mark Last,et al.  Improving data mining utility with projective sampling , 2009, KDD.