Anil Shanbhag

dblp:149/5876 · DBLP profile ↗
← Back
11ranked-venue papers
7as first author
1since 2021 · last 2022
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Databases, data management, data science and information retrieval · 10 · 6 first-author · 1 since 2021Systems, architecture and hardware · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Databases, data mining, and information retrieval
7 papers
Query processing and optimization · 84% Distributed and cloud data management · 16%
Computer architecture, parallel and distributed computing, and storage systems
4 papers
GPUs and heterogeneous computing · 66% Storage systems · 16% Memory systems · 8%
Software engineering, system software, and programming languages
1 paper
Runtime systems and virtual machines · 100%

Topics — the 16 heaviest of 21, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
GPUs and heterogeneous computing › GPU-accelerated data processing
GPU-accelerated data analytics
0.612022
Tile-based Lightweight Integer Compression in GPU · SIGMOD Conference 2022
Query processing and optimization
top-k query processing
0.312018
Efficient Top-K Query Processing on Massively Parallel Hardware · SIGMOD Conference 2018
GPUs and heterogeneous computing › GPU computing
GPU algorithms
0.312018
Efficient Top-K Query Processing on Massively Parallel Hardware · SIGMOD Conference 2018
Storage systems
top-k query processing
0.312018
Efficient Top-K Query Processing on Massively Parallel Hardware · SIGMOD Conference 2018
Query processing and optimization
adaptive partitioning
0.312017
AdaptDB: Adaptive Partitioning for Distributed Joins · Proc. VLDB Endow. 2017
Query processing and optimization › join processing
distributed join
0.312017
AdaptDB: Adaptive Partitioning for Distributed Joins · Proc. VLDB Endow. 2017
Query processing and optimization
join processing
0.312017
AdaptDB: Adaptive Partitioning for Distributed Joins · Proc. VLDB Endow. 2017
Query processing and optimization
approximate query processing
0.212016
Quickr: Lazily Approximating Complex AdHoc Queries in BigData Clusters · SIGMOD Conference 2016
Distributed and cloud data management
data partitioning
0.212016
Amoeba: A Shape changing Storage System for Big Data · Proc. VLDB Endow. 2016
Distributed and cloud data management
distributed data store
0.212016
Amoeba: A Shape changing Storage System for Big Data · Proc. VLDB Endow. 2016
Query processing and optimization
query optimization
0.212016
Quickr: Lazily Approximating Complex AdHoc Queries in BigData Clusters · SIGMOD Conference 2016
Query processing and optimization › query optimization
join enumeration
0.212014
Optimizing Join Enumeration in Transformation-based Query Optimizers · Proc. VLDB Endow. 2014
Performance modeling and evaluation
cost modeling
0.112018
Efficient Top-K Query Processing on Massively Parallel Hardware · SIGMOD Conference 2018
Distributed and cloud data management
distributed analytics
0.112017
AdaptDB: Adaptive Partitioning for Distributed Joins · Proc. VLDB Endow. 2017
Query processing and optimization
ad hoc query processing
0.112016
Amoeba: A Shape changing Storage System for Big Data · Proc. VLDB Endow. 2016
Query processing and optimization › query optimization
join ordering
0.112014
Optimizing Join Enumeration in Transformation-based Query Optimizers · Proc. VLDB Endow. 2014

Methods — techniques the papers use, named apart from their topics

model-based performance analysis · 0.9runtime measurement · 0.7pipelining · 0.7cost modeling · 0.7bitonic sort · 0.7adaptive optimization · 0.7lightweight integer compression · 0.6universe sampler · 0.5accuracy analysis · 0.5smooth repartitioning · 0.3hyper-join · 0.3
YearPublicationVenuePosition
2022 Tile-based Lightweight Integer Compression in GPU
abstract
GPUs are increasingly used for high-performance and interactive data analytics workloads due to their capability to accelerate computation using massive parallelism. A key constraint of GPU-based data analytics today is the limited memory capacity in GPU devices.
Anil Shanbhag, Bobbi W. Yogatama, Xiangyao Yu, Samuel Madden 0001
SIGMOD Conference1
2020 Large-scale in-memory analytics on Intel® Optane™ DC persistent memory
abstract
New data storage technologies such as the recently introduced Intel® Optane™ DC Persistent Memory Module (PMM) offer exciting opportunities for optimizing the query processing performance of database workloads. In particular, the unique combination of low latency, byte-addressability, persistence, and large capacity make persistent memory (PMem) an attractive alternative along with DRAM and SSDs. Exploring the performance characteristics of this new medium is the first critical step in understanding how it will impact the design and performance of database systems. In this paper, we present one of the first experimental studies on characterizing Intel® Optane™ DC PMM's performance behavior in the context of analytical database workloads. First, we analyze basic access patterns common in such workloads, such as sequential, selective, and random reads as well as the complete Star Schema Benchmark, comparing standalone DRAM- and PMem-based implementations. Then we extend our analysis to join algorithms over larger datasets, which require using DRAM and PMem in a hybrid fashion while paying special attention to the read-write asymmetry of PMem. Our study reveals interesting performance tradeoffs that can help guide the design of next-generation OLAP systems in presence of persistent memory in the storage hierarchy.
Anil Shanbhag, Nesime Tatbul, David E. Cohen, Samuel Madden 0001
DaMoN1
2020 A Study of the Fundamental Performance Characteristics of GPUs and CPUs for Database Analytics
abstract
There has been significant amount of excitement and recent work on GPU-based database systems. Previous work has claimed that these systems can perform orders of magnitude better than CPU-based database systems on analytical workloads such as those found in decision support and business intelligence applications. A hardware expert would view these claims with suspicion. Given the general notion that database operators are memory-bandwidth bound, one would expect the maximum gain to be roughly equal to the ratio of the memory bandwidth of GPU to that of CPU. In this paper, we adopt a model-based approach to understand when and why the performance gains of running queries on GPUs vs on CPUs vary from the bandwidth ratio (which is roughly 16× on modern hardware). We propose Crystal, a library of parallel routines that can be combined together to run full SQL queries on a GPU with minimal materialization overhead. We implement individual query operators to show that while the speedups for selection, projection, and sorts are near the bandwidth ratio, joins achieve less speedup due to differences in hardware capabilities. Interestingly, we show on a popular analytical workload that full query performance gain from running on GPU exceeds the bandwidth ratio despite individual operators having speedup less than bandwidth ratio, as a result of limitations of vectorizing chained operators on CPUs, resulting in a 25× speedup for GPUs over CPUs on the benchmark.
Anil Shanbhag, Samuel Madden 0001, Xiangyao Yu
SIGMOD Conference1
2018 Efficient Top-K Query Processing on Massively Parallel Hardware
abstract
A common operation in many data analytics workloads is to find the top-k items, i.e., the largest or smallest operations according to some sort order (implemented via LIMIT or ORDER BY expressions in SQL). A naive implementation of top-k is to sort all of the items and then return the first k, but this does much more work than needed. Although efficient implementations for top-k have been explored on traditional multi-core processors, there has been no prior systematic study of top-k implementations on GPUs, despite open requests for such implementations in GPU-based frameworks like TensorFlow and ArrayFire. In this work, we present several top-k algorithms for GPUs, including a new algorithm based on bitonic sort called bitonic top-k. The bitonic top-k algorithm is up to a factor of \new15x faster than sort and 4x faster than a variety of other possible implementations for values of k up to 256. We also develop a cost model to predict the performance of several of our algorithms, and show that it accurately predicts actual performance on modern GPUs.
Anil Shanbhag, Holger Pirk, Samuel Madden 0001
SIGMOD Conference1
2018 Evaluating End-to-End Optimization for Data Analytics Applications in Weld
abstract
Modern analytics applications use a diverse mix of libraries and functions. Unfortunately, there is no optimization across these libraries, resulting in performance penalties as high as an order of magnitude in many applications. To address this problem, we proposed Weld, a common runtime for existing data analytics libraries that performs key physical optimizations such as pipelining under existing, imperative library APIs. In this work, we further develop the Weld vision by designing an automatic adaptive optimizer for Weld applications, and evaluating its impact on realistic data science workloads. Our optimizer eliminates multiple forms of overhead that arise when composing imperative libraries like Pandas and NumPy, and uses lightweight measurements to make data-dependent decisions at run-time in ad-hoc workloads where no statistics are available, with sub-second overhead. We also evaluate which optimizations have the largest impact in practice and whether Weld can be integrated into libraries incrementally. Our results are promising: using our optimizer, Weld accelerates data science workloads by up to 23X on one thread and 80X on eight threads, and its adaptive optimizations provide up to a 3.75X speedup over rule-based optimization. Moreover, Weld provides benefits if even just 4--5 operators in a library are ported to use it. Our results show that common runtime designs like Weld may be a viable approach to accelerate analytics.
Shoumik Palkar, James Thomas 0003, Deepak Narayanan, Pratiksha Thaker, Rahul Palamuttam, Parimarjan Negi, Anil Shanbhag, Malte Schwarzkopf, Holger Pirk, Saman P. Amarasinghe, Samuel Madden 0001, Matei Zaharia
Proc. VLDB Endow.7
2017 A Common Runtime for High Performance Data Analysis
Shoumik Palkar, James Thomas 0003, Anil Shanbhag, Deepak Narayanan, Holger Pirk, Malte Schwarzkopf, Saman P. Amarasinghe, Matei Zaharia
CIDR3
2017 A robust partitioning scheme for ad-hoc query workloads
abstract
Data partitioning is crucial to improving query performance several workload-based partitioning techniques have been proposed in database literature. However, many modern analytic applications involve ad-hoc or exploratory analysis where users do not have a representative query workload a priori. Static workload-based data partitioning techniques are therefore not suitable for such settings. In this paper, we propose Amoeba, a distributed storage system that uses adaptive multi-attribute data partitioning to efficiently support ad-hoc as well as recurring queries. Amoeba requires zero set-up and tuning effort, allowing analysts to get the benefits of partitioning without requiring an upfront query workload. The key idea is to build and maintain a partitioning tree on top of the dataset. The partitioning tree allows us to answer queries with predicates by reading a subset of the data. The initial partitioning tree is created without requiring an upfront query workload and Amoeba adapts it over time by incrementally modifying subtrees based on user queries using repartitioning. A prototype of Amoeba running on top of Apache Spark improves query performance by up to 7x over full scans and up to 2x over range-based partitioning techniques on TPC-H as well as a real-world workload.
Anil Shanbhag, Alekh Jindal, Samuel Madden 0001, Jorge-Arnulfo Quiané-Ruiz, Aaron J. Elmore
SoCC1
2017 AdaptDB: Adaptive Partitioning for Distributed Joins
abstract
Big data analytics often involves complex join queries over two or more tables. Such join processing is expensive in a distributed setting both because large amounts of data must be read from disk, and because of data shuffling across the network. Many techniques based on data partitioning have been proposed to reduce the amount of data that must be accessed, often focusing on finding the best partitioning scheme for a particular workload, rather than adapting to changes in the workload over time. In this paper, we present AdaptDB, an adaptive storage manager for analytical database workloads in a distributed setting. It works by partitioning datasets across a cluster and incrementally refining data partitioning as queries are run. AdaptDB introduces a novel hyper-join that avoids expensive data shuffling by identifying storage blocks of the joining tables that overlap on the join attribute, and only joining those blocks. Hyper-join performs well when each block in one table overlaps with few blocks in the other table, since that will minimize the number of blocks that have to be accessed. To minimize the number of overlapping blocks for common join queries, AdaptDB users smooth repartitioning to repartition small portions of the tables on join attributes as queries run. A prototype of AdaptDB running on top of Spark improves query performance by 2--3x on TPC-H as well as real-world dataset, versus a system that employs scans and shuffle-joins.
Yi Lu 0010, Anil Shanbhag, Alekh Jindal, Samuel Madden 0001
Proc. VLDB Endow.2
2016 Quickr: Lazily Approximating Complex AdHoc Queries in BigData Clusters
abstract
We present a system that approximates the answer to complex ad-hoc queries in big-data clusters by injecting samplers on-the-fly and without requiring pre-existing samples. Improvements can be substantial when big-data queries take multiple passes over data and when samplers execute early in the query plan. We present a new, universe, sampler which is able to sample multiple join inputs. By incorporating samplers natively into a cost-based query optimizer, we automatically generate plans with appropriate samplers at appropriate locations. We devise an accuracy analysis method using which we ensure that query plans with samplers will not miss groups and that aggregate values are within a small ratio of their true value. An implementation on a cluster with tens of thousands of machines shows that queries in the TPC-DS benchmark use a median of 2X fewer resources. In contrast, approaches that construct input samples even when given 10X the size of the input to store samples improve only 22% of the queries, i.e., a median speed up of 0X.
Srikanth Kandula, Anil Shanbhag, Aleksandar Vitorovic, Matthaios Olma, Robert Grandl, Surajit Chaudhuri, Bolin Ding
SIGMOD Conference2
2016 Amoeba: A Shape changing Storage System for Big Data
abstract
Data partitioning significantly improves the query performance in distributed database systems. A large number of techniques have been proposed to efficiently partition a dataset for a given query workload. However, many modern analytic applications involve ad-hoc or exploratory analysis where users do not have a representative query workload upfront. Furthermore, workloads change over time as businesses evolve or as analysts gain better understanding of their data. Static workload-based data partitioning techniques are therefore not suitable for such settings. In this paper, we describe the demonstration of A moeba , a distributed storage system which uses adaptive multi-attribute data partitioning to efficiently support ad-hoc as well as recurring queries. A moeba applies a robust partitioning algorithm such that ad-hoc queries on all attributes have similar performance gains. Thereafter, A moeba adaptively repartitions the data based on the observed query sequence, i.e., the system improves over time. All along A moeba offers both adaptivity (i.e., adjustments according to workload changes) as well as robustness (i.e., avoiding performance spikes due to workload changes). We propose to demonstrate A moeba on scenarios from an internet-of-things startup that tracks user driving patterns. We invite the audience to interactively fire fast ad-hoc queries, observe multi-dimensional adaptivity, and play with a robust/reactive knob in A moeba . The web front end displays the layout changes, runtime costs, and compares it to Spark with both default and workload-aware partitioning.
Anil Shanbhag, Alekh Jindal, Yi Lu 0010, Samuel Madden 0001
Proc. VLDB Endow.1
2014 Optimizing Join Enumeration in Transformation-based Query Optimizers
abstract
Query optimizers built on the Volcano/Cascades framework, which is based on transformation rules, are used in many commercial databases. Transformation rulesets proposed earlier for join order enumeration in such a framework either allow enumeration of joins with cross-products (which can significantly increase the cost of optimization), or generate a large number of duplicate derivations. In this paper we propose two new rulesets for generating cross-product free trees. One of the rulesets is a minor extension of a simple but inefficient ruleset, which we prove is complete (we also show that a naive extension of an efficient ruleset leads to incompleteness). We then propose an efficient new ruleset, which is based on techniques proposed recently for top-down join order enumeration, but unlike earlier work it is cleanly integrated into the Volcano/Cascades framework, and can be used in conjunction with other transformation rules. We show that our ruleset is complete (i.e., it generates the entire search space without cross products) while avoiding inefficiency due to duplicate derivations. We have implemented this ruleset in the PyroJ Optimizer (an implementation of the Volcano optimizer framework) and show that it significantly outperforms the alternatives, in some cases by up to two orders of magnitude, in terms of time taken.
Anil Shanbhag, S. Sudarshan 0001
Proc. VLDB Endow.1