Distributed and Parallel Databases · 2020 · 16 citations · 25 references
ComputingComputer ScienceComputer SystemsCluster ComputingPredictive AnalyticsSchedulingCompute Resource ManagementJob SchedulingPerformance ModelingResource SchedulingTask ModelsWorkload SchedulingBlack Box ModelingCloud DeploymentExecution Time EstimationExecution Time PredictionGrey-box ModelingPerformance PredictionRuntime AnalysisWhite Box Modeling
Abstract Apache Spark jobs are often characterized by processing huge data sets and, therefore, require runtimes in the range of minutes to hours. Thus, being able to predict the runtime of such jobs would be useful not only to know when the job will finish, but also for scheduling purposes, to estimate monetary costs for cloud deployment, or to determine an appropriate cluster configuration, such as the number of nodes. However, predicting Spark job runtimes is much more challenging than for standard database queries: cluster configuration and parameters have a significant performance impact and jobs usually contain a lot of user-defined code making it difficult to estimate cardinalities and execution costs. In this paper, we present a gray-box modeling methodology for runtime prediction of Apache Spark jobs. Our approach comprises two steps: first, a white-box model for predicting the cardinalities of the input RDDs of each operator is built based on prior knowledge about the behavior and application parameters such as applied filters data, number of iterations, etc. In the second step, a black-box model for each task constructed by monitoring runtime metrics while varying allocated resources and input RDD cardinalities is used. We further show how to use this gray-box approach not only for predicting the runtime of a given job, but also as part of a decision model for reusing intermediate cached results of Spark jobs. Our methodology is validated with experimental evaluation showing a highly accurate prediction of the actual job runtime and a performance improvement if intermediate results can be reused.
25
Access path selection in a relational database management system
Patricia G. Selinger, M. M. Astrahan, Donald D. Chamberlin et al. · 1979 · 2.2K citations
Answering queries using views: A survey
Alon Halevy · The VLDB Journal · 2001 · 1.5K citations
Implementing data cubes efficiently
Venky Harinarayan, Anand Rajaraman, Jeffrey D. Ullman · 1996 · 1.2K citations
Starfish: A Self-tuning System for Big Data Analytics.
Herodotos Herodotou, Harold Lim, Gang Luo et al. · 2011 · 573 citations
Complexity of answering queries using materialized views
Serge Abiteboul, Oliver M. Duschka · 1998 · 485 citations · Full text