PerfGuard: Deploying ML-for-Systems without Performance Regressions, Almost!

Modern data processing systems require optimization at massive scale, and using machine learning to optimize these systems (MLfor-systems) has shown promising results. Unfortunately, ML-forsystems is subject to over generalizations that do not capture the large variety of workload patterns, and tend to augment the performance of certain subsets in the workload while regressing performance for others. In this paper, we introduce a performance safeguard system, called PerfGuard, that designs pre-production experiments for deployingML-for-systems. Instead of searching the entire space of query plans (a well-known, intractable problem), we focus on query plan deltas (a significantly smaller space). PerfGuard formalizes these differences, and correlates plan deltas to important feedback signals, like execution cost. We describe the deep learning architecture and the end-to-end pipeline in PerfGuard that could be used with general relational databases. We show that this architecture improves on baseline models, and that our pipeline identifies key query plan components as major contributors to plan disparity. Offline experimentation shows PerfGuard as a promising approach, with many opportunities for future improvement. PVLDB Reference Format: Remmelt Ammerlaan, Gilbert Antonius, Marc Friedman, H M Sajjad Hossain, Alekh Jindal, Peter Orenberg, Hiren Patel, Shi Qiao, Vijay Ramani, Lucas Rosenblatt, Abhishek Roy, Irene Shaffer, Soundarajan Srinivasan, Markus Weimer . PerfGuard: Deploying ML-for-Systems without Performance Regressions, Almost!. PVLDB, 14(13): 3362 3375, 2021. doi:10.14778/3484224.3484233

[1]  Badrish Chandramouli,et al.  ALEX: An Updatable Adaptive Learned Index , 2019, SIGMOD Conference.

[2]  Max Welling,et al.  Semi-Supervised Classification with Graph Convolutional Networks , 2016, ICLR.

[3]  Michalis Vazirgiannis,et al.  Matching Node Embeddings for Graph Similarity , 2017, AAAI.

[4]  Alekh Jindal,et al.  Peregrine: Workload Optimization for Cloud Query Engines , 2019, SoCC.

[5]  Alekh Jindal,et al.  Cost Models for Big Data Query Processing: Learning, Retrofitting, and Our Findings , 2020, SIGMOD Conference.

[6]  Hiren Patel,et al.  Towards a Learning Optimizer for Shared Clouds , 2018, Proc. VLDB Endow..

[7]  Jiannan Wang,et al.  Are We Ready For Learned Cardinality Estimation? , 2020, Proc. VLDB Endow..

[8]  C.-C. Jay Kuo,et al.  Graph representation learning: a survey , 2019, APSIPA Transactions on Signal and Information Processing.

[9]  Hongzi Mao,et al.  Learning scheduling algorithms for data processing clusters , 2018, SIGCOMM.

[10]  Nick Koudas,et al.  Deep Learning Models for Selectivity Estimation of Multi-Attribute Queries , 2020, SIGMOD Conference.

[11]  Magdalena Balazinska,et al.  An Empirical Analysis of Deep Learning for Cardinality Estimation , 2019, ArXiv.

[12]  Felix Naumann,et al.  Cardinality Estimation: An Experimental Survey , 2017, Proc. VLDB Endow..

[13]  Surajit Chaudhuri,et al.  AI Meets AI: Leveraging Query Executions to Improve Index Recommendations , 2019, SIGMOD Conference.

[14]  Eli Upfal,et al.  Learning-based Query Performance Modeling and Prediction , 2012, 2012 IEEE 28th International Conference on Data Engineering.

[15]  Xi Chen,et al.  NeuroCard , 2020, Proc. VLDB Endow..

[16]  Tim Kraska,et al.  SOSD: A Benchmark for Learned Indexes , 2019, ArXiv.

[17]  Gao Cong,et al.  A Unified Deep Model of Learning from both Data and Queries for Cardinality Estimation , 2021, SIGMOD Conference.

[18]  Xi Chen,et al.  Deep Unsupervised Cardinality Estimation , 2019, Proc. VLDB Endow..

[19]  Andreas Kipf,et al.  Learned Cardinalities: Estimating Correlated Joins with Deep Learning , 2018, CIDR.

[20]  Yizhou Sun,et al.  SimGNN: A Neural Network Approach to Fast Graph Similarity Computation , 2018, WSDM.

[21]  Magdalena Balazinska,et al.  Learning State Representations for Query Optimization with Deep Reinforcement Learning , 2018, DEEM@SIGMOD.

[22]  Carsten Binnig,et al.  DeepDB , 2019, Proc. VLDB Endow..

[23]  Philip S. Yu,et al.  A Comprehensive Survey on Graph Neural Networks , 2019, IEEE Transactions on Neural Networks and Learning Systems.

[24]  Surajit Chaudhuri,et al.  Robust Estimation of Resource Consumption for SQL Queries using Statistical Techniques , 2012, Proc. VLDB Endow..

[25]  Geoffrey E. Hinton Training Products of Experts by Minimizing Contrastive Divergence , 2002, Neural Computation.

[26]  Tim Kraska,et al.  Partitioned Learned Bloom Filter , 2020, ArXiv.

[27]  M. Clara De Paolis Kaluza A Neural Framework for Learning DAG to DAG Translation , 2018 .

[28]  Nils M. Kriege,et al.  A survey on graph kernels , 2019, Applied Network Science.

[29]  Surajit Chaudhuri,et al.  Efficiently approximating selectivity functions using low overhead regression models , 2020, Proc. VLDB Endow..

[30]  Oded Shmueli,et al.  NN-based Transformation of Any SQL Cardinality Estimator for Handling DISTINCT, AND, OR and NOT , 2020, ArXiv.

[31]  Tim Kraska,et al.  SageDB: A Learned Database System , 2019, CIDR.

[32]  Tim Kraska,et al.  The Case for Learned Index Structures , 2018 .

[33]  Nan Tang,et al.  Learned Cardinality Estimation for Similarity Queries , 2021, SIGMOD Conference.

[34]  Nicolas Bruno,et al.  SCOPE: parallel databases meet MapReduce , 2012, The VLDB Journal.

[35]  Jingren Zhou,et al.  SCOPE: easy and efficient parallel processing of massive data sets , 2008, Proc. VLDB Endow..

[36]  Tim Kraska,et al.  Bao: Learning to Steer Query Optimizers , 2020, ArXiv.

[37]  Srikanth Kandula,et al.  Selectivity Estimation for Range Predicates using Lightweight Models , 2019, Proc. VLDB Endow..

[38]  Tim Kraska,et al.  CDFShop: Exploring and Optimizing Learned Index Structures , 2020, SIGMOD Conference.

[39]  Danqi Chen,et al.  Reasoning With Neural Tensor Networks for Knowledge Base Completion , 2013, NIPS.

[40]  Nick Koudas,et al.  Multi-Attribute Selectivity Estimation Using Deep Learning , 2019, ArXiv.

[41]  Tim Kraska,et al.  Flow-Loss: Learning Cardinality Estimates That Matter , 2021, Proc. VLDB Endow..

[42]  Tim Kraska,et al.  Steering Query Optimizers: A Practical Take on Big Data Workloads , 2021, SIGMOD Conference.

[43]  Archana Ganapathi,et al.  Predicting Multiple Metrics for Queries: Better Decisions Enabled by Machine Learning , 2009, 2009 IEEE 25th International Conference on Data Engineering.

[44]  Alekh Jindal,et al.  AutoToken: Predicting Peak Parallelism for Big Data Analytics at Microsoft , 2020, Proc. VLDB Endow..

[45]  Zhengping Qian,et al.  FLAT: Fast, Lightweight and Accurate Method for Cardinality Estimation , 2020, Proc. VLDB Endow..

[46]  Tim Kraska,et al.  Neo: A Learned Query Optimizer , 2019, Proc. VLDB Endow..