Demo Data from VLDB 2026 / reviewers in the wild / expert
Ryan Johnson 0001
dblp:98/3414-1 · also F. Ryan Johnson
· DBLP profile ↗
31ranked-venue papers
12as first author
0since 2021 · last 2019
0000-0002-5800-7796ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Databases, data management, data science and information retrieval · 28 · 10 first-authorArtificial intelligence and machine learning · 2Systems, architecture and hardware · 2 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 2Software engineering, systems software and programming languages · 1 · 1 first-authorHuman-computer interaction and ubiquitous computing · 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
15 papers |
Transaction processing and concurrency control · 56% Database system architecture and tuning · 19% Distributed and cloud data management · 13% | |
| Computer architecture, parallel and distributed computing, and storage systems
10 papers |
Parallel and multicore computing · 25% Distributed systems · 25% Storage systems · 23% |
Topics — the 29 heaviest of 35, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Transaction processing and concurrency control
scalable transaction processing |
0.4 | 3 | 2014 | Eliminating unscalable communication in transaction processing · VLDB J. 2014 Toward Scalable Transaction Processing · Proc. VLDB Endow. 2013 Scalable and dynamically balanced shared-everything OLTP with physiological partitioning · VLDB J. 2013 |
Transaction processing and concurrency control
serializability |
0.3 | 1 | 2017 | Efficiently making (almost) any concurrency control mechanism serializable · VLDB J. 2017 |
Transaction processing and concurrency control › concurrency control
serializable concurrency control |
0.3 | 1 | 2017 | Efficiently making (almost) any concurrency control mechanism serializable · VLDB J. 2017 |
Distributed systems › replication › state machine replication
log replication |
0.3 | 1 | 2017 | Query Fresh: Log Shipping on Steroids · Proc. VLDB Endow. 2017 |
Storage systems
storage reliability |
0.3 | 1 | 2017 | Query Fresh: Log Shipping on Steroids · Proc. VLDB Endow. 2017 |
Transaction processing and concurrency control › recovery
write-ahead logging |
0.3 | 2 | 2012 | Scalability of write-ahead logging on multicore and multisocket hardware · VLDB J. 2012 Aether: A Scalable Approach to Logging · Proc. VLDB Endow. 2010 |
Transaction processing and concurrency control › concurrency control
optimistic concurrency control |
0.2 | 1 | 2016 | ERMIA: Fast Memory-Optimized Database System for Heterogeneous Workloads · SIGMOD Conference 2016 |
Transaction processing and concurrency control › concurrency control
locking |
0.2 | 2 | 2010 | Data-Oriented Transaction Execution · Proc. VLDB Endow. 2010 Improving OLTP Scalability using Speculative Lock Inheritance · Proc. VLDB Endow. 2009 |
Transaction processing and concurrency control
OLTP |
0.2 | 2 | 2013 | Scalable and dynamically balanced shared-everything OLTP with physiological partitioning · VLDB J. 2013 A data-oriented transaction execution engine and supporting tools · SIGMOD Conference 2011 |
Transaction processing and concurrency control
logging |
0.2 | 1 | 2014 | Scalable Logging through Emerging Non-Volatile Memory · Proc. VLDB Endow. 2014 |
Memory systems
non-volatile memory |
0.2 | 1 | 2014 | Scalable Logging through Emerging Non-Volatile Memory · Proc. VLDB Endow. 2014 |
Database system architecture and tuning
multicore scalability |
0.2 | 1 | 2013 | Toward Scalable Transaction Processing · Proc. VLDB Endow. 2013 |
Indexing and storage engines
partitioning |
0.2 | 1 | 2013 | Scalable and dynamically balanced shared-everything OLTP with physiological partitioning · VLDB J. 2013 |
Indexing and storage engines
b+-tree |
0.1 | 1 | 2011 | PLP: Page Latch-free Shared-everything OLTP · Proc. VLDB Endow. 2011 |
Indexing and storage engines › concurrent index
latch-free index |
0.1 | 1 | 2011 | PLP: Page Latch-free Shared-everything OLTP · Proc. VLDB Endow. 2011 |
Transaction processing and concurrency control
transaction execution |
0.1 | 1 | 2011 | A data-oriented transaction execution engine and supporting tools · SIGMOD Conference 2011 |
Performance modeling and evaluation › parallel performance evaluation
multicore scalability |
0.1 | 3 | 2012 | Scalability of write-ahead logging on multicore and multisocket hardware · VLDB J. 2012 PLP: Page Latch-free Shared-everything OLTP · Proc. VLDB Endow. 2011 Data-Oriented Transaction Execution · Proc. VLDB Endow. 2010 |
Transaction processing and concurrency control
contention management |
0.1 | 1 | 2010 | Data-Oriented Transaction Execution · Proc. VLDB Endow. 2010 |
Transaction processing and concurrency control › contention management
lock contention |
0.1 | 1 | 2010 | Data-Oriented Transaction Execution · Proc. VLDB Endow. 2010 |
Operating systems › resource management › process management › CPU scheduling
thread scheduling |
0.1 | 1 | 2010 | Decoupling contention management from scheduling · ASPLOS 2010 |
Parallel and multicore computing › transactional memory
contention management |
0.1 | 1 | 2010 | Decoupling contention management from scheduling · ASPLOS 2010 |
Parallel and multicore computing › synchronization
shared memory synchronization |
0.1 | 1 | 2010 | Decoupling contention management from scheduling · ASPLOS 2010 |
Query processing and optimization › query execution › expression evaluation
predicate evaluation |
0.1 | 1 | 2008 | Row-wise parallel predicate evaluation · Proc. VLDB Endow. 2008 |
Processor architecture and microarchitecture
SIMD |
0.1 | 1 | 2008 | Row-wise parallel predicate evaluation · Proc. VLDB Endow. 2008 |
Database system architecture and tuning
main-memory database |
0.1 | 1 | 2016 | ERMIA: Fast Memory-Optimized Database System for Heterogeneous Workloads · SIGMOD Conference 2016 |
Distributed and cloud data management
data sharing |
0.1 | 1 | 2007 | To Share or Not To Share? · VLDB 2007 |
Distributed systems
distributed coordination |
0.1 | 1 | 2014 | Eliminating unscalable communication in transaction processing · VLDB J. 2014 |
Parallel and multicore computing
parallel programming models and runtimes |
0.0 | 1 | 2010 | Decoupling contention management from scheduling · ASPLOS 2010 |
Query processing and optimization › query execution › scan processing
sequential scan |
0.0 | 1 | 2008 | Row-wise parallel predicate evaluation · Proc. VLDB Endow. 2008 |
Methods — techniques the papers use, named apart from their topics
parallel log replay · 0.6append-only storage · 0.6passive group commit · 0.4group commit · 0.4starvation mitigation · 0.2memory-optimized indexing · 0.2spinning · 0.2log flush optimization · 0.2decoupled contention management · 0.2context switching reduction · 0.2blocking · 0.2speculative lock inheritance · 0.2physiological partitioning · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | BionicDB: Fast and Power-Efficient OLTP on FPGA
Kangnyeon Kim, Ryan Johnson 0001, Ippokratis Pandis |
EDBT | 2 |
| 2018 | Erratum to: Efficiently making (almost) any concurrency control mechanism serializable
Tianzheng Wang 0001, Ryan Johnson 0001, Alan D. Fekete, Ippokratis Pandis |
VLDB J. | 2 |
| 2017 | Query Fresh: Log Shipping on SteroidsabstractHot standby systems often have to trade safety (i.e., not losing committed work) and freshness (i.e., having access to recent updates) for performance. Guaranteeing safety requires synchronous log shipping that blocks the primary until the log records are durably replicated in one or multiple backups; maintaining freshness necessitates fast log replay on backups, but is often defeated by the dual-copy architecture and serial replay: a backup must generate the "real" data from the log to make recent updates accessible to read-only queries. This paper proposes Query Fresh , a hot standby system that provides both safety and freshness while maintaining high performance on the primary. The crux is an append-only storage architecture used in conjunction with fast networks (e.g., InfiniBand) and byte-addressable, non-volatile memory (NVRAM). Query Fresh avoids the dual-copy design and treats the log as the database, enabling lightweight, parallel log replay that does not block the primary. Experimental results using the TPC-C benchmark show that under Query Fresh, backup servers can replay log records faster than they are generated by the primary server, using one quarter of the available compute resources. With a 56Gbps network, Query Fresh can support up to 4--5 synchronous replicas, each of which receives and replays ∼1.4GB of log records per second, with up to 4--6% overhead on the primary compared to a standalone server that achieves 620kTPS without replication. Tianzheng Wang 0001, Ryan Johnson 0001, Ippokratis Pandis |
Proc. VLDB Endow. | 2 |
| 2017 | Efficiently making (almost) any concurrency control mechanism serializable
Tianzheng Wang 0001, Ryan Johnson 0001, Alan D. Fekete, Ippokratis Pandis |
VLDB J. | 2 |
| 2016 | ERMIA: Fast Memory-Optimized Database System for Heterogeneous WorkloadsabstractLarge main memories and massively parallel processors have triggered not only a resurgence of high-performance transaction processing systems optimized for large main-memory and massively parallel processors, but also an increasing demand for processing heterogeneous workloads that include read-mostly transactions. Many modern transaction processing systems adopt a lightweight optimistic concurrency control (OCC) scheme to leverage its low overhead in low contention workloads. However, we observe that the lightweight OCC is not suitable for heterogeneous workloads, causing significant starvation of read-mostly transactions and overall performance degradation. Kangnyeon Kim, Tianzheng Wang 0001, Ryan Johnson 0001, Ippokratis Pandis |
SIGMOD Conference | 3 |
| 2015 | Slingshot: A modular framework for designing data processing systemsabstractTraditional relational database engines have been losing ground to specialized data processing engines in virtually every market segment, from data warehousing, OLTP, and stream processing, to scientific applications. Although relational database engines are evolving to leverage new technologies and more efficient processing paradigms, the generality of a large monolithic engine often makes this a significant effort. Our aim is to delimit and decouple database engine components to design a more lightweight and flexible data processing engine that can support any application domain efficiently and without the effort of a complete redesign. We introduce Slingshot, a new data processing engine, where modularity and implementation flexibility are the top priority. Its core database engine is minimal and mainly handles inter-operation of the database components. Each component, abstracted by an interface, can be externally implemented and plugged into the framework as a module that handles the component's functionality. As a result, this allows designers the liberty to choose suitable features for their target applications, to drop excess functionality, and to optimize code independent of the rest of the engine. We compare Slingshot to a traditional RDBMS and to custom solutions on queries that are representative of three application types (spatial, OLAP, and OLTP). We show that Slingshot outperforms the RDBMS in most cases, while performing comparably in others. Furthermore, Slingshot performs better or comparable to custom solutions on most tests. Finally, Slingshot's flexibility allows us to efficiently leverage computer architectures such as GPUs for speeding up complex computational tasks. Bogdan Simion, Daniel N. Ilha, Suprio Ray, Leslie Barron, Angela Demke Brown, Ryan Johnson 0001 |
IEEE BigData | 6 |
| 2015 | The Serial Safety Net: Efficient Concurrency Control on Modern HardwareabstractConcurrency control (CC) algorithms must trade off strictness for performance, with serializable schemes generally paying high cost---both in runtime overhead such as contention on lock tables, and in wasted efforts by aborting transactions---to prevent anomalies. We propose the serial safety net (SSN), a serializability-enforcing certifier for modern hardware with substantial core count and large main memory. SSN can be applied with minimal overhead on top of various CC schemes that offer higher performance but admit anomalies, e.g., snapshot isolation and read committed. Tianzheng Wang 0001, Ryan Johnson 0001, Alan D. Fekete, Ippokratis Pandis |
DaMoN | 2 |
| 2014 | Skew-resistant parallel in-memory spatial joinabstractSpatial join is a crucial operation in many spatial analysis applications in scientific and geographical information systems. Due to the compute-intensive nature of spatial predicate evaluation, spatial join queries can be slow even with a moderate sized dataset. Efficient parallelization of spatial join is therefore essential to achieve acceptable performance for many spatial applications. Technological trends, including the rising core count and increasingly large main memory, hold great promise in this regard. Previous parallel spatial join approaches tried to partition the dataset so that the number of spatial objects in each partition was as equal as possible. They also focused only on the filter step. However, when the more compute-intensive refinement step is included, significant processing skew may arise due to the uneven size of the objects. This processing skew significantly limits the achievable parallel performance of the spatial join queries, as the longest-running spatial partition determines the overall query execution time. Suprio Ray, Bogdan Simion, Angela Demke Brown, Ryan Johnson 0001 |
SSDBM | 4 |
| 2014 | Scalable Logging through Emerging Non-Volatile MemoryabstractEmerging byte-addressable, non-volatile memory (NVM) is fundamentally changing the design principle of transaction logging. It potentially invalidates the need for flush-before-commit as log records are persistent immediately upon write. Distributed logging---a once prohibitive technique for single node systems in the DRAM era---becomes a promising solution to easing the logging bottleneck because of the non-volatility and high performance of NVM. In this paper, we advocate NVM and distributed logging on multicore and multi-socket hardware. We identify the challenges brought by distributed logging and discuss solutions. To protect committed work in NVM-based systems, we propose passive group commit , a lightweight, practical approach that leverages existing hardware and group commit. We expect that durable processor cache is the ultimate solution to protecting committed work and building reliable, scalable NVM-based systems in general. We evaluate distributed logging with logging-intensive workloads and show that distributed logging can achieve as much as ~3x speedup over centralized logging in a modern DBMS and that passive group commit only induces minuscule overhead. Tianzheng Wang 0001, Ryan Johnson 0001 |
Proc. VLDB Endow. | 2 |
| 2014 | Eliminating unscalable communication in transaction processing
Ryan Johnson 0001, Ippokratis Pandis, Anastasia Ailamaki |
VLDB J. | 1 |
| 2013 | The bionic DBMS is coming, but what will it look like?
Ryan Johnson 0001, Ippokratis Pandis |
CIDR | 1 |
| 2013 | A parallel spatial data analysis infrastructure for the cloudabstractSpatial data analysis applications are emerging from a wide range of domains such as building information management, environmental assessments and medical imaging. Time-consuming computational geometry algorithms make these applications slow, even for medium-sized datasets. At the same time, there is a rapid expansion in available processing cores, through multicore machines and Cloud computing. The confluence of these trends demands effective parallelization of spatial query processing. Unfortunately, traditional parallel spatial databases are ill-equipped to deal with the performance heterogeneity that is common in the Cloud. Suprio Ray, Bogdan Simion, Angela Demke Brown, Ryan Johnson 0001 |
SIGSPATIAL/GIS | 4 |
| 2013 | Toward Scalable Transaction ProcessingabstractDesigning scalable transaction processing systems on modern multicore hardware has been a challenge for almost a decade. The typical characteristics of transaction processing workloads lead to a high degree of unbounded communication on multicores for conventional system designs. In this tutorial, we initially present a systematic way of eliminating scalability bottlenecks of a transaction processing system, which is based on minimizing the unbounded communication. Then, we show several techniques that apply the presented methodology to minimize logging, locking, latching etc. related bottlenecks of transaction processing systems. In parallel, we demonstrate the internals of the Shore-MT storage manager and how they have evolved over the years in terms of scalability on multicore hardware through such techniques. We also teach how to use Shore-MT with the various design options it offers through its application layer Shore-Kits and Metadata Frontend. Anastasia Ailamaki, Ryan Johnson 0001, Ippokratis Pandis, Pinar Tözün |
Proc. VLDB Endow. | 2 |
| 2013 | Scalable and dynamically balanced shared-everything OLTP with physiological partitioning
Pinar Tözün, Ippokratis Pandis, Ryan Johnson 0001, Anastasia Ailamaki |
VLDB J. | 3 |
| 2012 | Scalability of write-ahead logging on multicore and multisocket hardware
Ryan Johnson 0001, Ippokratis Pandis, Radu Stoica, Manos Athanassoulis, Anastasia Ailamaki |
VLDB J. | 1 |
| 2011 | Here are my Data Files. Here are my Queries. Where are my Results?
Stratos Idreos, Ioannis Alagiannis, Ryan Johnson 0001, Anastasia Ailamaki |
CIDR | 3 |
| 2011 | A data-oriented transaction execution engine and supporting toolsabstractConventional OLTP systems assign each transaction to a worker thread and that thread accesses data, depending on what the transaction dictates. This thread-to-transaction work assignment policy leads to unpredictable accesses. The unpredictability forces each thread to enter a large number of critical sections for the completion of even the simplest of the transactions; leading to poor performance and scalability on modern manycore hardware. Ippokratis Pandis, Pinar Tözün, Miguel Branco, Dimitris Karampinas, Danica Porobic, Ryan Johnson 0001, Anastasia Ailamaki |
SIGMOD Conference | 6 |
| 2011 | PLP: Page Latch-free Shared-everything OLTPabstractScaling the performance of shared-everything transaction processing systems to highly-parallel multicore hardware remains a challenge for database system designers. Recent proposals alleviate locking and logging bottlenecks in the system, leaving page latching as the next potential problem. To tackle the page latching problem, we propose physiological partitioning (PLP). The PLP design applies logical-only partitioning, maintaining the desired properties of shared-everything designs, and introduces a multi-rooted B+Tree index structure (MRBTree) which enables the partitioning of the accesses at the physical page level. Logical partitioning and MRBTrees together ensure that all accesses to a given index page come from a single thread and, hence, can be entirely latch-free; an extended design makes heap page accesses thread-private as well. Eliminating page latching allows us to simplify key code paths in the system such as B+Tree operations leading to more efficient and maintainable code. Profiling a prototype PLP system running on different multicore machines shows that it acquires 85% and 68% fewer contentious critical sections, respectively, than an optimized conventional design and one based on logical-only partitioning. PLP also improves performance up to 40% and 18%, respectively, over the existing systems. Ippokratis Pandis, Pinar Tözün, Ryan Johnson 0001, Anastasia Ailamaki |
Proc. VLDB Endow. | 3 |
| 2010 | Decoupling contention management from schedulingabstractMany parallel applications exhibit unpredictable communication between threads, leading to contention for shared objects. The choice of contention management strategy impacts strongly the performance and scalability of these applications: spinning provides maximum performance but wastes significant processor resources, while blocking-based approaches conserve processor resources but introduce high overheads on the critical path of computation. Under situations of high or changing load, the operating system complicates matters further with arbitrary scheduling decisions which often preempt lock holders, leading to long serialization delays until the preempted thread resumes execution. Ryan Johnson 0001, Radu Stoica, Anastasia Ailamaki, Todd C. Mowry |
ASPLOS | 1 |
| 2010 | Aether: A Scalable Approach to LoggingabstractThe shift to multi-core hardware brings new challenges to database systems, as the software parallelism determines performance. Even though database systems traditionally accommodate simultaneous requests, a multitude of synchronization barriers serialize execution. Write-ahead logging is a fundamental, omnipresent component in ARIES-style concurrency and recovery, and one of the most important yet-to-be addressed potential bottlenecks, especially in OLTP workloads making frequent small changes to data. In this paper, we identify four logging-related impediments to database system scalability. Each issue challenges different level in the software architecture: (a) the high volume of small-sized I/O requests may saturate the disk, (b) transactions hold locks while waiting for the log flush, (c) extensive context switching overwhelms the OS scheduler with threads executing log I/Os, and (d) contention appears as transactions serialize accesses to in-memory log data structures. We demonstrate these problems and address them with techniques that, when combined, comprise a holistic, scalable approach to logging. Our solution achieves a 20%-69% speedup over a modern database system when running log-intensive workloads, such as the TPC-B and TATP benchmarks. Moreover, it achieves log insert throughput over 1.8GB/s for small log records on a single socket server, an order of magnitude higher than the traditional way of accessing the log using a single mutex. Ryan Johnson 0001, Ippokratis Pandis, Radu Stoica, Manos Athanassoulis, Anastasia Ailamaki |
Proc. VLDB Endow. | 1 |
| 2010 | Data-Oriented Transaction ExecutionabstractWhile hardware technology has undergone major advancements over the past decade, transaction processing systems have remained largely unchanged. The number of cores on a chip grows exponentially, following Moore's Law, allowing for an ever-increasing number of transactions to execute in parallel. As the number of concurrently-executing transactions increases, contended critical sections become scalability burdens. In typical transaction processing systems the centralized lock manager is often the first contended component and scalability bottleneck. In this paper, we identify the conventional thread-to-transaction assignment policy as the primary cause of contention. Then, we design DORA, a system that decomposes each transaction to smaller actions and assigns actions to threads based on which data each action is about to access. DORA's design allows each thread to mostly access thread-local data structures, minimizing interaction with the contention-prone centralized lock manager. Built on top of a conventional storage engine, DORA maintains all the ACID properties. Evaluation of a prototype implementation of DORA on a multicore system demonstrates that DORA attains up to 4.8x higher throughput than a state-of-the-art storage engine when running a variety of synthetic and real-world OLTP workloads. Ippokratis Pandis, Ryan Johnson 0001, Nikos Hardavellas, Anastasia Ailamaki |
Proc. VLDB Endow. | 2 |
| 2009 | A new look at the roles of spinning and blockingabstractDatabase engines face growing scalability challenges as core counts exponentially increase each processor generation, and the efficiency of synchronization primitives used to protect internal data structures is a crucial factor in overall database performance. The trade-offs between different implementation approaches for these primitives shift significantly with increasing degrees of available hardware parallelism. Blocking synchronization, which has long been the favored approach in database systems, becomes increasingly unattractive as growing core counts expose its bottlenecks. Spinning implementations improve peak system throughput by a factor of 2x or more for 64 hardware contexts, but suffer from poor performance under load. Ryan Johnson 0001, Manos Athanassoulis, Radu Stoica, Anastasia Ailamaki |
DaMoN | 1 |
| 2009 | Evaluating and repairing write performance on flash devicesabstractIn the last few years NAND flash storage has become more and more popular as price per GB and capacity both improve at exponential rates. Flash memory offers significant benefits compared to magnetic hard disk drives (HDDs) and DBMSs are highly likely to use flash as a general storage backend, either alone or in heterogeneous storage solutions with HDDs. Flash devices, however, respond quite differently than HDDs for common access patterns, and recent research shows a strong asymmetry between read and write performance. Moreover, flash storage devices behave unpredictably, showing a high dependence on previous I/O history and usage patterns. In this paper we investigate how a DBMS can overcome these issues to take full advantage of flash memory as persistent storage. We propose new a flash aware data layout - append and pack - which stabilizes device performance by eliminating random writes. We assess the impact of append and pack on OLTP workload performance using both an analytical model and micro-benchmarks, and our results suggest that significant improvements can be achieved for real workloads. Radu Stoica, Manos Athanassoulis, Ryan Johnson 0001, Anastasia Ailamaki |
DaMoN | 3 |
| 2009 | Shore-MT: a scalable storage manager for the multicore eraabstractDatabase storage managers have long been able to efficiently handle multiple concurrent requests. Until recently, however, a computer contained only a few single-core CPUs, and therefore only a few transactions could simultaneously access the storage manager's internal structures. This allowed storage managers to use non-scalable approaches without any penalty. With the arrival of multicore chips, however, this situation is rapidly changing. More and more threads can run in parallel, stressing the internal scalability of the storage manager. Systems optimized for high performance at a limited number of cores are not assured similarly high performance at a higher core count, because unanticipated scalability obstacles arise. We benchmark four popular open-source storage managers (Shore, BerkeleyDB, MySQL, and PostgreSQL) on a modern multicore machine, and find that they all suffer in terms of scalability. We briefly examine the bottlenecks in the various storage engines. We then present Shore-MT, a multithreaded and highly scalable version of Shore which we developed by identifying and successively removing internal bottlenecks. When compared to other DBMS, Shore-MT exhibits superior scalability and 2--4 times higher absolute throughput than its peers. We also show that designers should favor scalability to single-thread performance, and highlight important principles for writing scalable storage engines, illustrated with real examples from the development of Shore-MT. Ryan Johnson 0001, Ippokratis Pandis, Nikos Hardavellas, Anastasia Ailamaki, Babak Falsafi |
EDBT | 1 |
| 2009 | Improving OLTP Scalability using Speculative Lock InheritanceabstractTransaction processing workloads provide ample request level concurrency which highly parallel architectures can exploit. However, the resulting heavy utilization of core database services also causes resource contention within the database engine itself and limits scalability. Meanwhile, many database workloads consist of short transactions which access only a few database records each, often with stringent response time requirements. Performance of these short transactions is determined largely by the amount of overhead the database engine imposes for services such as logging, locking, and transaction management. This paper highlights the negative scalability impact of database locking, an effect which is especially severe for short transactions running on highly concurrent multicore hardware. We propose and evaluate Speculative Lock Inheritance, a technique where hot database locks pass directly from transaction to transaction, bypassing the lock manager bottleneck. We implement SLI in the Shore-MT storage manager and show that lock inheritance fundamentally improves scalability by decoupling the number of simultaneous requests for popular locks from the number of threads in the system, eliminating contention within the lock manager even as core counts continue to increase. We achieve this effect with only minor changes to the lock manager and without changes to consistency or other application-visible effects. Ryan Johnson 0001, Ippokratis Pandis, Anastasia Ailamaki |
Proc. VLDB Endow. | 1 |
| 2008 | Critical sections: re-emerging scalability concerns for database storage enginesabstractCritical sections in database storage engines impact performance and scalability more as the number of hardware contexts per chip continues to grow exponentially. With enough threads in the system, some critical section will eventually become a bottleneck. While algorithmic changes are the only long-term solution, they tend to be complex and costly to develop. Meanwhile, changes in enforcement of critical sections require much less effort. We observe that, in practice, many critical sections are so short that enforcing them contributes a significant or even dominating fraction of their total cost and tuning them directly improves database system performance. The contribution of this paper is two-fold: we (a) make a thorough performance comparison of the various synchronization primitives in the database system developer's toolbox and highlight the best ones for practical use, and (b) show that properly enforcing critical sections can delay the need to make algorithmic changes for a target number of processors. Ryan Johnson 0001, Ippokratis Pandis, Anastasia Ailamaki |
DaMoN | 1 |
| 2008 | Row-wise parallel predicate evaluationabstractTable scans have become more interesting recently due to greater use of ad-hoc queries and greater availability of multi-core, vector-enabled hardware. Table scan performance is limited by value representation, table layout, and processing techniques. In this paper we propose a new layout and processing technique for efficient one-pass predicate evaluation. Starting with a set of rows with a fixed number of bits per column, we append columns to form a set of banks and then pad each bank to a supported machine word length, typically 16, 32, or 64 bits. We then evaluate partial predicates on the columns of each bank, using a novel evaluation strategy that evaluates column level equality, range tests, IN-list predicates, and conjuncts of these predicates, simultaneously on multiple columns within a bank, and on multiple rows within a machine register. This approach outperforms pure column stores, which must evaluate the partial predicates one column at a time. We evaluate and compare the performance and representation overhead of this new approach and several proposed alternatives. Ryan Johnson 0001, Vijayshankar Raman, Richard Sidle, Garret Swart |
Proc. VLDB Endow. | 1 |
| 2008 | Interrupt modeling for efficient high-level scheduler design space explorationabstractSingle Chip Heterogeneous Multiprocessors executing a wide variety of software are increasingly common in consumer electronics. Because of the mix of real-time and best effort software across the entire chip, a key design element of these systems is the choice of scheduling strategy. Without task migration, the benefits of single chip processing cannot be fully realized. Previously, high-level modeling environments have not been capable of modeling asynchronous events such as interrupts and preemptive scheduling while preserving the performance benefits of high level simulation. This paper shows how extensions to Modeling Environment for Software and Hardware (MESH) enable precise modeling of these asynchronous events while running more than 1000 faster than cycle-accurate simulation. We discuss how we achieved this and illustrate its use in modeling preemptive scheduling. We evaluate the potential of migrating running tasks between processors to improve performance in a multimedia cell phone example. We show that by allowing schedulers to rebalance processor loads as new tasks arrive significant performance gains can be achieved over statically partitioned and dynamic scheduling approaches. In our example, we show that system response time can be improved by as much as 1.96 times when a preemptive migratory scheduler is used, despite the overhead incurred by scheduling tasks across multiple processors and transferring state during the migration of running tasks. The contribution of this work is to provide a framework for evaluating preemptive scheduling policies and task migration in a high level simulator, by combining the new ability to model interrupts with dramatically increased efficiency in the high-level modeling of scheduling and commuincation MESH already provides. Ryan Johnson 0001, JoAnn M. Paul |
ACM Trans. Design Autom. Electr. Syst. | 1 |
| 2007 | Database Servers on Chip Multiprocessors: Limitations and Opportunities
Nikos Hardavellas, Ippokratis Pandis, Ryan Johnson 0001, Naju Mancheril, Anastasia Ailamaki, Babak Falsafi |
CIDR | 3 |
| 2007 | To Share or Not To Share?
Ryan Johnson 0001, Nikos Hardavellas, Ippokratis Pandis, Naju Mancheril, Stavros Harizopoulos, Kivanc Sabirli, Anastasia Ailamaki, Babak Falsafi |
VLDB | 1 |
| 2006 | Satisficing negotiationsabstractNegotiation procedures that are founded on the doctrine of individual rationality, where each participant is committed to maximizing its own satisfaction, are limited in their ability to accommodate the interests of others, and therefore, may unnecessarily constrain the negotiability of a decision maker, particularly in cooperative environments. Satisficing game theory provides a distinct alternative to the hyperrationality of conventional rational choice by waiving reliance on the individual rationality premise and offering an approach to negotiatory decision making that is based on a well-defined mathematical notion of satisficing, or being good enough, that permits the modeling of complex interrelationships between agents. This approach provides a mechanism to compute the attitude, or degree of conflict or contentedness, of the negotiators. Examples illustrate both single-round and multiround satisficing negotiation protocols James K. Archibald, Jared C. Hill, Ryan Johnson 0001, Wynn C. Stirling |
IEEE Trans. Syst. Man Cybern. Part C | 3 |