EDBT 2026 Demo / reviewers in the wild / expert
Kenneth Salem
dblp:s/KennethSalem · also Ken Salem
· DBLP profile ↗
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
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Distributed systems
fault tolerance |
1.0 | 3 | 2024 | 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.8 | 1 | 2024 | Eventual Durability · Proc. VLDB Endow. 2024 |
Storage systems › storage reliability › fault-tolerant storage
durability guarantees |
0.8 | 1 | 2024 | Eventual Durability · Proc. VLDB Endow. 2024 |
Query processing and optimization
cardinality estimation |
0.7 | 2 | 2022 | 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.6 | 3 | 2018 | 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.5 | 2 | 2017 | NoSE: Schema Design for NoSQL Applications · IEEE Trans. Knowl. Data Eng. 2017 NoSE: Schema design for NoSQL applications · ICDE 2016 |
Distributed systems
replication |
0.4 | 3 | 2018 | 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.4 | 1 | 2019 | DimmStore: Memory Power Optimization for Database Systems · Proc. VLDB Endow. 2019 |
Energy-efficient computing › power management
memory power management |
0.4 | 1 | 2019 | DimmStore: Memory Power Optimization for Database Systems · Proc. VLDB Endow. 2019 |
Energy-efficient computing › power management
dynamic voltage and frequency scaling |
0.3 | 1 | 2018 | Workload-Aware CPU Performance Scaling for Transactional Database Systems · SIGMOD Conference 2018 |
Energy-efficient computing
power management |
0.3 | 1 | 2018 | Workload-Aware CPU Performance Scaling for Transactional Database Systems · SIGMOD Conference 2018 |
Distributed systems › replication
database replication |
0.3 | 2 | 2013 | 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.3 | 1 | 2017 | NoSE: Schema Design for NoSQL Applications · IEEE Trans. Knowl. Data Eng. 2017 |
Data models and query languages › schema management
schema optimization |
0.3 | 1 | 2017 | NoSE: Schema Design for NoSQL Applications · IEEE Trans. Knowl. Data Eng. 2017 |
Query processing and optimization › query optimization
cost-based optimization |
0.3 | 2 | 2016 | 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.2 | 1 | 2024 | Eventual Durability · Proc. VLDB Endow. 2024 |
Database system architecture and tuning › database design
physical database design |
0.2 | 2 | 2010 | 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.2 | 1 | 2022 | Accurate Summary-based Cardinality Estimation Through the Lens of Cardinality Estimation Graphs · Proc. VLDB Endow. 2022 |
Indexing and storage engines
buffer management |
0.2 | 1 | 2013 | Hybrid Storage Management for Database Systems · Proc. VLDB Endow. 2013 |
Distributed and cloud data management
high availability |
0.2 | 1 | 2013 | RemusDB: transparent high availability for database systems · VLDB J. 2013 |
Storage systems
distributed storage |
0.2 | 1 | 2013 | DAX: A Widely Distributed Multi-tenant Storage Service for DBMS Hosting · Proc. VLDB Endow. 2013 |
Storage systems
flash and SSD |
0.2 | 1 | 2013 | Hybrid Storage Management for Database Systems · Proc. VLDB Endow. 2013 |
Distributed systems › replication › database replication
multi-master replication |
0.2 | 1 | 2013 | DAX: A Widely Distributed Multi-tenant Storage Service for DBMS Hosting · Proc. VLDB Endow. 2013 |
Distributed systems › fault tolerance
high availability |
0.1 | 1 | 2011 | RemusDB: Transparent High Availability for Database Systems · Proc. VLDB Endow. 2011 |
Distributed and cloud data management
data replication |
0.1 | 2 | 2006 | 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.1 | 2 | 2006 | Lazy Database Replication with Snapshot Isolation · VLDB 2006 Lazy Database Replication with Ordering Guarantees · ICDE 2004 |
Database system architecture and tuning
database tuning |
0.1 | 1 | 2010 | Automatic virtual machine configuration for database workloads · ACM Trans. Database Syst. 2010 |
Indexing and storage engines › storage management
storage layout optimization |
0.1 | 1 | 2010 | Workload-aware storage layout for database systems · SIGMOD Conference 2010 |
Cloud and datacenter computing
resource management |
0.1 | 1 | 2010 | Automatic virtual machine configuration for database workloads · ACM Trans. Database Syst. 2010 |
Query processing and optimization › runtime optimization › prefetching
semantic prefetching |
0.1 | 2 | 2005 | 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
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Eventual DurabilityabstractFor 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 GraphsabstractThis 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 SparkabstractApache 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 BigData | 2 |
| 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 |
CIDR | 4 |
| 2019 | DaMoN 19: The 15th International Workshop on Data Management on New HardwareabstractThe 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 Conference | 2 |
| 2019 | DimmStore: Memory Power Optimization for Database SystemsabstractMemory 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 |
ER | 2 |
| 2018 | Workload-Aware CPU Performance Scaling for Transactional Database SystemsabstractNatural 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 Conference | 3 |
| 2018 | Carousel: Low-Latency Transaction Processing for Globally-Distributed DataabstractThe 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 Conference | 6 |
| 2017 | An analysis of memory power consumption in database systemsabstractThe 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 |
DaMoN | 2 |
| 2017 | NoSE: Schema Design for NoSQL ApplicationsabstractDatabase 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 applicationsabstractDatabase 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 |
ICDE | 2 |
| 2016 | Front Matter
Peter Boncz, Kenneth Salem |
Proc. VLDB Endow. | 2 |
| 2015 | EdgeX: Edge Replication for Web ApplicationsabstractGlobal 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 |
CLOUD | 2 |
| 2015 | Database high availability using SHADOW systemsabstractHot 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 |
SoCC | 2 |
| 2014 | Accordion: Elastic Scalability for Database Systems Supporting Distributed TransactionsabstractProviding 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 HostingabstractMany 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 SystemsabstractThe 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 systemsabstractThe 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 Conference | 2 |
| 2010 | Automatic virtual machine configuration for database workloadsabstractVirtual 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 |
FAST | 3 |
| 2009 | PSALM: Cardinality Estimation inthe Presence of Fine-Grained Access ControlsabstractIn 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 |
ICDE | 3 |
| 2008 | Virtualization and databases: state of the art and research challengesabstractThere 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 |
EDBT | 3 |
| 2008 | Automatic virtual machine configuration for database workloadsabstractVirtual 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 Conference | 4 |
| 2007 | Adaptive control of virtualized resources in utility computing environmentsabstractData 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 |
EuroSys | 8 |
| 2007 | Semantic Prefetching of Correlated Query SequencesabstractWe 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 |
ICDE | 2 |
| 2007 | Storage workload estimation for database management systemsabstractModern 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 Conference | 2 |
| 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 TransactionsabstractData 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 |
ICDE | 2 |
| 2006 | Lazy Database Replication with Snapshot Isolation
Khuzaima Daudjee, Kenneth Salem |
VLDB | 2 |
| 2005 | Second-Tier Cache Management Using Write Hints
Xuhui Li 0002, Ashraf Aboulnaga, Kenneth Salem, Aamer Sachedina, Shaobo Gao |
FAST | 3 |
| 2005 | Dynamic Histograms for Non-Stationary UpdatesabstractIn 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 |
IDEAS | 2 |
| 2005 | Optimization of query streams using semantic prefetchingabstractStreams 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 GuaranteesabstractLazy 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 |
ICDE | 2 |
| 2004 | Optimization of Query Streams Using Semantic PrefetchingabstractStreams 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 Conference | 2 |
| 2002 | The Presumed-Either Two-Phase Commit ProtocolabstractThis 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 MaintenanceabstractIncremental 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 Conference | 1 |
| 1999 | Query Processing Techniques for ArraysabstractArrays 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 Conference | 2 |
| 1997 | A Language for Manipulating Arrays
Arunprasad P. Marathe, Kenneth Salem |
VLDB | 2 |
| 1997 | Adaptive Block Rearrangement Under UNIXabstractAn 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 InternetabstractWe 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 |
ICDCS | 2 |
| 1995 | Non-deterministic Queue Operations
Hector Garcia-Molina, Kenneth Salem |
J. Comput. Syst. Sci. | 2 |
| 1995 | Management of Partially Safe BuffersabstractSafe 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. Computers | 2 |
| 1995 | Adaptive Block RearrangementabstractAn 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 LockingabstractLong-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 RearrangementabstractAn 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 |
ICDE | 2 |
| 1992 | Probabilistic Dignosis of Hot SpotsabstractThe 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 |
ICDE | 1 |
| 1992 | Main Memory Database Systems: An OverviewabstractMain 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 OperationsabstractQueues 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 |
PODS | 2 |
| 1990 | System M: A Transaction Processing Testbed for Memory Resident DataabstractSystem 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 DatabasesabstractA 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 |
ICDE | 1 |
| 1987 | SagasabstractLong 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 Conference | 2 |
| 1986 | Disk StripingabstractJust 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 |
ICDE | 1 |