Litcius/Paper detail

You Only Run Once: Spark Auto-Tuning From a Single Run

David Buchaca, Felipe A. Portella, Carlos H. Ã. Costa, Josep Ll. Berral

2020IEEE Transactions on Network and Service Management27 citationsDOIOpen Access PDF

Abstract

Tuning configurations of Spark jobs is not a trivial task. State-of-the-art auto-tuning systems are based on iteratively running workloads with different configurations. During the optimization process, the relevant features are explored to find good solutions. Many optimizers enhance the time-to-solution using black-box optimization algorithms that do not take into account any information from the Spark workloads. In this article, we present a new method for tuning configurations that uses information from one run of a Spark workload. To achieve good performance, we mine the SparkEventLog that is generated by the Spark engine. This log file contains a large amount of information from the executed application. We use this information to enhance a performance model with low-level features from the workload to be optimized. These features include Spark Actions, Transformations, and Task metrics. This process allows us to obtain application-specific workload information. With this information our system can predict sensible Spark configurations for unseen jobs, given that it has been trained with reasonable coverage of Spark applications. Experiments show that the presented system correctly produces good configurations, while achieving up to 80% speedup with respect to the default Spark configuration, and up to 12x speedup of the time-to-solution with respect to a standard Bayesian Optimization procedure.

Topics & Concepts

SPARK (programming language)Computer scienceSpeedupWorkloadProcess (computing)Bayesian optimizationTask (project management)Black boxDistributed computingParallel computingMachine learningArtificial intelligenceOperating systemEconomicsManagementProgramming languageCloud Computing and Resource ManagementSoftware System Performance and ReliabilityParallel Computing and Optimization Techniques