Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Shivnath Babu

dblp:b/ShivnathBabu · DBLP profile ↗
← Back
74ranked-venue papers
14as first author
0since 2021 · last 2020
—ORCID · none

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

Databases, data management, data science and information retrieval · 68 · 12 first-authorSystems, architecture and hardware · 6 · 2 first-authorArtificial intelligence and machine learning · 2Software engineering, systems software and programming languages · 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.

Computer architecture, parallel and distributed computing, and storage systems
29 papers
Cloud and datacenter computing · 60% Performance modeling and evaluation · 15% Storage systems · 8%
Databases, data mining, and information retrieval
48 papers
Database system architecture and tuning · 40% Query processing and optimization · 28% Data stream processing · 12%
Software engineering, system software, and programming languages
5 papers
Operating systems · 50% Debugging and program repair · 36% Runtime systems and virtual machines · 14%

Topics — the 30 heaviest of 102, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Cloud and datacenter computing
cluster resource management and scheduling
1.362020
iQCAR: inter-Query Contention Analyzer for Data Analytics Frameworks · SIGMOD Conference 2019
iQCAR: A Demonstration of an Inter-Query Contention Analyzer for Cluster Computing Frameworks · SIGMOD Conference 2018
Cumulon: Matrix-Based Data Analytics in the Cloud with Spot Instances · Proc. VLDB Endow. 2015
Cloud and datacenter computing › cluster resource management and scheduling
cluster resource management
1.042019
MIFO: A Query-Semantic Aware Resource Allocation Policy · SIGMOD Conference 2019
Thoth in Action: Memory Management in Modern Data Analytics · Proc. VLDB Endow. 2017
Thoth: Towards Managing a Multi-System Cluster · Proc. VLDB Endow. 2014
Performance modeling and evaluation
workload characterization
0.642019
iQCAR: inter-Query Contention Analyzer for Data Analytics Frameworks · SIGMOD Conference 2019
iQCAR: A Demonstration of an Inter-Query Contention Analyzer for Cluster Computing Frameworks · SIGMOD Conference 2018
QShuffler: Getting the Query Mix Right · ICDE 2008
Database system architecture and tuning
configuration tuning
0.632019
Speedup Your Analytics: Automatic Parameter Tuning for Databases and Big Data Systems · Proc. VLDB Endow. 2019
iTuned: a tool for configuring and visualizing database parameters · SIGMOD Conference 2010
Tuning Database Configuration Parameters with iTuned · Proc. VLDB Endow. 2009
Data stream processing
continuous query processing
0.582013
Execution and optimization of continuous queries with cyclops · SIGMOD Conference 2013
The CQL continuous query language: semantic foundations and query execution · VLDB J. 2006
Adaptive Caching for Continuous Queries · ICDE 2005
Parallel and multicore computing › data-parallel programming
mapreduce
0.432012
Stubby: A Transformation-based Optimizer for MapReduce Workflows · Proc. VLDB Endow. 2012
MapReduce Programming and Cost-based Optimization? Crossing this Chasm with Starfish · Proc. VLDB Endow. 2011
Profiling, What-if Analysis, and Cost-based Optimization of MapReduce Programs · Proc. VLDB Endow. 2011
Database system architecture and tuning › configuration tuning
automatic parameter tuning
0.412019
Speedup Your Analytics: Automatic Parameter Tuning for Databases and Big Data Systems · Proc. VLDB Endow. 2019
Database system architecture and tuning › self-managing database systems
database diagnosis
0.442009
DIADS: A Problem Diagnosis Tool for Databases and Storage Area Networks · Proc. VLDB Endow. 2009
Fa: A System for Automating Failure Diagnosis · ICDE 2009
Automated Diagnosis of System Failures with Fa · ICDE 2009
Cloud and datacenter computing
big data platform
0.412019
Cost-Effective, Workload-Adaptive Migration of Big Data Applications to the Cloud · SIGMOD Conference 2019
Cloud and datacenter computing
cloud migration
0.412019
Cost-Effective, Workload-Adaptive Migration of Big Data Applications to the Cloud · SIGMOD Conference 2019
Cloud and datacenter computing › resource management
workload management
0.322013
Workload management for big data analytics · SIGMOD Conference 2013
Workload management for Big Data analytics · ICDE 2013
Cloud and datacenter computing
resource management
0.322016
Tempo: Robust and Self-Tuning Resource Management in Multi-tenant Parallel Databases · Proc. VLDB Endow. 2016
On Suspending and Resuming Dataflows · ICDE 2007
Operating systems › resource management
memory management
0.312017
Thoth in Action: Memory Management in Modern Data Analytics · Proc. VLDB Endow. 2017
Memory systems
memory management
0.312017
Thoth in Action: Memory Management in Modern Data Analytics · Proc. VLDB Endow. 2017
High-performance computing
cost-based optimization
0.222011
MapReduce Programming and Cost-based Optimization? Crossing this Chasm with Starfish · Proc. VLDB Endow. 2011
Profiling, What-if Analysis, and Cost-based Optimization of MapReduce Programs · Proc. VLDB Endow. 2011
Storage systems › storage reliability › data corruption
data corruption detection and repair
0.222011
Proactive Detection and Repair of Data Corruption: Towards a Hassle-free Declarative Approach with Amulet · Proc. VLDB Endow. 2011
Warding off the dangers of data corruption with amulet · SIGMOD Conference 2011
Cloud and datacenter computing › multi-tenancy
multi-tenant database
0.212016
Tempo: Robust and Self-Tuning Resource Management in Multi-tenant Parallel Databases · Proc. VLDB Endow. 2016
Performance modeling and evaluation
profiling
0.222011
MapReduce Programming and Cost-based Optimization? Crossing this Chasm with Starfish · Proc. VLDB Endow. 2011
Profiling, What-if Analysis, and Cost-based Optimization of MapReduce Programs · Proc. VLDB Endow. 2011
Storage systems
storage reliability
0.222011
Proactive Detection and Repair of Data Corruption: Towards a Hassle-free Declarative Approach with Amulet · Proc. VLDB Endow. 2011
Warding off the dangers of data corruption with amulet · SIGMOD Conference 2011
Performance modeling and evaluation
what-if analysis
0.222011
MapReduce Programming and Cost-based Optimization? Crossing this Chasm with Starfish · Proc. VLDB Endow. 2011
Profiling, What-if Analysis, and Cost-based Optimization of MapReduce Programs · Proc. VLDB Endow. 2011
Query processing and optimization
query optimization
0.222011
Query optimization techniques for partitioned tables · SIGMOD Conference 2011
Xplus: A SQL-Tuning-Aware Query Optimizer · Proc. VLDB Endow. 2010
Database system architecture and tuning › workload management
workload scheduling
0.222011
Interaction-aware scheduling of report-generation workloads · VLDB J. 2011
Interaction-aware prediction of business intelligence workload completion times · ICDE 2010
Distributed and cloud data management › big data systems
SQL-on-Hadoop
0.212015
Tutorial: SQL-on-Hadoop Systems · Proc. VLDB Endow. 2015
Cloud and datacenter computing › job scheduling › economic scheduling
cost-aware scheduling
0.212015
Cumulon: Matrix-Based Data Analytics in the Cloud with Spot Instances · Proc. VLDB Endow. 2015
Cloud and datacenter computing › utility computing › cloud pricing
spot instance
0.212015
Cumulon: Matrix-Based Data Analytics in the Cloud with Spot Instances · Proc. VLDB Endow. 2015
Debugging and program repair
root cause analysis
0.222009
Fa: A System for Automating Failure Diagnosis · ICDE 2009
Automated Diagnosis of System Failures with Fa · ICDE 2009
Query processing and optimization
query execution
0.232010
Query suspend and resume · SIGMOD Conference 2007
On Suspending and Resuming Dataflows · ICDE 2007
Xplus: A SQL-Tuning-Aware Query Optimizer · Proc. VLDB Endow. 2010
Query processing and optimization › query optimization
cost-based optimization
0.212013
Cumulon: optimizing statistical data analysis in the cloud · SIGMOD Conference 2013
Query processing and optimization
parallel query processing
0.212013
Workload management for Big Data analytics · ICDE 2013
Query processing and optimization
adaptive query processing
0.132005
Adaptive Caching for Continuous Queries · ICDE 2005
StreaMon: An Adaptive Engine for Stream Query Processing · SIGMOD Conference 2004
Adaptive Ordering of Pipelined Stream Filters · SIGMOD Conference 2004

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

directed acyclic graph modeling · 1.1machine learning · 1.1cost modeling · 1.0deep distributed policy gradient · 0.9bayesian optimization · 0.9analytical modeling · 0.9simulation-based tuning · 0.8rule-based tuning · 0.8experiment-driven tuning · 0.8adaptive tuning · 0.8multi-system cluster management · 0.3memory profiling · 0.3confidence estimation · 0.1clustering · 0.1classification · 0.1automated repair · 0.1automated diagnosis · 0.1anomaly-based clustering · 0.1
YearPublicationVenuePosition
2020 Black or White? How to Develop an AutoTuner for Memory-based Analytics
abstract
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. 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 Guided-BO (GBO), we use RelM's analytical models to speed up BO. Through an evaluation based on Apache Spark, we showcase that the 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 cost overhead compared to the state-of-the-art AI-driven policies.
Mayuresh Kunjir, Shivnath Babu
SIGMOD Conference2
2019 Automated Performance Management for the Big Data Stack
Anastasios Arvanitis, Shivnath Babu, Eric Chu, Alkis Simitsis, Kevin Wilkinson
CIDR2
2019 Cost-Effective, Workload-Adaptive Migration of Big Data Applications to the Cloud
abstract
More than 10,000 enterprises worldwide use the big data stack composed of multiple distributed systems. At Unravel, we build the next-generation APM platform for the big data stack, and we have worked with a representative sample of these enterprises that covers most industry verticals. This sample covers the spectrum of choices for deploying the big data stack across on-premises datacenters, private and public cloud deployments, and hybrid combinations of these. In this paper, we present a solution for assisting enterprises planning the migration of their big data stacks from on-premises deployments to the cloud. Our solution is goal driven and adapts to various migration scenarios. We present the system architecture we built and several cloud mapping options. We also describe a demonstration script that involves practical, real-world use-cases of the path to cloud adoption.
Victor Giannakouris, Alejandro Fernandez, Alkis Simitsis, Shivnath Babu
SIGMOD Conference4
2019 MIFO: A Query-Semantic Aware Resource Allocation Policy
abstract
Data Analytics Frameworks encourage sharing of clusters for execution of mixed workloads by promising fairness and isolation along with high performance and resource utilization. However, concurrent query executions on such shared clusters result in increased queue and resource waiting times for queries affecting their overall performance. MIFO is a dataflow aware scheduling policy that mitigates the impacts due to queue and resource contentions by reducing the waiting times for queries near completion. We present heuristics that exploit query semantics to proactively trigger MIFO-based allocations in a workload. Our experiments on Apache Spark using TPCDS benchmark show that compared to a FAIR policy, MIFO provides an improved mean response time, reduced makespan of the workload and average speedup between 1.2x-2.7x in highly concurrent setting with only a momentary deviation in fairness.
Prajakta Kalmegh, Shivnath Babu
SIGMOD Conference2
2019 iQCAR: inter-Query Contention Analyzer for Data Analytics Frameworks
abstract
Resource interferences caused by concurrent queries is one of the key reasons for unpredictable performance and missed workload SLAs in cluster computing systems. Analyzing these inter-query resource interactions is critical in order to answer time-sensitive questions like 'who is creating resource conflicts to my query'. More importantly, diagnosing whether the resource blocked times of a 'victim' query are caused by other queries or some other external factor can help the database administrator narrow down the many possibilities of query performance degradation. We introduce iQCAR, an inter-Query Contention Analyzer, that attributes blame for the slowdown of a query to concurrent queries. iQCAR models the resource conflicts using a multi-level directed acyclic graph that can help administrators compare impacts from concurrent queries, identify most contentious queries, resources and hosts in an online execution for a selected time window. Our experiments using TPCDS queries on Apache Spark show that our approach is substantially more accurate than other methods based on overlap time between concurrent queries.
Prajakta Kalmegh, Shivnath Babu, Sudeepa Roy 0001
SIGMOD Conference2
2019 Speedup Your Analytics: Automatic Parameter Tuning for Databases and Big Data Systems
abstract
Database and big data analytics systems such as Hadoop and Spark have a large number of configuration parameters that control memory distribution, I/O optimization, parallelism, and compression. Improper parameter settings can cause significant performance degradation and stability issues. However, regular users and even expert administrators struggle to understand and tune them to achieve good performance. In this tutorial, we review existing approaches on automatic parameter tuning for databases, Hadoop, and Spark, which we classify into six categories: rule-based, cost modeling, simulation-based, experiment-driven, machine learning, and adaptive tuning. We describe the foundations of different automatic parameter tuning algorithms and present pros and cons of each approach. We also highlight real-world applications and systems, and identify research challenges for handling cloud services, resource heterogeneity, and real-time analytics.
Jiaheng Lu, Yuxing Chen 0003, Herodotos Herodotou, Shivnath Babu
Proc. VLDB Endow.4
2018 iQCAR: Inter-Query Contention Analyzer
abstract
There are many approaches in use today to either prevent or minimize the impact of inter-query interactions on a shared cluster. Preventive measures often provide query execution isolation at the resource allocation level to guarantee a predictable query performance. Despite these measures, performance issues due to concurrent executions of mixed workloads are a common problem in large scale data processing systems. As a result, answering questions like who is causing my query to slowdown is important to diagnose resource conflicts in a multi-tenant environment for accurate blame attribution. However, accurate analysis of resource contention is challenging owing to a complex cause-effect relationship between resource utilization and runtime of concurrent queries (see Figure 1). For example, when some tasks get delayed because of a high demand for a particular resource (e.g. if they are blocked on CPU), they hold on to other resources (e.g. memory) as well, thus causing contention for other concurrently running queries on the held resources. Based on our user-study experience, this process is non-trivial and tedious, and involves hours of manually debugging through a cycle of query interactions.
Prajakta Kalmegh, Shivnath Babu, Sudeepa Roy 0001
SoCC2
2018 iQCAR: A Demonstration of an Inter-Query Contention Analyzer for Cluster Computing Frameworks
abstract
Unpredictability in query runtimes can arise in a shared cluster as a result of resource contentions caused by inter-query interactions. iQCAR - inter Query Contention AnalyzeR is a system that formally models these interferences between concurrent queries and provides a framework to attribute blame for contentions. iQCAR leverages a multi-level directed acyclic graph called iQCAR-Graph to diagnose the aberrations in query schedules that lead to these resource contentions. The demonstration will enable users to perform a step-wise deep exploration of such resource contentions faced by a query at various stages of its execution. The interface will allow users to identify top-k victims and sources of contentions, diagnose high-contention nodes and resources in the cluster, and rank their impacts on the performance of a query. Users will also be able to navigate through a set of rules recommended by iQCAR to compare how application of each rule by the cluster scheduler resolves the contentions in subsequent executions.
Prajakta Kalmegh, Harrison Lundberg, Frederick Xu, Shivnath Babu, Sudeepa Roy 0001
SIGMOD Conference4
2017 ROBUS: Fair Cache Allocation for Data-parallel Workloads
abstract
Systems for processing big data---e.g., Hadoop, Spark, and massively parallel databases---need to run workloads on behalf of multiple tenants simultaneously. The abundant disk-based storage in these systems is usually complemented by a smaller, but much faster, cache. Cache is a precious resource: Tenants who get to use the cache can see two orders of magnitude performance improvement. Cache is also a limited and hence shared resource: Unlike a resource like a CPU core which can be used by only one tenant at a time, a cached data item can be accessed by multiple tenants at the same time. Cache, therefore, has to be shared by a multi-tenancy-aware policy across tenants, each having a unique set of priorities and workload characteristics.
Mayuresh Kunjir, Brandon Fain, Kamesh Munagala, Shivnath Babu
SIGMOD Conference4
2017 Thoth in Action: Memory Management in Modern Data Analytics
abstract
Allocation and usage of memory in modern data-processing platforms is based on an interplay of algorithms at multiple levels: (i) at the resource-management level across containers allocated by resource managers like Mesos and Yarn, (ii) at the container level among the OS and processes such as the Java Virtual Machine (JVM), (iii) at the framework 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 as well as the heap versus off-heap. We use Thoth, a data-driven platform for multi-system cluster management, to build a deep understanding of different interplays in memory management options. Through multiple memory management apps built in Thoth, we demonstrate how Thoth can deal with multiple levels of memory management as well as multi-tenant nature of clusters.
Mayuresh Kunjir, Shivnath Babu
Proc. VLDB Endow.2
2016 Tempo: Robust and Self-Tuning Resource Management in Multi-tenant Parallel Databases
abstract
Multi-tenant database systems have a component called the Resource Manager, or RM that is responsible for allocating resources to tenants. RMs today do not provide direct support for performance objectives such as: "Average job response time of tenant A must be less than two minutes", or "No more than 5% of tenant B's jobs can miss the deadline of 1 hour." Thus, DBAs have to tinker with the RM's low-level configuration settings to meet such objectives. We propose a framework called Tempo that brings simplicity , self-tuning , and robustness to existing RMs. Tempo provides a simple interface for DBAs to specify performance objectives declaratively, and optimizes the RM configuration settings to meet these objectives. Tempo has a solid theoretical foundation which gives key robustness guarantees. We report experiments done on Tempo using production traces of data-processing workloads from companies such as Facebook and Cloudera. These experiments demonstrate significant improvements in meeting desired performance objectives over RM configuration settings specified by human experts.
Zilong Tan, Shivnath Babu
Proc. VLDB Endow.2
2015 Tutorial: SQL-on-Hadoop Systems
abstract
Enterprises are increasingly using Apache Hadoop, more specifically HDFS, as a central repository for all their data; data coming from various sources, including operational systems, social media and the web, sensors and smart devices, as well as their applications. At the same time many enterprise data management tools (e.g. from SAP ERP and SAS to Tableau) rely on SQL and many enterprise users are familiar and comfortable with SQL. As a result, SQL processing over Hadoop data has gained significant traction over the recent years, and the number of systems that provide such capability has increased significantly. In this tutorial we use the term SQL-on-Hadoop to refer to systems that provide some level of declarative SQL(-like) processing over HDFS and noSQL data sources, using architectures that include computational or storage engines compatible with Apache Hadoop.
Daniel J. Abadi, Shivnath Babu, Fatma Özcan 0001, Ippokratis Pandis
Proc. VLDB Endow.2
2015 Cumulon: Matrix-Based Data Analytics in the Cloud with Spot Instances
abstract
We describe Cümülön, a system aimed at helping users develop and deploy matrix-based data analysis programs in a public cloud. A key feature of Cümülön is its end-to-end support for the so-called spot instances ---machines whose market price fluctuates over time but is usually much lower than the regular fixed price. A user sets a bid price when acquiring spot instances, and loses them as soon as the market price exceeds the bid price. While spot instances can potentially save cost, they are difficult to use effectively, and run the risk of not finishing work while costing more. Cümülön provides a highly elastic computation and storage engine on top of spot instances, and offers automatic cost-based optimization of execution, deployment, and bidding strategies. Cümülön further quantifies how the uncertainty in the market price translates into the cost uncertainty of its recommendations, and allows users to specify their risk tolerance as an optimization constraint.
Botong Huang, Nicholas W. D. Jarrett, Shivnath Babu, Sayan Mukherjee 0001, Jun Yang 0001
Proc. VLDB Endow.3
2014 PStorM: Profile Storage and Matching for Feedback-Based Tuning of MapReduce Jobs
abstract
The MapReduce programming model has become widely adopted for large scale analytics on big data. MapReduce systems such as Hadoop have many tuning parameters, many of which have a significant impact on performance. The map and reduce functions that make up a MapReduce job are developed using arbitrary programming constructs, which makes them black-box in nature and prevents users from making good parameter tuning decisions for a submitted MapReduce job. Some research projects, such as the Starfish system, aim to provide automatic tuning decisions for input MapReduce jobs. Starfish and similar systems rely on an execution profile of a MapReduce job being tuned, and this profile is assumed to come from a previous execution of the same job. Managing these execution profiles has not been previously studied. This thesis presents PStorM, a profile store that organizes the collected profiling information in a scalable and extensible data model, and a profile matcher that accurately picks the relevant profiling information even for previously unseen MapReduce jobs. PStorM is currently integrated with the Starfish system, providing the necessary profiles that Starfish needs to tune a job. The thesis presents results that demonstrate the accuracy and efficiency of profile matching. The results also show that the profiles returned by PStorM lead to Starfish tuning decisions that are as good as the decisions made by profiles collected from a previous run of the job.
Mostafa Ead, Herodotos Herodotou, Ashraf Aboulnaga, Shivnath Babu
EDBT4
2014 Front Matter
Shivnath Babu
Proc. VLDB Endow.1
2014 Thoth: Towards Managing a Multi-System Cluster
abstract
Following the 'no one size fits all' philosophy, active research in big data platforms is focusing on creating an environment for multiple 'one-size' systems to co-exist and cooperate in the same cluster. Consequently, it has now become imperative to provide an integrated management solution that provides a database-centric view of the underlying multi-system environment. We outline the proposal of DBMS + , a database management platform over multiple 'one-size' systems. Our prototype implementation of DBMS + , called Thoth , adaptively chooses a best-fit system based on application requirements. In this demonstration, we propose to showcase Thoth DM , a data management framework for Thoth which consists of a data collection pipeline utility, data consolidation and dispatcher module, and a warehouse for storing this data. We further introduce the notion of apps ; an app is a utility that registers with Thoth DM and interfaces with its warehouse to provide core database management functionalities like dynamic provisioning of resources, designing a multi-system-aware optimizer, tuning of configuration parameters on each system, data storage, and layout schemes. We will demonstrate Thoth DM in action over Hive, Hadoop, Shark, Spark, and the Hadoop Distributed File System. This demonstration will focus on the following apps : (i) Dashboard for administration and control that will let the audience monitor and visualize a database-centric view of the multi-system cluster, and (ii) Data Layout Recommender app will allow searching for the optimal data layout in the multi-system setting.
Mayuresh Kunjir, Prajakta Kalmegh, Shivnath Babu
Proc. VLDB Endow.3
2013 How to Fit when No One Size Fits
Harold Lim, Yuzhang Han, Shivnath Babu
CIDR3
2013 Rapid experimentation for testing and tuning a production database deployment
abstract
The need to perform testing and tuning of database instances with production-like workloads (W), configurations (C), data (D), and resources (R) arises routinely. The further W, C, D, and R used in testing and tuning deviate from what is observed on the production database instance, the lower is the trustworthiness of the testing and tuning tasks done. For example, it is common to hear about performance degradation observed after the production database is upgraded from one software version to another. A typical cause of this problem is that the W, C, D, or R used during upgrade testing differed in some way from that on the production database. Performing testing and tuning tasks in principled and automated ways is very important, especially since---spurred by innovations in cloud computing---the number of database instances that a database administrator (DBA) has to manage is growing rapidly.
Nedyalko Borisov, Shivnath Babu
EDBT2
2013 Workload management for Big Data analytics
abstract
Parallel database systems and MapReduce systems are essential components of today's infrastructure for Big Data analytics. These systems process multiple concurrent workloads consisting of complex user requests, where each request is associated with an (explicit or implicit) service level objective.
Ashraf Aboulnaga, Shivnath Babu
ICDE2
2013 Workload management for big data analytics
abstract
tutorial Share on Workload management for big data analytics Authors: Ashraf Aboulnaga University of Waterloo, Waterloo, ON, Canada University of Waterloo, Waterloo, ON, CanadaView Profile , Shivnath Babu Duke University, Durham, NC, USA Duke University, Durham, NC, USAView Profile Authors Info & Claims SIGMOD '13: Proceedings of the 2013 ACM SIGMOD International Conference on Management of DataJune 2013Pages 929–932https://doi.org/10.1145/2463676.2467801Published:22 June 2013Publication History 4citation676DownloadsMetricsTotal Citations4Total Downloads676Last 12 Months5Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Ashraf Aboulnaga, Shivnath Babu
SIGMOD Conference2
2013 Cumulon: optimizing statistical data analysis in the cloud
abstract
We present Cumulon, a system designed to help users rapidly develop and intelligently deploy matrix-based big-data analysis programs in the cloud. Cumulon features a flexible execution model and new operators especially suited for such workloads. We show how to implement Cumulon on top of Hadoop/HDFS while avoiding limitations of MapReduce, and demonstrate Cumulon's performance advantages over existing Hadoop-based systems for statistical data analysis. To support intelligent deployment in the cloud according to time/budget constraints, Cumulon goes beyond database-style optimization to make choices automatically on not only physical operators and their parameters, but also hardware provisioning and configuration settings. We apply a suite of benchmarking, simulation, modeling, and search techniques to support effective cost-based optimization over this rich space of deployment plans.
Botong Huang, Shivnath Babu, Jun Yang 0001
SIGMOD Conference2
2013 Execution and optimization of continuous queries with cyclops
abstract
As the data collected by enterprises grows in scale, there is a growing trend of performing data analytics on large datasets. Batch processing systems that can handle petabyte scale of data, such as Hadoop, have flourished and gained traction in the industry. As the results of batch analytics have been used to continuously improve front-facing user experience, there is a growing interest in pushing the processing latency down. This trend has fueled a resurgence in the development and usage of execution engines that can process continuous queries.
Harold Lim, Shivnath Babu
SIGMOD Conference2
2012 A practical concurrent index for solid-state drives
abstract
Solid-state drives are becoming a viable alternative to magnetic disks in database systems, but their performance characteristics, particularly those caused by their erase-before-write behavior, make conventional database indexes a poor fit. There have been various proposals of indexes specialized for these devices, but to make such indexes practical, we must address the issue of concurrency control. Good concurrency control is especially critical to indexes on solid-state drives, because they typically rely on batch updates, which may take long and block concurrent index accesses. We design, implement, and evaluate an index structure called FD+tree and an associated concurrency control scheme called FD+FC. Our evaluation confirms significant performance advantages of our approach over less sophisticated ones, and brings ou insights on data structure design and OLTP performance tuning on solid-state drives.
Risi Thonangi, Shivnath Babu, Jun Yang 0001
CIKM2
2012 Stubby: A Transformation-based Optimizer for MapReduce Workflows
abstract
There is a growing trend of performing analysis on large datasets using workflows composed of MapReduce jobs connected through producer-consumer relationships based on data. This trend has spurred the development of a number of interfaces---ranging from program-based to query-based interfaces---for generating MapReduce workflows. Studies have shown that the gap in performance can be quite large between optimized and unoptimized workflows. However, automatic cost-based optimization of MapReduce workflows remains a challenge due to the multitude of interfaces, large size of the execution plan space, and the frequent unavailability of all types of information needed for optimization. We introduce a comprehensive plan space for MapReduce workflows generated by popular workflow generators. We then propose Stubby , a cost-based optimizer that searches selectively through the subspace of the full plan space that can be enumerated correctly and costed based on the information available in any given setting. Stubby enumerates the plan space based on plan-to-plan transformations and an efficient search algorithm. Stubby is designed to be extensible to new interfaces and new types of optimizations, which is a desirable feature given how rapidly MapReduce systems are evolving. Stubby's efficiency and effectiveness have been evaluated using representative workflows from many domains.
Harold Lim, Herodotos Herodotou, Shivnath Babu
Proc. VLDB Endow.3
2011 Starfish: A Self-tuning System for Big Data Analytics
Herodotos Herodotou, Harold Lim, Nedyalko Borisov, Fatma Bilgen Cetin, Shivnath Babu
CIDR7
2011 No one (cluster) size fits all: automatic cluster sizing for data-intensive analytics
abstract
Infrastructure-as-a-Service (IaaS) cloud platforms have brought two unprecedented changes to cluster provisioning practices. First, any (nonexpert) user can provision a cluster of any size on the cloud within minutes to run her data-processing jobs. The user can terminate the cluster once her jobs complete, and she needs to pay only for the resources used and duration of use. Second, cloud platforms enable users to bypass the traditional middleman---the system administrator---in the cluster-provisioning process. These changes give tremendous power to the user, but place a major burden on her shoulders. The user is now faced regularly with complex cluster sizing problems that involve finding the cluster size, the type of resources to use in the cluster from the large number of choices offered by current IaaS cloud platforms, and the job configurations that best meet the performance needs of her workload.
Herodotos Herodotou, Shivnath Babu
SoCC3
2011 Predicting completion times of batch query workloads using interaction-aware models and simulation
abstract
A question that database administrators (DBAs) routinely need to answer is how long a batch query workload will take to complete. This question arises, for example, while planning the execution of different report-generation workloads to fit within available time windows. To answer this question accurately, we need to take into account that the typical workload in a database system consists of mixes of concurrent queries. Interactions among different queries in these mixes need to be modeled, rather than the conventional approach of considering each query separately. This paper presents a new approach for estimating workload completion times that takes the significant impact of query interactions into account. This approach builds performance models using an experiment-driven technique, by sampling the space of possible query mixes and fitting statistical models to the observed performance at these samples. No prior assumptions are made about the internal workings of the database system or the cause of query interactions, making the models robust and portable. We show that a careful choice of sampling and statistical modeling strategies can result in accurate models, and we present a novel interaction-aware workload simulator that uses these models to estimate workload completion times. An experimental evaluation with complex TPC-H queries on IBM DB2 shows that this approach consistently predicts workload completion times with less than 20% error.
Mumtaz Ahmad 0001, Songyun Duan, Ashraf Aboulnaga, Shivnath Babu
EDBT4
2011 Warding off the dangers of data corruption with amulet
abstract
Occasional corruption of stored data is an unfortunate byproduct of the complexity of modern systems. Hardware errors, software bugs, and mistakes by human administrators can corrupt important sources of data. The dominant practice to deal with data corruption today involves administrators writing ad hoc scripts that run data-integrity tests at the application, database, file-system, and storage levels. This manual approach is tedious, error-prone, and provides no understanding of the potential system unavailability and data loss if a corruption were to occur. We introduce the Amulet system that addresses the problem of verifying the correctness of stored data proactively and continuously. To our knowledge, Amulet is the first system that: (i) gives administrators a declarative language to specify their objectives regarding the detection and repair of data corruption; (ii) contains optimization and execution algorithms to ensure that the administrator's objectives are met robustly and with least cost, e.g., using pay-as-you cloud resources; and (iii) provides timely notification when corruption is detected, allowing proactive repair of corruption before it impacts users and applications. We describe the implementation and a comprehensive evaluation of Amulet for a database software stack deployed on an infrastructure-as-a-service cloud provider.
Nedyalko Borisov, Shivnath Babu, NagaPramod Mandagere, Sandeep Uttamchandani
SIGMOD Conference2
2011 Query optimization techniques for partitioned tables
abstract
Table partitioning splits a table into smaller parts that can be accessed, stored, and maintained independent of one another. From their traditional use in improving query performance, partitioning strategies have evolved into a powerful mechanism to improve the overall manageability of database systems. Table partitioning simplifies administrative tasks like data loading, removal, backup, statistics maintenance, and storage provisioning. Query language extensions now enable applications and user queries to specify how their results should be partitioned for further use. However, query optimization techniques have not kept pace with the rapid advances in usage and user control of table partitioning. We address this gap by developing new techniques to generate efficient plans for SQL queries involving multiway joins over partitioned tables. Our techniques are designed for easy incorporation into bottom-up query optimizers that are in wide use today. We have prototyped these techniques in the PostgreSQL optimizer. An extensive evaluation shows that our partition-aware optimization techniques, with low optimization overhead, generate plans that can be an order of magnitude better than plans produced by current optimizers.
Herodotos Herodotou, Nedyalko Borisov, Shivnath Babu
SIGMOD Conference3
2011 Proactive Detection and Repair of Data Corruption: Towards a Hassle-free Declarative Approach with Amulet
Nedyalko Borisov, Shivnath Babu
Proc. VLDB Endow.2
2011 Profiling, What-if Analysis, and Cost-based Optimization of MapReduce Programs
Herodotos Herodotou, Shivnath Babu
Proc. VLDB Endow.2
2011 MapReduce Programming and Cost-based Optimization? Crossing this Chasm with Starfish
Herodotos Herodotou, Shivnath Babu
Proc. VLDB Endow.3
2011 Interaction-aware scheduling of report-generation workloads
Mumtaz Ahmad 0001, Ashraf Aboulnaga, Shivnath Babu, Kamesh Munagala
VLDB J.3
2010 Towards automatic optimization of MapReduce programs
abstract
Timely and cost-effective processing of large datasets has become a critical ingredient for the success of many academic, government, and industrial organizations. The combination of MapReduce frameworks and cloud computing is an attractive proposition for these organizations. However, even to run a single program in a MapReduce framework, a number of tuning parameters have to be set by users or system administrators. Users often run into performance problems because they don't know how to set these parameters, or because they don't even know that these parameters exist. With MapReduce being a relatively new technology, it is not easy to find qualified administrators. In this position paper, we make a case for techniques to automate the setting of tuning parameters for MapReduce programs. The objective is to provide good out-of-the-box performance for ad hoc MapReduce programs run on large datasets. This feature can go a long way towards improving the productivity of users who lack the skills to optimize programs themselves due to lack of familiarity with MapReduce or with the data being processed.
Shivnath Babu
SoCC1
2010 Interaction-aware prediction of business intelligence workload completion times
abstract
While planning the execution of report-generation workloads, database administrators often need to know how long different query workloads will take to run. Database systems run mixes of multiple queries of different types concurrently. Hence, estimating the completion time of a query workload requires reasoning about query mixes and inter-query interactions in the mixes; rather than considering queries or query types in isolation. This paper presents a novel approach for estimating workload completion time based on experiment-driven modeling and simulation of the impact of inter-query interactions. A preliminary evaluation of this approach with TPC-H queries on IBM DB2 shows how our approach can consistently predict workload completion times with good accuracy.
Mumtaz Ahmad 0001, Songyun Duan, Ashraf Aboulnaga, Shivnath Babu
ICDE4
2010 iTuned: a tool for configuring and visualizing database parameters
abstract
iTuned is a tool that takes a SQL workload as input and recommends good settings for database configuration parameters such as buffer pool sizes, multi-programming level, and number of I/O daemons. iTuned also provides response-surface and sensitivity-analysis plots that help the end-user analyze the impact of each parameter. iTuned has the following novel features: (i) a technique called Adaptive Sampling that proactively brings in appropriate data through planned experiments to find high-impact parameters and high-performance parameter settings, (ii) an executor that supports on-line experiments in production database environments through a cycle-stealing paradigm that places minimal overhead on the production workload, and (iii) portability across different database systems. This demonstration will focus on the interesting use-case scenarios of iTuned, and show the effectiveness of recommended configuration settings on popular database benchmarks.
Vamsidhar Thummala, Shivnath Babu
SIGMOD Conference2
2010 Xplus: A SQL-Tuning-Aware Query Optimizer
abstract
The need to improve a suboptimal execution plan picked by the query optimizer for a repeatedly run SQL query arises routinely. Complex expressions, skewed or correlated data, and changing conditions can cause the optimizer to make mistakes. For example, the optimizer may pick a poor join order, overlook an important index, use a nested-loop join when a hash join would have done better, or cause an expensive, but avoidable, sort to happen. SQL tuning is also needed while tuning multi-tier services to meet service-level objectives. The difficulty of SQL tuning can be lessened considerably if users and higher-level tuning tools can tell the optimizer: "I am not satisfied with the performance of the plan p being used for the query Q that runs repeatedly. Can you generate a (δ%) better plan?" This paper designs, implements, and evaluates Xplus which, to our knowledge, is the first query optimizer to provide this feature. Xplus goes beyond the traditional plan-first-execute-next approach: Xplus runs some (sub)plans proactively, collects monitoring data from the runs, and iterates. A nontrivial challenge is in choosing a small set of plans to run. Xplus guides this process efficiently using an extensible architecture comprising SQL-tuning experts with different goals, and a policy to arbitrate among the experts. We show the effectiveness of Xplus on real-life tuning scenarios created using TPC-H queries on a PostgreSQL database.
Herodotos Herodotou, Shivnath Babu
Proc. VLDB Endow.2
2009 DIADS: Addressing the "My-Problem-or-Yours" Syndrome with Integrated SAN and Database Diagnosis
Shivnath Babu, Nedyalko Borisov, Sandeep Uttamchandani, Ramani Routray, Aameek Singh
FAST1
2009 Automated Experiment-Driven Management of (Database) Systems
Shivnath Babu, Nedyalko Borisov, Songyun Duan, Herodotos Herodotou, Vamsidhar Thummala
HotOS1
2009 Automated Diagnosis of System Failures with Fa
abstract
While quick failure diagnosis and system recovery is critical, database and system administrators continue to struggle with this problem. The spectrum of possible causes of failure is huge: performance problems like resource contention, crashes due to hardware faults or software bugs, misconfiguration by system operators, and many others. The scale, complexity, and dynamics of modern systems make it laborious and time-consuming to track down the cause of failures manually. Conventional data-mining techniques like clustering and classification have a lot to offer to the hard problem of failure diagnosis. These techniques can be applied to the wealth of monitoring data that operational systems collect. However, some novel challenges need to be solved before these techniques can deliver an automated, efficient, and reasonably-accurate tool for diagnosing failures using monitoring data; a tool that is easy and intuitive to use. Fa is a new system for automated diagnosis of system failures that is designed to address the above challenges. When a system is running, Fa collects monitoring data periodically and stores it in a database.
Songyun Duan, Shivnath Babu
ICDE2
2009 Fa: A System for Automating Failure Diagnosis
abstract
Failures of Internet services and enterprise systems lead to user dissatisfaction and considerable loss of revenue. Since manual diagnosis is often laborious and slow, there is considerable interest in tools that can diagnose the cause of failures quickly and automatically from system-monitoring data. This paper identifies two key data-mining problems arising in a platform for automated diagnosis called Fa. Fa uses monitoring data to construct a database of failure signatures against which data from undiagnosed failures can be matched. Two novel challenges we address are to make signatures robust to the noisy monitoring data in production systems, and to generate reliable confidence estimates for matches. Fa uses a new technique called anomaly- based clustering when the signature database has no high- confidence match for an undiagnosed failure. This technique clusters monitoring data based on how it differs from the failure data, and pinpoints attributes linked to the failure. We show the effectiveness of Fa through a comprehensive experimental evaluation based on failures from a production setting, a variety of failures injected in a testbed, and synthetic data.
Songyun Duan, Shivnath Babu, Kamesh Munagala
ICDE2
2009 Shaman: A Self-Healing Database System
abstract
A self-healing system is a grand-challenge vision where the system will detect, diagnose, and repair performance problems and hardware/software faults automatically. These systems take humans out of the failure-recovery loop, enabling recovery to happen at fast machine timescales rather than slower human timescales. Are self-healing database systems Utopia or just a hard puzzle to solve? We argue for the latter and propose to demonstrate a self-healing database system, called Shaman, that is being prototyped at Duke.
Songyun Duan, Peter Franklin, Vamsidhar Thummala, Shivnath Babu
ICDE5
2009 Large-scale uncertainty management systems: learning and exploiting your data
abstract
The database community has made rapid strides in capturing, representing, and querying uncertain data. Probabilistic databases capture the inherent uncertainty in derived tuples as probability estimates. Data acquisition and stream systems can produce succinct summaries of very large and time-varying datasets. This tutorial addresses the natural next step in harnessing uncertain data: How can we efficiently and quantifiably determine what, how, and how much to learn in order to make good decisions based on the imprecise information available.
Shivnath Babu, Sudipto Guha, Kamesh Munagala
SIGMOD Conference1
2009 DIADS: A Problem Diagnosis Tool for Databases and Storage Area Networks
abstract
Many enterprise environments have databases running on network-attached storage infrastructure (referred to as Storage Area Networks or SANs ). Both the database and the SAN are complex subsystems that are managed by separate teams of administrators. As often as not, database administrators have limited understanding of SAN configuration and behavior, and limited visibility into the SAN's run-time performance; and vice versa for the SAN administrators. Diagnosing the cause of performance problems is a challenging exercise in these environments. We propose to remedy the situation through a novel tool, called Diads, for database and SAN problem diagnosis. This demonstration proposal summarizes the technical innovations in Diads: (i) a powerful abstraction called Annotated Plan Graphs (APGs) that ties together the execution path of queries in the database and the SAN using low-overhead monitoring data, and (ii) a diagnosis workflow that combines domain-specific knowledge with machine-learning techniques. The scenarios presented in the demonstration are also described.
Nedyalko Borisov, Shivnath Babu, Sandeep Uttamchandani, Ramani Routray, Aameek Singh
Proc. VLDB Endow.2
2009 Tuning Database Configuration Parameters with iTuned
abstract
Database systems have a large number of configuration parameters that control memory distribution, I/O optimization, costing of query plans, parallelism, many aspects of logging, recovery, and other behavior. Regular users and even expert database administrators struggle to tune these parameters for good performance. The wave of research on improving database manageability has largely overlooked this problem which turns out to be hard to solve. We describe iTuned, a tool that automates the task of identifying good settings for database configuration parameters. iTuned has three novel features: (i) a technique called Adaptive Sampling that proactively brings in appropriate data through planned experiments to find high-impact parameters and high-performance parameter settings, (ii) an executor that supports online experiments in production database environments through a cycle-stealing paradigm that places near-zero overhead on the production workload; and (iii) portability across different database systems. We show the effectiveness of iTuned through an extensive evaluation based on different types of workloads, database systems, and usage scenarios.
Songyun Duan, Vamsidhar Thummala, Shivnath Babu
Proc. VLDB Endow.3
2008 Modeling and exploiting query interactions in database systems
abstract
The typical workload in a database system consists of a mixture of multiple queries of different types, running concurrently and interacting with each other. Hence, optimizing performance requires reasoning about query mixes and their interactions, rather than considering individual queries or query types. In this paper, we show the significant impact that query interactions can have on workload performance. We present a new approach based on planning experiments and statistical modeling to capture the impact of query interactions. This approach requires no prior assumptions about the internal workings of the database system or the nature or cause of query interactions, making it portable across systems. As a concrete demonstration of the potential of capturing, modeling, and exploiting query interactions, we develop a novel interaction-aware query scheduler that targets report-generation workloads in Business Intelligence (BI) settings. Under certain assumptions, the schedule found by this scheduler is within a constant factor of optimal. An experimental evaluation with TPC-H queries on IBM DB2 demonstrates that our scheduler consistently outperforms (up to 4x) conventional schedulers that do not account for query interactions.
Mumtaz Ahmad 0001, Ashraf Aboulnaga, Shivnath Babu, Kamesh Munagala
CIKM3
2008 QShuffler: Getting the Query Mix Right
abstract
The typical workload in a database system consists of a mixture of multiple queries of different types, running concurrently and interacting with each other. Hence, optimizing performance requires reasoning about query mixes and their interactions, rather than considering individual queries or query types. In this paper, we use such a reasoning approach to develop a query scheduler. We treat the database system as a black box and experimentally build a model to estimate the performance of different query mixes. Our scheduler uses this model to decide which query mixes to schedule, with the goal of maximizing throughput. We experimentally demonstrate the effectiveness of our scheduler using queries from the TPC-H benchmark on DB2.
Mumtaz Ahmad 0001, Ashraf Aboulnaga, Shivnath Babu, Kamesh Munagala
ICDE3
2008 Processing Diagnosis Queries: A Principled and Scalable Approach
abstract
Many popular Web sites suffer occasional user-visible problems such as slow responses, blank pages or error messages being displayed, items not being added to shopping carts, database slowdowns, and others. Such deviations of systems from desired behavior, or failures, can cause user dissatisfaction and considerable loss of revenue. The scale, complexity, and dynamics of modern systems make it hard to track down the cause of failures manually. We address this problem through a new class of declarative queries, called diagnosis queries, that a system administrator or user can pose to pinpoint the cause of a failure. We describe how diagnosis queries are specified over system-monitoring data, and the challenges faced by current techniques to process these queries. We develop and evaluate a new algorithm, based on a combination of clustering and classification, to process diagnosis queries automatically, efficiently, and with good accuracy.
Shivnath Babu, Songyun Duan, Kamesh Munagala
ICDE1
2008 Finding Good Configurations in High-Dimensional Spaces: Doing More with Less
Risi Thonangi, Vamsidhar Thummala, Shivnath Babu
MASCOTS3
2008 Cutting Corners: Workbench Automation for Server Benchmarking
Piyush Shivam, Varun Marupadi, Jeffrey S. Chase, Thileepan Subramaniam, Shivnath Babu
USENIX ATC5
2007 On Suspending and Resuming Dataflows
abstract
Consider a long-running, resource-intensive query Q running on a database management system (DBMS). Suppose another task T with much higher priority arrives, and we need to process T as quickly as possible and with all available resources. Ideally, the system should suspend the execution of Q, quickly release all resources held by Q, and start T using all resources. Query Q can be resumed once T finishes execution, ideally without losing any significant fraction of the work that Q had done prior to suspend. Beyond supporting mixed-priority DBMS workloads, suspend/resume of queries, or dataflows in general, is important in many other settings: Utility and grid: Dataflows now run frequently on computational utilities and grids composed of autonomous resources. When the owner of resources wants to use them, dataflows running on these resources must release control quickly, and migrate to other resources. Software rejuvenation: Benefits of software rejuvenation, the practice of rebooting enterprise computing systems regularly, are now recognized widely. Reboot is critical when performance degrades due to resource exhaustion caused by resource leaks. Suspend and resume is important in this setting because (1) the challenge of predicting completion times accurately makes it difficult to schedule task completion to match a rejuvenation schedule; (2) when performance degrades, it may not be cost-effective to wait for all dataflows to complete before rebooting.
Badrish Chandramouli, Christopher N. Bond, Shivnath Babu, Jun Yang 0001
ICDE3
2007 Query suspend and resume
abstract
Suppose a long-running analytical query is executing on a database server and has been allocated a large amount of physical memory. A high-priority task comes in and we need to run it immediately with all available resources. We have several choices. We could swap out the old query to disk, but writing out a large execution state may take too much time. Another option is to terminate the old query and restart it after the new task completes, but we would waste all the work already performed by the old query. Yet another alternative is to periodically checkpoint the query during execution, but traditional synchronous checkpointing carries high overhead. In this paper, we advocate a database-centric approach to implementing query suspension and resumption, with negligible execution overhead, bounded suspension cost, and efficient resumption. The basic idea is to let each physical query operator perform lightweight checkpointing according to its own semantics, and coordinate asynchronous checkpoints among operators through a novel contracting mechanism. At the time of suspension, we find an optimized suspend plan for the query, which may involve a combination of dumping current state to disk and going back to previous checkpoints. The plan seeks to minimize the suspend/resume overhead while observing the constraint on suspension time. Our approach requires only small changes to the iterator interface, which we have implemented in the PREDATOR database system. Experiments with our implementation demonstrate significant advantages of our approach over traditional alternatives.
Badrish Chandramouli, Christopher N. Bond, Shivnath Babu, Jun Yang 0001
SIGMOD Conference3
2007 Automated and on-demand provisioning of virtual machines for database applications
abstract
Utility computing delivers compute and storage resources to applications as an 'on-demand utility', much like electricity, from a distributed collection of computing resources. There is great interest in running database applications on utility resources (e.g., Oracle's Grid initiative) due to reduced infrastructure and management costs, higher resource utilization, and the ability to handle sudden load surges. Virtual Machine (VM) technology offers powerful mechanisms to manage a utility resource infrastructure. However, provisioning VMs for applications to meet system performance goals, e.g., to meet service level agreements (SLAs), is an open problem. We are building two systems at Duke - Shirako and NIMO - that collectively address this problem.
Piyush Shivam, Azbayar Demberel, Pradeep Gunda, David Irwin 0001, Laura E. Grit, Aydan R. Yumerefendi, Shivnath Babu, Jeffrey S. Chase
SIGMOD Conference7
2007 Processing Forecasting Queries
Songyun Duan, Shivnath Babu
VLDB2
2006 Proactive identification of performance problems
abstract
We propose to demonstrate Fa, an automated tool for timely and accurate prediction of Service-Level-Agreement (SLA) violations caused by performance problems in database systems. Fa periodically collects performance data at three levels: applications, database server, and operating system. This data is used to construct probabilistic models for predicting SLA violations. Fa currently uses graphical Bayesian network models because of their ability to support a wide range of inferences, including prediction and diagnosis, as well as their support for interactive visualization and presentation of complex system behavior in intuitive ways.
Songyun Duan, Shivnath Babu
SIGMOD Conference2
2006 Active and Accelerated Learning of Cost Models for Optimizing Scientific Applications
Piyush Shivam, Shivnath Babu, Jeffrey S. Chase
VLDB2
2006 The CQL continuous query language: semantic foundations and query execution
Arvind Arasu, Shivnath Babu, Jennifer Widom
VLDB J.2
2005 Adaptive Query Processing in the Looking Glass
Shivnath Babu, Pedro Bizarro
CIDR1
2005 Adaptive Caching for Continuous Queries
abstract
We address the problem of executing continuous multiway join queries in unpredictable and volatile environments. Our query class captures windowed join queries in data stream systems as well as conventional maintenance of materialized join views. Our adaptive approach handles streams of updates whose rates and data characteristics may change over time, as well as changes in system conditions such as memory availability. In this paper we focus specifically on the problem of adaptive placement and removal of caches to optimize join performance. Our approach automatically considers conventional tree-shaped join plans with materialized subresults at every intermediate node, sub result-free MJoins, and the entire spectrum between them. We provide algorithms for selecting caches, monitoring their cost and benefits in current conditions, allocating memory to caches, and adapting as conditions change. All of our algorithms are implemented in the STREAM prototype data stream management system and a thorough experimental evaluation is included.
Shivnath Babu, Kamesh Munagala, Jennifer Widom, Rajeev Motwani 0001
ICDE1
2005 The Pipelined Set Cover Problem
Kamesh Munagala, Shivnath Babu, Rajeev Motwani 0001, Jennifer Widom
ICDT2
2005 Proactive Re-optimization
abstract
Traditional query optimizers rely on the accuracy of estimated statistics to choose good execution plans. This design often leads to suboptimal plan choices for complex queries, since errors in estimates for intermediate subexpressions grow exponentially in the presence of skewed and correlated data distributions. Reoptimization is a promising technique to cope with such mistakes. Current re-optimizers first use a traditional optimizer to pick a plan, and then react to estimation errors and resulting suboptimalities detected in the plan during execution. The effectiveness of this approach is limited because traditional optimizers choose plans unaware of issues affecting reoptimization. We address this problem using proactive reoptimization, a new approach that incorporates three techniques: i) the uncertainty in estimates of statistics is computed in the form of bounding boxes around these estimates, ii) these bounding boxes are used to pick plans that are robust to deviations of actual values from their estimates, and iii) accurate measurements of statistics are collected quickly and efficiently during query execution. We present an extensive evaluation of these techniques using a prototype proactive re-optimizer named Rio. In our experiments Rio outperforms current re-optimizers by up to a factor of three.
Shivnath Babu, Pedro Bizarro, David J. DeWitt
SIGMOD Conference1
2005 Proactive re-optimization with Rio
abstract
Traditional query optimizers rely on the accuracy of estimated statistics of intermediate subexpressions to choose good query execution plans. This design often leads to suboptimal plan choices for complex queries since errors in estimates grow exponentially in the presence of skewed and correlated data distributions. We propose to demonstrate the Rio prototype database system that uses proactive re-optimization to address the problems with traditional optimizers. Rio supports three new techniques:1. Intervals of uncertainty are considered around estimates of statistics during plan enumeration and costing2. These intervals are used to pick execution plans that are robust to deviations of actual values of statistics from estimated values, or to defer the choice of execution plan until the uncertainty in estimates can be resolved3. Statistics of intermediate subexpressions are collected quickly, accurately, and efficiently during query executionThese three features are fully functional in the current Rio prototype which is built using the Predator open-source DBMS [5]. In this proposal, we first describe the novel features of Rio, then we use an example query to illustrate the main aspects of our demonstration.
Shivnath Babu, Pedro Bizarro, David J. DeWitt
SIGMOD Conference1
2005 Content-Based Routing: Different Plans for Different Data
Pedro Bizarro, Shivnath Babu, David J. DeWitt, Jennifer Widom
VLDB2
2004 Adaptive Ordering of Pipelined Stream Filters
abstract
We consider the problem of pipelined filters, where a continuous stream of tuples is processed by a set of commutative filters. Pipelined filters are common in stream applications and capture a large class of multiway stream joins. We focus on the problem of ordering the filters adaptively to minimize processing cost in an environment where stream and filter characteristics vary unpredictably over time. Our core algorithm, A-Greedy (for Adaptive Greedy), has strong theoretical guarantees: If stream and filter characteristics were to stabilize, A-Greedy would converge to an ordering within a small constant factor of optimal. (In experiments A-Greedy usually converges to the optimal ordering.) One very important feature of A-Greedy is that it monitors and responds to selectivities that are correlated across filters (i.e., that are nonindependent), which provides the strong quality guarantee but incurs run-time overhead. We identify a three-way tradeoff among provable convergence to good orderings, run-time overhead, and speed of adaptivity. We develop a suite of variants of A-Greedy that lie at different points on this tradeoff spectrum. We have implemented all our algorithms in the STREAM prototype Data Stream Management System and a thorough performance evaluation is presented.
Shivnath Babu, Rajeev Motwani 0001, Kamesh Munagala, Itaru Nishizawa, Jennifer Widom
SIGMOD Conference1
2004 StreaMon: An Adaptive Engine for Stream Query Processing
abstract
StreaMon is the adaptive query processing engine of the STREAM prototype Data Stream Management System (DSMS) [4]. A fundamental challenge in many DSMS applications (e.g., network monitoring, financial monitoring over stock tickers, sensor processing) is that conditions may vary significantly over time. Since queries in these systems are usually long-running, or continuous [4], it is important to consider adaptive approaches to query processing. Without adaptivity, performance may drop drastically as stream data and arrival characteristics, query loads, and system conditions change over time.StreaMon uses several techniques to support adaptive query processing [1, 2, 3]; we demonstrate three of them:•Reducing run-time memory requirements for continuous queries by exploiting stream data and arrival patterns.•Adaptive join ordering for pipelined multiway stream joins, with strong quality guarantees.•Placing subresult caches adaptively in pipelined multiway stream joins to avoid recomputation of intermediate results.
Shivnath Babu, Jennifer Widom
SIGMOD Conference1
2004 Characterizing memory requirements for queries over continuous data streams
abstract
This article deals with continuous conjunctive queries with arithmetic comparisons and optional aggregation over multiple data streams. An algorithm is presented for determining whether or not any given query can be evaluated using a bounded amount of memory for all possible instances of the data streams. For queries that can be evaluated using bounded memory, an execution strategy based on constant-sized synopses of the data streams is proposed. For queries that cannot be evaluated using bounded memory, data stream scenarios are identified in which evaluating the queries requires memory linear in the size of the unbounded streams.
Arvind Arasu, Brian Babcock, Shivnath Babu, Jon McAlister, Jennifer Widom
ACM Trans. Database Syst.3
2004 Exploiting k-constraints to reduce memory overhead in continuous queries over data streams
abstract
Continuous queries often require significant run-time state over arbitrary data streams. However, streams may exhibit certain data or arrival patterns, or constraints , that can be detected and exploited to reduce state considerably without compromising correctness. Rather than requiring constraints to be satisfied precisely, which can be unrealistic in a data streams environment, we introduce k-constraints , where k is an adherence parameter specifying how closely a stream adheres to the constraint. (Smaller k 's are closer to strict adherence and offer better memory reduction.) We present a query processing architecture, called k-Mon , that detects useful k -constraints automatically and exploits the constraints to reduce run-time state for a wide range of continuous queries. Experimental results showed dramatic state reduction, while only modest computational overhead was incurred for our constraint monitoring and query execution algorithms.
Shivnath Babu, Utkarsh Srivastava, Jennifer Widom
ACM Trans. Database Syst.1
2004 Operator scheduling in data stream systems
Brian Babcock, Shivnath Babu, Mayur Datar, Rajeev Motwani 0001, Dilys Thomas
VLDB J.2
2003 Query Processing, Approximation, and Resource Management in a Data Stream Management System
Rajeev Motwani 0001, Jennifer Widom, Arvind Arasu, Brian Babcock, Shivnath Babu, Mayur Datar, Gurmeet Singh Manku, Christopher Olston, Justin Rosenstein, Rohit Varma
CIDR5
2003 STREAM: The Stanford Stream Data Manager
Arvind Arasu, Brian Babcock, Shivnath Babu, Mayur Datar, Keith Ito, Itaru Nishizawa, Justin Rosenstein, Jennifer Widom
SIGMOD Conference3
2003 Chain : Operator Scheduling for Memory Minimization in Data Stream Systems
abstract
In many applications involving continuous data streams, data arrival is bursty and data rate fluctuates over time. Systems that seek to give rapid or real-time query responses in such an environment must be prepared to deal gracefully with bursts in data arrival without compromising system performance. We discuss one strategy for processing bursty streams --- adaptive, load-aware scheduling of query operators to minimize resource consumption during times of peak load. We show that the choice of an operator scheduling strategy can have significant impact on the run-time system memory usage. We then present Chain scheduling, an operator scheduling strategy for data stream systems that is near-optimal in minimizing run-time memory usage for any collection of single-stream queries involving selections, projections, and foreign-key joins with stored relations. Chain scheduling also performs well for queries with sliding-window joins over multiple streams, and multiple queries of the above types. A thorough experimental evaluation is provided where we demonstrate the potential benefits of Chain scheduling, compare it with competing scheduling strategies, and validate our analytical conclusions.
Brian Babcock, Shivnath Babu, Mayur Datar, Rajeev Motwani 0001
SIGMOD Conference2
2002 Characterizing Memory Requirements for Queries over Continuous Data Streams
abstract
We consider conjunctive queries with arithmetic comparisons over multiple continuous data streams. We specify an algorithm for determining whether or not a query can be evaluated using a bounded amount of memory for all possible instances of the data streams. When a query can be evaluated using bounded memory, we produce an execution strategy based on constant-sized synopses of the data streams.
Arvind Arasu, Brian Babcock, Shivnath Babu, Jon McAlister, Jennifer Widom
PODS3
2002 Models and Issues in Data Stream Systems
abstract
In this overview paper we motivate the need for and research issues arising from a new model of data processing. In this model, data does not take the form of persistent relations, but rather arrives in multiple, continuous, rapid, time-varying data streams. In addition to reviewing past work relevant to data stream systems and current projects in the area, the paper explores topics in stream query languages, new requirements and challenges in query processing, and algorithmic issues.
Brian Babcock, Shivnath Babu, Mayur Datar, Rajeev Motwani 0001, Jennifer Widom
PODS2
2001 SPARTAN: A Model-Based Semantic Compression System for Massive Data Tables
abstract
While a variety of lossy compression schemes have been developed for certain forms of digital data (e.g., images, audio, video), the area of lossy compression techniques for arbitrary data tables has been left relatively unexplored. Nevertheless, such techniques are clearly motivated by the ever-increasing data collection rates of modern enterprises and the need for effective, guaranteed-quality approximate answers to queries over massive relational data sets. In this paper, we propose SPARTAN, a system that takes advantage of attribute semantics and data-mining models to perform lossy compression of massive data tables. SPARTAN is based on the novel idea of exploiting predictive data correlations and prescribed error tolerances for individual attributes to construct concise and accurate Classification and Regression Tree (CaRT) models for entire columns of a table. More precisely, SPARTAN selects a certain subset of attributes for which no values are explicitly stored in the compressed table; instead, concise CaRTs that predict these values (within the prescribed error bounds) are maintained. To restrict the huge search space and construction cost of possible CaRT predictors, SPARTAN employs sophisticated learning techniques and novel combinatorial optimization algorithms. Our experimentation with several real-life data sets offers convincing evidence of the effectiveness of SPARTAN's model-based approach — SPARTAN is able to consistently yield substantially better compression ratios than existing semantic or syntactic compression tools (e.g., gzip) while utilizing only small data samples for model inference.
Shivnath Babu, Minos N. Garofalakis, Rajeev Rastogi
SIGMOD Conference1