Cheetah: Accelerating Database Queries with Switch Pruning

Modern database systems are growing increasingly distributed and struggle to reduce the query completion time with a large volume of data. In this poster, we propose to leverage programmable switches in the network to offload part of the query computation to the switch. While switches provide high performance, they also have many resource and programming constraints that make it hard to implement diverse database queries. To fit in these constraints, we introduce the concept of data pruning - filtering out entries which are guaranteed not to affect the output. The database system then runs the same query, but on the pruned data, which significantly reduces the processing time. We propose a set of pruning algorithms for a variety of queries. We implement our system, Cheetah, on a Barefoot Tofino switch and Spark. Our evaluation on the Berkeley AMPLab benchmark shows up to 3x improvement in the query completion time compared to Apache Spark.

[1]  George Varghese,et al.  Forwarding metamorphosis: fast programmable match-action processing in hardware for SDN , 2013, SIGCOMM.

[2]  David J. DeWitt,et al.  Materialization Strategies in a Column-Oriented DBMS , 2007, 2007 IEEE 23rd International Conference on Data Engineering.

[3]  Ivan Beschastnikh,et al.  Jumpgate: In-Network Processing as a Service for Data Analytics , 2019, HotCloud.

[4]  Xiaozhou Li,et al.  NetChain: Scale-Free Sub-RTT Coordination , 2018, NSDI.

[5]  Fernando Pedone,et al.  NetPaxos: consensus at network speed , 2015, SOSR.

[6]  Divyakant Agrawal,et al.  Hardware acceleration for spatial selections and joins , 2003, SIGMOD '03.

[7]  Donald Kossmann,et al.  The Skyline operator , 2001, Proceedings 17th International Conference on Data Engineering.

[8]  Bingsheng He,et al.  GPL: A GPU-based Pipelined Query Processing Engine , 2016, SIGMOD Conference.

[9]  Gustavo Alonso,et al.  Lowering the Latency of Data Processing Pipelines Through FPGA based Hardware Acceleration , 2019, Proc. VLDB Endow..

[10]  Minlan Yu,et al.  Software Defined Traffic Measurement with OpenSketch , 2013, NSDI.

[11]  Nate Foster,et al.  NetCache: Balancing Key-Value Stores with Fast In-Network Caching , 2017, SOSP.

[12]  Gustavo Alonso,et al.  FPGA-based Data Partitioning , 2017, SIGMOD Conference.

[13]  Xiaozhou Li,et al.  DistCache: Provable Load Balancing for Large-Scale Storage Systems with Distributed Caching , 2019, FAST.

[14]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[15]  Eli Upfal,et al.  Probability and Computing: Randomized Algorithms and Probabilistic Analysis , 2005 .

[16]  Roy Friedman,et al.  Volumetric Hierarchical Heavy Hitters , 2018, 2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS).

[17]  Yufei Tao,et al.  Output-Optimal Massively Parallel Algorithms for Similarity Joins , 2019, ACM Trans. Database Syst..

[18]  Xin Jin,et al.  SketchVisor: Robust Network Measurement for Software Packet Processing , 2017, SIGCOMM.

[19]  Brucek Khailany,et al.  CudaDMA: Optimizing GPU memory bandwidth via warp specialization , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[20]  Walter Willinger,et al.  Sonata: query-driven streaming network telemetry , 2018, SIGCOMM.

[21]  Philippe Cudré-Mauroux,et al.  The Case for Network Accelerated Query Processing , 2019, CIDR.

[22]  Arpit Gupta,et al.  Network-Wide Heavy Hitter Detection with Commodity Switches , 2018, SOSR.

[23]  David J. DeWitt,et al.  Query processing on smart SSDs: opportunities and challenges , 2013, SIGMOD '13.

[24]  Roy Friedman,et al.  Nitrosketch: robust and general sketch-based monitoring in software switches , 2019, SIGCOMM.

[25]  Ori Rottenstreich,et al.  Efficient Measurement on Programmable Switches Using Probabilistic Recirculation , 2018, 2018 IEEE 26th International Conference on Network Protocols (ICNP).

[26]  Michael Stonebraker,et al.  A comparison of approaches to large-scale data analysis , 2009, SIGMOD Conference.

[27]  Peter Bailis,et al.  Filter Before You Parse: Faster Analytics on Raw Data with Sparser , 2018, Proc. VLDB Endow..

[28]  Scott Shenker,et al.  Making Sense of Performance in Data Analytics Frameworks , 2015, NSDI.

[29]  Roy Friedman,et al.  Stream Frequency Over Interval Queries , 2018, Proc. VLDB Endow..

[30]  Ariel Orda,et al.  Memento: Making Sliding Windows Efficient for Heavy Hitters , 2018, IEEE/ACM Transactions on Networking.

[31]  Zheng Shao,et al.  Data warehousing and analytics infrastructure at facebook , 2010, SIGMOD Conference.

[32]  Joseph K. Bradley,et al.  Spark SQL: Relational Data Processing in Spark , 2015, SIGMOD Conference.

[33]  Peng Liu,et al.  Elastic sketch: adaptive and fast network-wide measurements , 2018, SIGCOMM.

[34]  Gustavo Alonso,et al.  Ibex - An Intelligent Storage Engine with Support for Advanced SQL Off-loading , 2014, Proc. VLDB Endow..

[35]  Bharat Sukhwani,et al.  Database analytics acceleration using FPGAs , 2012, 2012 21st International Conference on Parallel Architectures and Compilation Techniques (PACT).

[36]  Robert Soulé,et al.  Life in the Fast Lane: A Line-Rate Linear Road , 2018, SOSR.

[37]  Minlan Yu,et al.  Cheetah: Accelerating Database Queries with Switch Pruning , 2020, SIGMOD Conference.

[38]  Ramarathnam Venkatesan,et al.  Secure database-as-a-service with Cipherbase , 2013, SIGMOD '13.

[39]  Dinesh Manocha,et al.  Fast computation of database operations using graphics processors , 2005, SIGGRAPH Courses.

[40]  Roy Friedman,et al.  Constant Time Updates in Hierarchical Heavy Hitters , 2017, SIGCOMM.

[41]  Robert Soulé,et al.  Packet Subscriptions for Programmable ASICs , 2018, HotNets.

[42]  Jürgen Teich,et al.  On-the-fly Composition of FPGA-Based SQL Query Accelerators Using a Partially Reconfigurable Module Library , 2012, 2012 IEEE 20th International Symposium on Field-Programmable Custom Computing Machines.

[43]  Minlan Yu,et al.  SilkRoad: Making Stateful Layer-4 Load Balancing Fast and Cheap Using Switching ASICs , 2017, SIGCOMM.

[44]  Fernando Pedone,et al.  The Case For In-Network Computing On Demand , 2019, EuroSys.

[45]  Jennifer Rexford,et al.  Catching the Microburst Culprits with Snappy , 2018, SelfDN@SIGCOMM.

[46]  Jürgen Teich,et al.  Acceleration of SQL Restrictions and Aggregations through FPGA-Based Dynamic Partial Reconfiguration , 2013, 2013 IEEE 21st Annual International Symposium on Field-Programmable Custom Computing Machines.