Get Your Memory Right: The Crispy Resource Allocation Assistant for Large-Scale Data Processing
arXiv:2206.13852 · doi:10.1109/IC2E55432.2022.00014
Abstract
Distributed dataflow systems like Apache Spark and Apache Hadoop enable data-parallel processing of large datasets on clusters. Yet, selecting appropriate computational resources for dataflow jobs -- that neither lead to bottlenecks nor to low resource utilization -- is often challenging, even for expert users such as data engineers. Further, existing automated approaches to resource selection rely on the assumption that a job is recurring to learn from previous runs or to warrant the cost of full test runs to learn from. However, this assumption often does not hold since many jobs are too unique. Therefore, we present Crispy, a method for optimizing data processing cluster configurations based on job profiling runs with small samples of the dataset on just a single machine. Crispy attempts to extrapolate the memory usage for the full dataset to then choose a cluster configuration with enough total memory. In our evaluation on a dataset with 1031 Spark and Hadoop jobs, we see a reduction of job execution costs by 56% compared to the baseline, while on average spending less than ten minutes on profiling runs per job on a consumer-grade laptop.
9 pages, 3 figures, 2 tables, IEEE IC2E 2022
References in corpus (5)
- Tarema: Adaptive Resource Allocation for Scalable Scientific Workflows in Heterogeneous Clusters
- Lotaru: Locally Estimating Runtimes of Scientific Workflow Tasks in Heterogeneous Clusters
- Enel: Context-Aware Dynamic Scaling of Distributed Dataflow Jobs using Graph Propagation
- On the Potential of Execution Traces for Batch Processing Workload Optimization in Public Clouds
- Training Data Reduction for Performance Models of Data Analytics Jobs in the Cloud
Cited by in corpus (6)
- Leveraging Reinforcement Learning for Task Resource Allocation in Scientific Workflows
- Towards Advanced Monitoring for Scientific Workflows
- Macaw: The Machine Learning Magnetometer Calibration Workflow
- Ruya: Memory-Aware Iterative Optimization of Cluster Configurations for Big Data Processing
- Selecting Efficient Cluster Resources for Data Analytics: When and How to Allocate for In-Memory Processing?
- Experimentally Evaluating the Resource Efficiency of Big Data Autoscaling