Autonomic Architecture for Big Data Performance Optimization

Mikhail Genkin,Frank Dehne,Anousheh Shahmirza,Pablo Navarro,Siyu Zhou
2023-03-18
Abstract:The big data software stack based on Apache Spark and Hadoop has become mission critical in many enterprises. Performance of Spark and Hadoop jobs depends on a large number of configuration settings. Manual tuning is expensive and brittle. There have been prior efforts to develop on-line and off-line automatic tuning approaches to make the big data stack less dependent on manual tuning. These, however, demonstrated only modest performance improvements with very simple, single-user workloads on small data sets. This paper presents KERMIT - the autonomic architecture for big data capable of automatically tuning Apache Spark and Hadoop on-line, and achieving performance results 30% faster than rule-of-thumb tuning by a human administrator and up to 92% as fast as the fastest possible tuning established by performing an exhaustive search of the tuning parameter space. KERMIT can detect important workload changes with up to 99% accuracy, and predict future workload types with up to 96% accuracy. It is capable of identifying and classifying complex multi-user workloads without being explicitly trained on examples of these workloads. It does not rely on the past workload history to predict the future workload classes and their associated performance. KERMIT can identify and learn new workload classes, and adapt to workload drift, without human intervention.
Distributed, Parallel, and Cluster Computing,Artificial Intelligence
What problem does this paper attempt to address?
### Problems the Paper Aims to Solve This paper aims to address the issue of configuration optimization for Apache Spark and Hadoop in big data processing. Specifically, the paper proposes a self-managing architecture named KERMIT, which automatically adjusts the performance parameters of these frameworks to achieve better performance optimization. #### Background and Challenges - **Background**: In many enterprises, the big data software stack based on Apache Spark and Hadoop has become mission-critical. However, the performance of these frameworks is highly dependent on a large number of configuration settings, and manual tuning is not only expensive but also prone to errors. - **Challenges**: Existing automatic tuning methods show limited performance improvement only on simple, single-user workloads and are generally applicable only to small datasets. #### Solution - **KERMIT Architecture**: This architecture can automatically adjust the configuration parameters of Spark and Hadoop online, achieving up to 30% performance improvement in real workloads and approaching 92.5% of the optimal tuning (obtained through exhaustive search). - **Adaptive Capability**: KERMIT can detect significant workload changes and predict future workload types with up to 99% accuracy. It can identify and classify complex multi-user workloads and adapt to new workload categories without explicit training. #### Core Contributions - Proposed the first self-managing architecture specifically for big data workloads. - Combined multiple machine learning techniques to build a complete adaptive feedback loop system. - Achieved automatic identification and adaptation to new workload types without human intervention. Through this architecture, researchers hope to reduce the operational costs of big data systems and significantly improve user experience.