Black or White? How to Develop an AutoTuner for Memory-based Analytics [Extended Version]

02/26/2020
by   Mayuresh Kunjir, et al.
0

There is a lot of interest today in building autonomous (or, self-driving) data processing systems. An emerging school of thought is to leverage AI-driven "black box" algorithms for this purpose. In this paper, we present a contrarian view. We study the problem of autotuning the memory allocation for applications running on modern distributed data processing systems. For this problem, we show that an empirically-driven "white-box" algorithm, called RelM, that we have developed provides a close-to-optimal tuning at a fraction of the overheads compared to state-of-the-art AI-driven "black box" algorithms, namely, Bayesian Optimization (BO) and Deep Distributed Policy Gradient (DDPG). The main reason for RelM's superior performance is that the memory management in modern memory-based data analytics systems is an interplay of algorithms at multiple levels: (i) at the resource-management level across various containers allocated by resource managers like Kubernetes and YARN, (ii) at the container level among the OS, pods, and processes such as the Java Virtual Machine (JVM), (iii) at the application level for caching, aggregation, data shuffles, and application data structures, and (iv) at the JVM level across various pools such as the Young and Old Generation. RelM understands these interactions and uses them in building an analytical solution to autotune the memory management knobs. In another contribution, called GBO, we use the RelM's analytical models to speed up Bayesian Optimization. Through an evaluation based on Apache Spark, we showcase that RelM's recommendations are significantly better than what commonly-used Spark deployments provide, and are close to the ones obtained by brute-force exploration; while GBO provides optimality guarantees for a higher, but still significantly lower compared to the state-of-the-art AI-driven policies, cost overhead.

READ FULL TEXT

page 2

page 7

page 16

research
06/08/2023

Bayesian Optimization of Expensive Nested Grey-Box Functions

We consider the problem of optimizing a grey-box objective function, i.e...
research
06/06/2023

Selecting Efficient Cluster Resources for Data Analytics: When and How to Allocate for In-Memory Processing?

Distributed dataflow systems such as Apache Spark or Apache Flink enable...
research
06/24/2022

Black Box Optimization Using QUBO and the Cross Entropy Method

Black box optimization (BBO) can be used to optimize functions whose ana...
research
06/04/2020

Bayesian optimization for modular black-box systems with switching costs

Most existing black-box optimization methods assume that all variables i...
research
08/18/2018

Pangea: Monolithic Distributed Storage for Data Analytics

Storage and memory systems for modern data analytics are heavily layered...
research
05/06/2019

ConfigCrusher: White-Box Performance Analysis for Configurable Systems

In configurable software systems, stakeholders are often interested in k...
research
01/15/2019

Data-driven Modelling of Smart Building Ventilation Subsystem

Considering the advances in building monitoring and control through netw...

Please sign up or login with your details

Forgot password? Click here to reset