Kenneth Salem

dblp:s/KennethSalem · also Ken Salem · DBLP profile ↗
← Back
58ranked-venue papers
7as first author
2since 2021 · last 2024
0000-0003-0409-9725ORCID · verified

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

Databases, data management, data science and information retrieval · 50 · 7 first-author · 2 since 2021Systems, architecture and hardware · 7Artificial intelligence and machine learning · 2Applied, interdisciplinary, general and emerging computing · 2Software engineering, systems software and programming languages · 1Theory of computation · 1

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
34 papers
Transaction processing and concurrency control · 29% Query processing and optimization · 23% Database system architecture and tuning · 21%
Computer architecture, parallel and distributed computing, and storage systems
23 papers
Distributed systems · 40% Energy-efficient computing · 24% Storage systems · 23%

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

TopicWeightPapersLastEvidence papers
Distributed systems
fault tolerance
1.032024
Eventual Durability · Proc. VLDB Endow. 2024
RemusDB: transparent high availability for database systems · VLDB J. 2013
The Presumed-Either Two-Phase Commit Protocol · IEEE Trans. Knowl. Data Eng. 2002
Transaction processing and concurrency control › ACID transactions
durability
0.812024
Eventual Durability · Proc. VLDB Endow. 2024
Storage systems › storage reliability › fault-tolerant storage
durability guarantees
0.812024
Eventual Durability · Proc. VLDB Endow. 2024
Query processing and optimization
cardinality estimation
0.722022
Accurate Summary-based Cardinality Estimation Through the Lens of Cardinality Estimation Graphs · Proc. VLDB Endow. 2022
PSALM: Cardinality Estimation inthe Presence of Fine-Grained Access Controls · ICDE 2009
Transaction processing and concurrency control
distributed transaction processing
0.632018
Carousel: Low-Latency Transaction Processing for Globally-Distributed Data · SIGMOD Conference 2018
Accordion: Elastic Scalability for Database Systems Supporting Distributed Transactions · Proc. VLDB Endow. 2014
Inferring a Serialization Order for Distributed Transactions · ICDE 2006
Database system architecture and tuning
database design
0.522017
NoSE: Schema Design for NoSQL Applications · IEEE Trans. Knowl. Data Eng. 2017
NoSE: Schema design for NoSQL applications · ICDE 2016
Distributed systems
replication
0.432018
RemusDB: transparent high availability for database systems · VLDB J. 2013
RemusDB: Transparent High Availability for Database Systems · Proc. VLDB Endow. 2011
Carousel: Low-Latency Transaction Processing for Globally-Distributed Data · SIGMOD Conference 2018
Energy-efficient computing › power management › memory power management
DRAM power reduction
0.412019
DimmStore: Memory Power Optimization for Database Systems · Proc. VLDB Endow. 2019
Energy-efficient computing › power management
memory power management
0.412019
DimmStore: Memory Power Optimization for Database Systems · Proc. VLDB Endow. 2019
Energy-efficient computing › power management
dynamic voltage and frequency scaling
0.312018
Workload-Aware CPU Performance Scaling for Transactional Database Systems · SIGMOD Conference 2018
Energy-efficient computing
power management
0.312018
Workload-Aware CPU Performance Scaling for Transactional Database Systems · SIGMOD Conference 2018
Distributed systems › replication
database replication
0.322013
RemusDB: transparent high availability for database systems · VLDB J. 2013
RemusDB: Transparent High Availability for Database Systems · Proc. VLDB Endow. 2011
Database system architecture and tuning › database design
NoSQL schema design
0.312017
NoSE: Schema Design for NoSQL Applications · IEEE Trans. Knowl. Data Eng. 2017
Data models and query languages › schema management
schema optimization
0.312017
NoSE: Schema Design for NoSQL Applications · IEEE Trans. Knowl. Data Eng. 2017
Query processing and optimization › query optimization
cost-based optimization
0.322016
NoSE: Schema design for NoSQL applications · ICDE 2016
Optimization of query streams using semantic prefetching · ACM Trans. Database Syst. 2005
Transaction processing and concurrency control › transaction performance
transaction latency
0.212024
Eventual Durability · Proc. VLDB Endow. 2024
Database system architecture and tuning › database design
physical database design
0.222010
Workload-aware storage layout for database systems · SIGMOD Conference 2010
Storage workload estimation for database management systems · SIGMOD Conference 2007
Graph data management
graph query processing
0.212022
Accurate Summary-based Cardinality Estimation Through the Lens of Cardinality Estimation Graphs · Proc. VLDB Endow. 2022
Indexing and storage engines
buffer management
0.212013
Hybrid Storage Management for Database Systems · Proc. VLDB Endow. 2013
Distributed and cloud data management
high availability
0.212013
RemusDB: transparent high availability for database systems · VLDB J. 2013
Storage systems
distributed storage
0.212013
DAX: A Widely Distributed Multi-tenant Storage Service for DBMS Hosting · Proc. VLDB Endow. 2013
Storage systems
flash and SSD
0.212013
Hybrid Storage Management for Database Systems · Proc. VLDB Endow. 2013
Distributed systems › replication › database replication
multi-master replication
0.212013
DAX: A Widely Distributed Multi-tenant Storage Service for DBMS Hosting · Proc. VLDB Endow. 2013
Distributed systems › fault tolerance
high availability
0.112011
RemusDB: Transparent High Availability for Database Systems · Proc. VLDB Endow. 2011
Distributed and cloud data management
data replication
0.122006
Lazy Database Replication with Snapshot Isolation · VLDB 2006
Lazy Database Replication with Ordering Guarantees · ICDE 2004
Distributed and cloud data management › data replication
lazy replication
0.122006
Lazy Database Replication with Snapshot Isolation · VLDB 2006
Lazy Database Replication with Ordering Guarantees · ICDE 2004
Database system architecture and tuning
database tuning
0.112010
Automatic virtual machine configuration for database workloads · ACM Trans. Database Syst. 2010
Indexing and storage engines › storage management
storage layout optimization
0.112010
Workload-aware storage layout for database systems · SIGMOD Conference 2010
Cloud and datacenter computing
resource management
0.112010
Automatic virtual machine configuration for database workloads · ACM Trans. Database Syst. 2010
Query processing and optimization › runtime optimization › prefetching
semantic prefetching
0.122005
Optimization of query streams using semantic prefetching · ACM Trans. Database Syst. 2005
Optimization of Query Streams Using Semantic Prefetching · SIGMOD Conference 2004

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

decoupled commit and durability · 1.5rate-based layout · 0.8rank-aware allocation · 0.8cost-based optimization · 0.6linear programming · 0.6information theory · 0.6binary integer programming · 0.5affinity estimation · 0.4dynamo-style consistency · 0.3mixed-integer linear programming · 0.2mixed integer linear programming · 0.2multi-master replication · 0.2cost-aware replacement · 0.2TPC-C workload · 0.2nonlinear programming · 0.1sampling · 0.1trace-driven simulation · 0.0probabilistic classification · 0.0
YearPublicationVenuePosition
2024 Eventual Durability
abstract
For latency-critical transactional applications, durability is often what limits performance. That is, executing transactions is fast, but guaranteeing that they are durable is slow. As a result, most of each transaction's latency is attributable to durability. To address this problem, some database systems allow applications to sacrifice durability guarantees in exchange for lower transaction latencies. These ad hoc techniques are effective, but they can make it difficult for applications to understand and manage the risks associated with failures. In this paper, our goal is to offer a more principled foundation for these kinds of performance/durability tradeoffs. The major obstacle to doing this is the transaction model itself, because it couples transaction durability with transaction commit. That is, the model defines a single point at which a transaction becomes visible and durable. This forces all transaction guarantees to wait for the slowest one, which is often durability. The primary contribution of this work is a new eventually durable transaction model, which decouples commit from durability. Transactions commit first, and become durable later. We argue for making this model the basis of the contract between transactional data systems and applications. We describe what it means to correctly implement eventually durable transactions, and consider how they can be exposed to applications. We also describe a prototype implementation of eventual durability in PostgreSQL, and show that it enables applications to reduce transaction latencies while managing the durability risks.
Tejasvi Kashi, Kenneth Salem, Jaemyung Kim, Khuzaima Daudjee
Proc. VLDB Endow.2
2022 Accurate Summary-based Cardinality Estimation Through the Lens of Cardinality Estimation Graphs
abstract
This paper is an experimental and analytical study of two classes of summary-based cardinality estimators that use statistics about input relations and small-size joins in the context of graph database management systems: (i) optimistic estimators that make uniformity and conditional independence assumptions; and (ii) the recent pessimistic estimators that use information theoretic linear programs (LPs). We begin by analyzing how optimistic estimators use pre-computed statistics to generate cardinality estimates. We show these estimators can be modeled as picking bottom-to-top paths in a cardinality estimation graph (CEG), which contains sub-queries as nodes and edges whose weights are average degree statistics. We show that existing optimistic estimators have either undefined or fixed choices for picking CEG paths as their estimates and ignore alternative choices. Instead, we outline a space of optimistic estimators to make an estimate on CEGs, which subsumes existing estimators. We show, using an extensive empirical analysis, that effective paths depend on the structure of the queries. While on acyclic queries and queries with small-size cycles, using the maximum-weight path is effective to address the well known underestimation problem, on queries with larger cycles these estimates tend to overestimate, which can be addressed by using minimum weight paths. We next show that optimistic estimators and seemingly disparate LP-based pessimistic estimators are in fact connected. Specifically, we show that CEGs can also model some recent pessimistic estimators. This connection allows us to adopt an optimization from pessimistic estimators to optimistic ones, and provide insights into the pessimistic estimators, such as showing that they have combinatorial solutions.
Jeremy Chen, Yuqing Huang, Mushi Wang, Semih Salihoglu, Kenneth Salem
Proc. VLDB Endow.5
2020 ReSpark: Automatic Caching for Iterative Applications in Apache Spark
abstract
Apache Spark is a distributed computing framework used for big data processing. A common pattern in many Spark applications is to iteratively evolve a dataset until reaching some user-specified convergence condition. Unfortunately, some aspects of Spark's execution model make it difficult for developers who are not familiar with the implementation-level details of Spark to write efficient iterative programs.Since results are constructed iteratively and results from previous iterations may be used multiple times, effective use of caching is necessary to avoid recomputing intermediate results. Currently, developers of Spark applications must manually indicate which intermediate results should be cached. We present a method for using metadata already captured by Spark to automate caching decisions for many Spark programs. We show how this allows Spark applications to benefit from caching without the need for manual caching annotations.
Michael J. Mior, Kenneth Salem
IEEE BigData2
2020 Special issue on best papers of VLDB 2017
Peter Boncz, Kenneth Salem
VLDB J.2
2020 Special issue on best papers of DaMoN 2018
Kenneth Salem
VLDB J.1
2019 DPI: The Data Processing Interface for Modern Networks
Gustavo Alonso, Carsten Binnig, Ippokratis Pandis, Kenneth Salem, Jan Skrzypczak, Ryan Stutsman, Lasse Thostrup, Tianzheng Wang 0001, Zeke Wang, Tobias Ziegler 0001
CIDR4
2019 DaMoN 19: The 15th International Workshop on Data Management on New Hardware
abstract
The 15th International Workshop on Data Management on New Hardware is held in Amsterdam, The Netherlands on July 1th, 2019, co-located with the ACM Conference on Management of Data (SIGMOD). The focus of this workshop is to strengthen the communication between the database community and broader computer systems communities, specifically the computer architecture, compiler, operating systems, and storage communities.
Thomas Neumann 0001, Kenneth Salem
SIGMOD Conference2
2019 DimmStore: Memory Power Optimization for Database Systems
abstract
Memory can consume a substantial amount of power in database servers, yet memory power has received considerably less attention than CPU power. Memory power consumption is also highly non-proportional. Thus, memory power becomes even more significant in the common case in which a database server is either not completely busy or not completely full. In this paper, we study the application of two memory power optimization techniques - rank-aware allocation and rate-based layout - to database systems. By concentrating memory load, rather than spreading it out evenly, these techniques create and exploit memory idleness to achieve power savings. We have implemented these techniques in a prototype database system called DimmStore. DimmStore is part of a memory power testbed which includes customized hardware with direct power measurement capabilities, allowing us to measure the techniques' effectiveness. We use the testbed to empirically characterize the power saving opportunities provided by these techniques, as well as their performance impact, under YCSB and TPC-C workloads. Under simple YCSB workloads, power savings ranged up to 50%, depending on load and space utilization, with little performance impact. Savings were smaller, but still significant, for TPC-C, which has more complex data locality characteristics.
Alexey Karyakin, Kenneth Salem
Proc. VLDB Endow.2
2018 Renormalization of NoSQL Database Schemas
Michael J. Mior, Kenneth Salem
ER2
2018 Workload-Aware CPU Performance Scaling for Transactional Database Systems
abstract
Natural short term fluctuations in the load of transactional data systems present an opportunity for power savings. For example, a system handling 1000 requests per second on average can expect more than 1000 requests in some seconds, fewer in others. By quickly adjusting processing capacity to match such fluctuations, power consumption can be reduced. Many systems do this already, using dynamic voltage and frequency scaling (DVFS) to reduce processor performance and power consumption when the load is low. DVFS is typically controlled by frequency governors in the operating system, or by the processor itself. In this paper, we show that transactional database systems can manage DVFS more effectively than the underlying operating system. This is because the database system has more information about the workload, and more control over that workload, than is available to the operating system. We present a technique called POLARIS for reducing the power consumption of transactional database systems. POLARIS directly manages processor DVFS and controls database transaction scheduling. Its goal is to minimize power consumption while ensuring the transactions are completed within a specified latency target. POLARIS is workload-aware, and can accommodate concurrent workloads with different characteristics and latency budgets. We show that POLARIS can simultaneously reduce power consumption and reduce missed latency targets, relative to operating-system-based DVFS governors.
Mustafa Korkmaz, Martin Karsten, Kenneth Salem, Semih Salihoglu
SIGMOD Conference3
2018 Carousel: Low-Latency Transaction Processing for Globally-Distributed Data
abstract
The trend towards global applications and services has created an increasing demand for transaction processing on globally-distributed data. Many database systems, such as Spanner and CockroachDB, support distributed transactions but require a large number of wide-area network roundtrips to commit each transaction and ensure the transaction's state is durably replicated across multiple datacenters. This can significantly increase transaction completion time, resulting in developers replacing database-level transactions with their own error-prone application-level solutions.
Xinan Yan, Linguan Yang, Xiayue Charles Lin, Bernard Wong 0001, Kenneth Salem, Tim Brecht
SIGMOD Conference6
2017 An analysis of memory power consumption in database systems
abstract
The growing appetite for in-memory computing is increasing memory's share of total server power consumption. However, memory power consumption in database management systems is not well understood. This paper presents an empirical characterization of memory power consumption in database systems, for both analytical and transactional workloads. Our results indicate that memory power optimization will be effective only if it can reduce back-ground power through more aggressive use of low power memory idle states.
Alexey Karyakin, Kenneth Salem
DaMoN2
2017 NoSE: Schema Design for NoSQL Applications
abstract
Database design is critical for high performance in relational databases and a myriad of tools exist to aid application designers in selecting an appropriate schema. While the problem of schema optimization is also highly relevant for NoSQL databases, existing tools for relational databases are inadequate in that setting. Application designers wishing to use a NoSQL database instead rely on rules of thumb to select an appropriate schema. We present a system for recommending database schemas for NoSQL applications. Our cost-based approach uses a novel binary integer programming formulation to guide the mapping from the application's conceptual data model to a database schema. We implemented a prototype of this approach for the Cassandra extensible record store. Our prototype, the NoSQL Schema Evaluator (NoSE) is able to capture rules of thumb used by expert designers without explicitly encoding the rules. Automating the design process allows NoSE to produce efficient schemas and to examine more alternatives than would be possible with a manual rule-based approach.
Michael J. Mior, Kenneth Salem, Ashraf Aboulnaga
IEEE Trans. Knowl. Data Eng.2
2016 NoSE: Schema design for NoSQL applications
abstract
Database design is critical for high performance in relational databases and many tools exist to aid application designers in selecting an appropriate schema. While the problem of schema optimization is also highly relevant for NoSQL databases, existing tools for relational databases are inadequate for this setting. Application designers wishing to use a NoSQL database instead rely on rules of thumb to select an appropriate schema. We present a system for recommending database schemas for NoSQL applications. Our cost-based approach uses a novel binary integer programming formulation to guide the mapping from the application's conceptual data model to a database schema. We implemented a prototype of this approach for the Cassandra extensible record store. Our prototype, the NoSQL Schema Evaluator (NoSE) is able to capture rules of thumb used by expert designers without explicitly encoding the rules. Automating the design process allows NoSE to produce efficient schemas and to examine more alternatives than would be possible with a manual rule-based approach.
Michael J. Mior, Kenneth Salem, Ashraf Aboulnaga
ICDE2
2016 Front Matter
Peter Boncz, Kenneth Salem
Proc. VLDB Endow.2
2015 EdgeX: Edge Replication for Web Applications
abstract
Global Web applications face the problem of high network latency due to their need to communicate with distant data centers. Many applications use edge networks for caching images, CSS, java script, and other static content in order to avoid some of this network latency. However, for updates and for anything other than static content, communication with the data center is still required, and can dominate application request latencies. One way to address this problem is to push more of the web application, as well the database on which it depends, from the remote data center towards the edge of the network. In this paper, we present preliminary work in this direction. Specifically, we present an edge-aware dynamic data replication architecture for relational database systems supporting Web applications. Our objective is to allow dynamic content to be served from the edge of the network, with low latency.
Hemant Saxena, Kenneth Salem
CLOUD2
2015 Database high availability using SHADOW systems
abstract
Hot standby techniques are widely used to implement highly available database systems. These techniques make use of two separate copies of the database, an active copy and a backup that is managed by the standby. The two database copies are stored independently and synchronized by the database systems that manage them. However, database systems deployed in computing clouds often have access to reliable persistent storage that can be shared by multiple servers. In this paper we consider how hot standby techniques can be improved in such settings.
Jaemyung Kim, Kenneth Salem, Khuzaima Daudjee, Ashraf Aboulnaga
SoCC2
2014 Accordion: Elastic Scalability for Database Systems Supporting Distributed Transactions
abstract
Providing the ability to elastically use more or fewer servers on demand (scale out and scale in) as the load varies is essential for database management systems (DBMSes) deployed on today's distributed computing platforms, such as the cloud. This requires solving the problem of dynamic (online) data placement, which has so far been addressed only for workloads where all transactions are local to one sever. In DBMSes where ACID transactions can access more than one partition, distributed transactions represent a major performance bottleneck. Scaling out and spreading data across a larger number of servers does not necessarily result in a linear increase in the overall system throughput, because transactions that used to access only one server may become distributed. In this paper we present Accordion, a dynamic data placement system for partition-based DBMSes that support ACID transactions (local or distributed). It does so by explicitly considering the affinity between partitions, which indicates the frequency in which they are accessed together by the same transactions. Accordion estimates the capacity of a server by explicitly considering the impact of distributed transactions and affinity on the maximum throughput of the server. It then integrates this estimation in a mixed-integer linear program to explore the space of possible configurations and decide whether to scale out. We implemented Accordion and evaluated it using H-Store, a shared-nothing in-memory DBMS. Our results using the TPC-C and YCSB benchmarks show that Accordion achieves benefits compared to alternative heuristics of up to an order of magnitude reduction in the number of servers used and in the amount of data migrated.
Marco Serafini, Essam Mansour 0001, Ashraf Aboulnaga, Kenneth Salem, Taha Rafiq, Umar Farooq Minhas
Proc. VLDB Endow.4
2013 DAX: A Widely Distributed Multi-tenant Storage Service for DBMS Hosting
abstract
Many applications hosted on the cloud have sophisticated data management needs that are best served by a SQL-based relational DBMS. It is not difficult to run a DBMS in the cloud, and in many cases one DBMS instance is enough to support an application's workload. However, a DBMS running in the cloud (or even on a local server) still needs a way to persistently store its data and protect it against failures. One way to achieve this is to provide a scalable and reliable storage service that the DBMS can access over a network. This paper describes such a service, which we call DAX. DAX relies on multi-master replication and Dynamo-style flexible consistency, which enables it to run in multiple data centers and hence be disaster tolerant. Flexible consistency allows DAX to control the consistency level of each read or write operation, choosing between strong consistency at the cost of high latency or weak consistency with low latency. DAX makes this choice for each read or write operation by applying protocols that we designed based on the storage tier usage characteristics of database systems. With these protocols, DAX provides a storage service that can host multiple DBMS tenants, scaling with the number of tenants and the required storage capacity and bandwidth. DAX also provides high availability and disaster tolerance for the DBMS storage tier. Experiments using the TPC-C benchmark show that DAX provides up to a factor of 4 performance improvement over baseline solutions that do not exploit flexible consistency.
Ashraf Aboulnaga, Kenneth Salem
Proc. VLDB Endow.3
2013 Hybrid Storage Management for Database Systems
abstract
The use of flash-based solid state drives (SSDs) in storage systems is growing. Adding SSDs to a storage system not only raises the question of how to manage the SSDs, but also raises the question of whether current buffer pool algorithms will still work effectively. We are interested in the use of hybrid storage systems, consisting of SSDs and hard disk drives (HDDs), for database management. We present cost-aware replacement algorithms, which are aware of the difference in performance between SSDs and HDDs, for both the DBMS buffer pool and the SSDs. In hybrid storage systems, the physical access pattern to the SSDs depends on the management of the DBMS buffer pool. We studied the impact of buffer pool caching policies on SSD access patterns. Based on these studies, we designed a cost-adjusted caching policy to effectively manage the SSD. We implemented these algorithms in MySQL's InnoDB storage engine and used the TPC-C workload to demonstrate that these cost-aware algorithms outperform previous algorithms.
Xin Liu 0017, Kenneth Salem
Proc. VLDB Endow.2
2013 RemusDB: transparent high availability for database systems
Umar Farooq Minhas, Shriram Rajagopalan, Brendan Cully, Ashraf Aboulnaga, Kenneth Salem, Andy Warfield
VLDB J.5
2011 RemusDB: Transparent High Availability for Database Systems
Umar Farooq Minhas, Shriram Rajagopalan, Brendan Cully, Ashraf Aboulnaga, Kenneth Salem, Andy Warfield
Proc. VLDB Endow.5
2010 Workload-aware storage layout for database systems
abstract
The performance of a database system depends strongly on the layout of database objects, such as indexes or tables, onto the underlying storage devices. A good layout will both balance the I/O workload generated by the database system and avoid the performance-degrading interference that can occur when concurrently accessed objects are stored on the same volume. In current practice, layout is typically guided by heuristics and rules of thumb, such as separating indexes and tables or striping all objects across all of the available storage devices. However, these guidelines may give poor results. In this paper, we address the problem of generating an optimized layout of a given set of database objects. Our layout optimizer goes beyond generic guidelines by making use of a description of the database system's I/O activity. We formulate the layout problem as a non-linear programming (NLP) problem and use the I/O description as input to an NLP solver. Our layout optimization technique, which is incorporated into a database layout advisor, identifies a layout that both balances load and avoids interference. We evaluate experimentally the efficacy of our approach and demonstrate that it can quickly identify non-trivial optimized layouts.
Oguzhan Ozmen, Kenneth Salem, Jiri Schindler, Steve Daniel
SIGMOD Conference2
2010 Automatic virtual machine configuration for database workloads
abstract
Virtual machine monitors are becoming popular tools for the deployment of database management systems and other enterprise software. In this article, we consider a common resource consolidation scenario in which several database management system instances, each running in a separate virtual machine, are sharing a common pool of physical computing resources. We address the problem of optimizing the performance of these database management systems by controlling the configurations of the virtual machines in which they run. These virtual machine configurations determine how the shared physical resources will be allocated to the different database system instances. We introduce a virtualization design advisor that uses information about the anticipated workloads of each of the database systems to recommend workload-specific configurations offline. Furthermore, runtime information collected after the deployment of the recommended configurations can be used to refine the recommendation and to handle changes in the workload. To estimate the effect of a particular resource allocation on workload performance, we use the query optimizer in a new what-if mode. We have implemented our approach using both PostgreSQL and DB2, and we have experimentally evaluated its effectiveness using DSS and OLTP workloads.
Ahmed A. Soror, Umar Farooq Minhas, Ashraf Aboulnaga, Kenneth Salem, Peter Kokosielis, Sunil Kamath
ACM Trans. Database Syst.4
2009 CLIC: CLient-Informed Caching for Storage Servers
Xin Liu 0017, Ashraf Aboulnaga, Kenneth Salem, Xuhui Li 0002
FAST3
2009 PSALM: Cardinality Estimation inthe Presence of Fine-Grained Access Controls
abstract
In database systems that support fine-grained access controls, each user has access rights that determine which tuples are accessible and which are inaccessible. Queries are answered as if the inaccessible tuples are not present in the database. Thus, users with different access rights may get different answers to a given query. To process queries efficiently in the presence of fine-grained access controls, the database system needs accurate estimates of the number of tuples that are both accessible according to the access rights of the submitting user and relevant according to the selection predicates in the query. In this paper, we present PSALM, a sampling-based cardinality estimation technique for use in the presence of fine-grained access controls. Our technique exploits the fact that access rights are relatively static and are common to all queries that are evaluated on behalf of a particular user. We show that PSALM provides more accurate estimates than techniques that do not exploit knowledge of access rights.
Huaxin Zhang, Ihab F. Ilyas, Kenneth Salem
ICDE3
2008 Virtualization and databases: state of the art and research challenges
abstract
There is currently a lot of interest in resource virtualization as an important technique for addressing the problems of manageability, reliability, and security in computer systems. Resource virtualization decouples the user's perception of hardware and software resources from the actual implementation of these resources. It adds a flexible and programmable layer of software between user applications (such as database systems) and the resources that they use. This layer of software maps the virtual resources perceived by the applications to real physical resources. An example of this layer of software is a virtual machine monitor, which partitions the resources of a machine (CPU, disk, memory, network, etc.) into multiple virtual machines, and independent operating systems and applications can be installed on each virtual machine. The power of resource virtualization comes from the ability to manage the mapping from virtual resources to physical resources in the virtualization layer, and to change it as needed.The trend towards virtualization is of interest to us in the database research community because database systems are increasingly being run in virtualized environments. This presents a major opportunity since virtualization can help in solving many important problems in the areas of database system usability, manageability, deployment, scalability, and availability. Leveraging the capabilities of virtualization to solve these problems will require some effort on the part of our community. At the same time, virtualization poses some unique research challenges that must be addressed to enable database systems to run efficiently in these virtualized environments that are becoming increasingly common. In this tutorial, we will introduce resource virtualization and how it affects database systems. We will present the opportunities that resource virtualization provides for database systems and the unique research challenges that it poses, and we will review ongoing research in this area.
Ashraf Aboulnaga, Cristiana Amza, Kenneth Salem
EDBT3
2008 Automatic virtual machine configuration for database workloads
abstract
Virtual machine monitors are becoming popular tools for the deployment of database management systems and other enterprise software applications. In this paper, we consider a common resource consolidation scenario, in which several database management system instances, each running in a virtual machine, are sharing a common pool of physical computing resources. We address the problem of optimizing the performance of these database management systems by controlling the configurations of the virtual machines in which they run. These virtual machine configurations determine how the shared physical resources will be allocated to the different database instances. We introduce a virtualization design advisor that uses information about the anticipated workloads of each of the database systems to recommend workload-specific configurations offine. Furthermore, runtime information collected after the deployment of the recommended configurations can be used to refine the recommendation. To estimate the effect of a particular resource allocation on workload performance, we use the query optimizer in a new what-if mode. We have implemented our approach using both PostgreSQL and DB2, and we have experimentally evaluated its effectiveness using DSS and OLTP workloads.
Ahmed A. Soror, Umar Farooq Minhas, Ashraf Aboulnaga, Kenneth Salem, Peter Kokosielis, Sunil Kamath
SIGMOD Conference4
2007 Adaptive control of virtualized resources in utility computing environments
abstract
Data centers are often under-utilized due to over-provisioning as well as time-varying resource demands of typical enterprise applications. One approach to increase resource utilization is to consolidate applications in a shared infrastructure using virtualization. Meeting application-level quality of service (QoS) goals becomes a challenge in a consolidated environment as application resource needs differ. Furthermore, for multi-tier applications, the amount of resources needed to achieve their QoS goals might be different at each tier and may also depend on availability of resources in other tiers. In this paper, we develop an adaptive resource control system that dynamically adjusts the resource shares to individual tiers in order to meet application-level QoS goals while achieving high resource utilization in the data center. Our control system is developed using classical control theory, and we used a black-box system modeling approach to overcome the absence of first principle models for complex enterprise applications and systems. To evaluate our controllers, we built a testbed simulating a virtual data center using Xen virtual machines. We experimented with two multi-tier applications in this virtual data center: a two-tier implementation of RUBiS, an online auction site, and a two-tier Java implementation of TPC-W. Our results indicate that the proposed control system is able to maintain high resource utilization and meets QoS goals in spite of varying resource demands from the applications.
Pradeep Padala, Kang G. Shin, Xiaoyun Zhu, Mustafa Uysal, Zhikui Wang, Sharad Singhal, Arif Merchant, Kenneth Salem
EuroSys8
2007 Semantic Prefetching of Correlated Query Sequences
abstract
We present a system that optimizes sequences of related client requests by combining small requests into larger ones, thus reducing per-request overhead. The system predicts upcoming requests and their parameter values based on past observations, and prefetches results that are expected to be needed. We describe how the system makes its predictions and how it uses them to optimize the request stream. We also characterize the benefits with several experiments.
Ivan T. Bowman, Kenneth Salem
ICDE2
2007 Storage workload estimation for database management systems
abstract
Modern storage systems are sophisticated. Simple directattached storage devices are giving way to storage systems that are shared, flexible, virtualized and network-attached. Today, storage systems have their own administrators, who use specialized tools and expertise to configure and manage storage resources. Although the separation of storage management and database management has many advantages, it also introduces problems. Database physical design and storage configuration are closely related tasks, and the separation makes it more difficult to achieve a good end-toend design. In this paper, we attempt to close this gap by addressing the problem of predicting the storage workload that will be generated by a database management system. Specifically, we show how to translate a database workload description, together with a database physical design, into a characterization of the storage workload that will result. Such a characterization can be used by a storage administrator to guide storage configuration. The ultimate goal of this work is to enable effective end-to-end design and configuration spanning both the database and storage system tiers. We present an empirical assessment of the cost of workload prediction as well as the accuracy of the result.
Oguzhan Ozmen, Kenneth Salem, Mustafa Uysal, M. Hossein Sheikh Attar
SIGMOD Conference2
2007 Compact access control labeling for efficient secure XML query evaluation
Huaxin Zhang, Ning Zhang 0002, Kenneth Salem, Donghui Zhuo
Data Knowl. Eng.3
2006 Inferring a Serialization Order for Distributed Transactions
abstract
Data partitioning is often used to scale-up a database system. In a centralized database system, the serialization order of commited update transactions can be inferred from the database log. To achieve this in a shared-nothing distributed database, the serialization order of update transactions must be inferred from multiple database logs. We describe a technique to generate a single stream of updates from logs of multiple database systems. This single stream represents a valid serialization order of update transactions at the sites over which the database is partitioned.
Khuzaima Daudjee, Kenneth Salem
ICDE2
2006 Lazy Database Replication with Snapshot Isolation
Khuzaima Daudjee, Kenneth Salem
VLDB2
2005 Second-Tier Cache Management Using Write Hints
Xuhui Li 0002, Ashraf Aboulnaga, Kenneth Salem, Aamer Sachedina, Shaobo Gao
FAST3
2005 Dynamic Histograms for Non-Stationary Updates
abstract
In this paper, we address the problem of incrementally maintaining a histogram in response to a non-stationary update process. In relational database systems, this problem can occur whenever relations model time-varying activities. We present a simple update model that is general enough to describe both stationary and non-stationary update processes, and we use it to show that existing histogram maintenance techniques can perform poorly when updates are non-stationary. We describe several techniques for solving this problem, and we use the update model to demonstrate that these techniques can effectively handle a broad range of update processes, including non-stationary ones.
Elizabeth Lam, Kenneth Salem
IDEAS2
2005 Optimization of query streams using semantic prefetching
abstract
Streams of relational queries submitted by client applications to database servers contain patterns that can be used to predict future requests. We present the Scalpel system, which detects these patterns and optimizes request streams using context-based predictions of future requests. Scalpel uses its predictions to provide a form of semantic prefetching, which involves combining a predicted series of requests into a single request that can be issued immediately. Scalpel's semantic prefetching reduces not only the latency experienced by the application but also the total cost of query evaluation. We describe how Scalpel learns to predict optimizable request patterns by observing the application's request stream during a training phase. We also describe the types of query pattern rewrites that Scalpels cost-based optimizer considers. Finally, we present empirical results that show the costs and benefits of Scalpel's optimizations.
Ivan T. Bowman, Kenneth Salem
ACM Trans. Database Syst.2
2004 Lazy Database Replication with Ordering Guarantees
abstract
Lazy replication is a popular technique for improving the performance and availability of database systems. Although there are concurrency control techniques, which guarantee serializability in lazy replication systems, these techniques result in undesirable transaction orderings. Since transactions may see stale data, they may be serialized in an order different from the one in which they were submitted. Strong serializability avoids such problems, but it is very costly to implement. We propose a generalized form of strong serializability that is suitable for use with lazy replication. In addition to having many of the advantages of strong serializability, it can be implemented more efficiently. We show how generalized strong serializability can be implemented in a lazy replication system, and we present the results of a simulation study that quantifies the strengths and limitations of the approach.
Khuzaima Daudjee, Kenneth Salem
ICDE2
2004 Optimization of Query Streams Using Semantic Prefetching
abstract
Streams of relational queries submitted by client applications to database servers contain patterns that can be used to predict future requests. We present the Scalpel system, which detects these patterns and optimizes request streams using context-based predictions of future requests. Scalpel uses its predictions to provide a form of semantic prefetching, which involves combining a predicted series of requests into a single request that can be issued immediately. Scalpel's semantic prefetching reduces not only the latency experienced by the application but also the total cost of query evaluation. We describe how Scalpel learns to predict optimizable request patterns by observing the application's request stream during a training phase. We also describe the types of query pattern rewrites that Scalpel's cost-based optimizer considers. Finally, we present empirical results that show the costs and benefits of Scalpel's optimizations.
Ivan T. Bowman, Kenneth Salem
SIGMOD Conference2
2002 The Presumed-Either Two-Phase Commit Protocol
abstract
This paper describes the presumed-either two-phase commit protocol. Presumed-either exploits log piggybacking to reduce the cost of committing transactions. If timely piggybacking occurs, presumed-either combines the performance advantages of presumed-abort and presumed-commit. Otherwise, presumed-either behaves much like the widely-used presumed-abort protocol.
Gopi K. Attaluri, Kenneth Salem
IEEE Trans. Knowl. Data Eng.2
2002 Query processing techniques for arrays
Arunprasad P. Marathe, Kenneth Salem
VLDB J.2
2000 How To Roll a Join: Asynchronous Incremental View Maintenance
abstract
Incremental refresh of a materialized join view is often less expensive than a full, non-incremental refresh. However, it is still a potentially costly atomic operation. This paper presents an algorithm that performs incremental view maintenance as a series of small, asynchronous steps. The size of each step can be controlled to limit contention between the refresh process and concurrent operations that access the materialized view or the underlying relations. The algorithm supports point-in-time refresh, which allows a materialized view to be refreshed to any time between the last refresh and the present.
Kenneth Salem, Kevin S. Beyer, Roberta Cochrane, Bruce G. Lindsay 0001
SIGMOD Conference1
1999 Query Processing Techniques for Arrays
abstract
Arrays are an appropriate data model for images, gridded output from computational models, and other types of data. This paper describes an approach to array query processing. Queries are expressed in AML, a logical algebra that is easily extended with user-defined functions to support a wide variety of array operations. For example, compression, filtering, and algebraic operations on images can be described. We show how AML expressions involving such operations can be treated declaratively and subjected to useful rewrite optimizations. We also describe a plan generator that produces efficient iterator-based plans from rewritten AML expressions.
Arunprasad P. Marathe, Kenneth Salem
SIGMOD Conference2
1997 A Language for Manipulating Arrays
Arunprasad P. Marathe, Kenneth Salem
VLDB2
1997 Adaptive Block Rearrangement Under UNIX
abstract
An adaptive UNIX disk device driver is described. To reduce seek times, the driver copies frequently-referenced blocks from their original locations to reserved space near the center of the disk. Block reference frequencies need not be known in advance. Instead, they are estimated by monitoring the stream of arriving requests. Measurements show that the adaptive driver reduces seek times and response times substantially. © 1997 by John Wiley & Sons, Ltd.
Sedat Akyürek, Kenneth Salem
Softw. Pract. Exp.2
1996 The DBC: Processing Scientific Data Over the Internet
abstract
We present the Distributed Batch Controller (DBC), a system built to support batch processing of large scientific datasets. The DBC implements a federation of autonomous workstation pools, which may be widely distributed. Individual batch jobs are executed using idle workstations in these pools. Input data are staged to the pool before processing begins. We describe the architecture and implementation of the DBC, and present the results of experiments in which it is used to perform image compression.
Chung-Min Chen, Kenneth Salem, Miron Livny
ICDCS2
1995 Non-deterministic Queue Operations
Hector Garcia-Molina, Kenneth Salem
J. Comput. Syst. Sci.2
1995 Management of Partially Safe Buffers
abstract
Safe RAM is RAM which has been made as reliable as a disk. We consider the problem of buffer management in partially safe buffers, i.e., buffers which contain both safe RAM and volatile RAM. Buffer management techniques for partially safe buffers explicitly consider the safety of memory in deciding which data to place in the buffer, where to place it, and when to copy updates back to the disk. We present techniques for managing such buffers and study their performance using trace-driven simulations.>
Sedat Akyürek, Kenneth Salem
IEEE Trans. Computers2
1995 Adaptive Block Rearrangement
abstract
An adaptive technique for reducing disk seek times is described. The technique copies frequently referenced blocks from their original locations to reserved space near the middle of the disk. Reference frequencies need not be known in advance. Instead, they are estimated by monitoring the stream of arriving requests. Trace-driven simulations show that seek times can be cut substantially by copying only a small number of blocks using this technique. The technique has been implemented by modifying a UNIX device driver. No modifications are required to the file system that uses the driver.
Sedat Akyürek, Kenneth Salem
ACM Trans. Comput. Syst.2
1994 Altruistic Locking
abstract
Long-lived transactions (LLTs) hold on to database resources for relatively long periods of time, significantly delaying the completion of shorter and more common transactions. To alleviate this problem we propose an extension to two-phase locking, called altruistic locking, whereby LLTs can release their locks early. Transactions that access this released data are said to run in the wake of the LLT and must follow special locking rules. Like two-phase locking, altruistic locking is easy to implement and guarantees serializability.
Kenneth Salem, Hector Garcia-Molina, Jeannie Shands
ACM Trans. Database Syst.1
1993 Adaptive Block Rearrangement
abstract
An adaptive technique for reducing disk seek times is described. The technique copies frequently referenced blocks from their original locations to reserved space near the center of the disk. Reference frequencies need not be known in advance. Instead, they are estimated by monitoring the stream of arriving requests. Results of trace-driven simulations show that seek times can be cut in half by copying only a small number of blocks using this technique. The technique is designed to be implemented in a device driver or controller. It is independent of the file system or database manager that uses the disk.>
Sedat Akyürek, Kenneth Salem
ICDE2
1992 Probabilistic Dignosis of Hot Spots
abstract
The authors present several techniques to identify, or diagnose, hot spots in a database. All of them are probabilistic in the sense that they will classify the items as hot or cold and exhibit a non-zero probability of false diagnoses. Each technique is analysed to identify the tradeoffs of time and space involved in maintaining a low probability of false diagnosis. Each of the techniques is presented. The analyses of the techniques is considered to determine how likely they are to diagnose without error. The techniques are compared. A numerical comparison based on the analyses is included.>
Kenneth Salem, Daniel Barbará, Richard J. Lipton
ICDE1
1992 Main Memory Database Systems: An Overview
abstract
Main memory database systems (MMDBs) store their data in main physical memory and provide very high-speed access. Conventional database systems are optimized for the particular characteristics of disk storage mechanisms. Memory resident systems, on the other hand, use different optimizations to structure and organize data, as well as to make it reliable. The authors survey the major memory residence optimizations and briefly discuss some of the MMDBs that have been designed or implemented.>
Hector Garcia-Molina, Kenneth Salem
IEEE Trans. Knowl. Data Eng.2
1991 Non-Deterministic Queue Operations
abstract
Queues play a central role in transaction processing systems.We present a transaction model that allows signifkant concurrency improvements for extended queue operations such as non-blocking dequeue, priority dequeue, non-blocking enqueue, and others.
Hector Garcia-Molina, Kenneth Salem
PODS2
1990 System M: A Transaction Processing Testbed for Memory Resident Data
abstract
System M is an experimental transaction processing testbed that runs on top of the Mach operating system. Its database is stored in primary memory. The structure and algorithms used in System M are described. The checkpointer is the component that periodically sweeps memory and propagates updates to a backup database copy on disk. Several different checkpointing (and logging) algorithms were implemented, and their performance was experimentally evaluated.>
Kenneth Salem, Hector Garcia-Molina
IEEE Trans. Knowl. Data Eng.1
1989 Checkpointing Memory-Resident Databases
abstract
A database system is considered in which a main-memory database system holds all data in semiconductor memory, and for recovery purposes a backup copy of the database is maintained in secondary storage. The checkpointer is the component of the crash recovery manager responsible for maintaining the backup copy. Ideally, the checkpointer should maintain an almost-up-to-date backup while interfering as little as possible with the system's transaction processing activities. Several algorithms for maintaining such a backup database are presented and compared using an analytic model. The results show some significant performance differences among the algorithms and illustrate some of the tradeoffs that are available in designing such a checkpointer.>
Kenneth Salem, Hector Garcia-Molina
ICDE1
1987 Sagas
abstract
Long lived transactions (LLTs) hold on to database resources for relatively long periods of time, significantly delaying the termination of shorter and more common transactions. To alleviate these problems we propose the notion of a saga. A LLT is a saga if it can be written as a sequence of transactions that can be interleaved with other transactions. The database management system guarantees that either all the transactions in a saga are successfully completed or compensating transactions are run to amend a partial execution. Both the concept of saga and its implementation are relatively simple, but they have the potential to improve performance significantly. We analyze the various implementation issues related to sagas, including how they can be run on an existing system that does not directly support them. We also discuss techniques for database and LLT design that make it feasible to break up LLTs into sagas.
Hector Garcia-Molina, Kenneth Salem
SIGMOD Conference2
1986 Disk Striping
abstract
Just like parallel processing elements can substantially speed up computationally intensive tasks, concurrent transfer of data in and out of memory can speed up data intensive tasks. In this paper we study one general purpose facility for achieving parallel data motion: disk striping. A group of disks is striped if each data block is multiplexed across all the disks. Since each subblock is in a different device, input and output can proceed in parallel. With the help of an analytical model, we investigate the effect of striping on disk service times and its advantages and limitations in one of a set representative applications, file processing. We also explore several possible enhancements to striping: immediate reading, ordered blocks, and matched disks.
Kenneth Salem, Hector Garcia-Molina
ICDE1