Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Ismail Oukid

dblp:135/3665 · DBLP profile ↗
← Back
17ranked-venue papers
6as first author
1since 2021 · last 2025
0000-0002-4253-4989ORCID · corroborated

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

Databases, data management, data science and information retrieval · 17 · 6 first-author · 1 since 2021

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
8 papers
Indexing and storage engines · 56% Database system architecture and tuning · 27% Query processing and optimization · 15%
Computer architecture, parallel and distributed computing, and storage systems
8 papers
Memory systems · 35% Cloud and datacenter computing · 28% Performance modeling and evaluation · 14%

Topics — the 23 heaviest of 27, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Query processing and optimization
analytical workloads
0.912025
Workload Insights From the Snowflake Data Cloud: What Do Production Analytic Queries Really Look Like? · Proc. VLDB Endow. 2025
Database system architecture and tuning
workload characterization
0.912025
Workload Insights From the Snowflake Data Cloud: What Do Production Analytic Queries Really Look Like? · Proc. VLDB Endow. 2025
Cloud and datacenter computing
database-as-a-service
0.912025
Workload Insights From the Snowflake Data Cloud: What Do Production Analytic Queries Really Look Like? · Proc. VLDB Endow. 2025
Memory systems
non-volatile memory
0.952020
Data Structure Engineering For Byte-Addressable Non-Volatile Memory · SIGMOD Conference 2017
FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B-Tree for Storage Class Memory · SIGMOD Conference 2016
PiBench Online: Interactive Benchmarking of Persistent Memory Indexes · Proc. VLDB Endow. 2020
Indexing and storage engines
persistent memory index
0.822020
PiBench Online: Interactive Benchmarking of Persistent Memory Indexes · Proc. VLDB Endow. 2020
Evaluating Persistent Memory Range Indexes · Proc. VLDB Endow. 2019
Memory systems › non-volatile memory
storage class memory
0.632017
Data Structure Engineering For Byte-Addressable Non-Volatile Memory · SIGMOD Conference 2017
FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B-Tree for Storage Class Memory · SIGMOD Conference 2016
Memory Management Techniques for Large-Scale Persistent-Main-Memory Systems · Proc. VLDB Endow. 2017
Performance modeling and evaluation
benchmarking
0.522020
PiBench Online: Interactive Benchmarking of Persistent Memory Indexes · Proc. VLDB Endow. 2020
Evaluating Persistent Memory Range Indexes · Proc. VLDB Endow. 2019
Database system architecture and tuning
configuration tuning
0.412020
Robust Performance of Main Memory Data Structures by Configuration · SIGMOD Conference 2020
Indexing and storage engines › data compression
dictionary compression
0.412020
Faster & strong: string dictionary compression using sampling and fast vectorized decompression · VLDB J. 2020
Indexing and storage engines
string dictionary
0.412020
Faster & strong: string dictionary compression using sampling and fast vectorized decompression · VLDB J. 2020
Storage systems
key-value storage
0.412020
Enabling Low Tail Latency on Multicore Key-Value Stores · Proc. VLDB Endow. 2020
Cloud and datacenter computing › quality of service
tail latency
0.412020
Enabling Low Tail Latency on Multicore Key-Value Stores · Proc. VLDB Endow. 2020
Indexing and storage engines
range index
0.412019
Evaluating Persistent Memory Range Indexes · Proc. VLDB Endow. 2019
Indexing and storage engines › b+-tree
persistent b+-tree
0.312017
Memory Management Techniques for Large-Scale Persistent-Main-Memory Systems · Proc. VLDB Endow. 2017
Indexing and storage engines
persistent data structure
0.312017
Data Structure Engineering For Byte-Addressable Non-Volatile Memory · SIGMOD Conference 2017
Indexing and storage engines › persistent data structure
persistent index
0.212016
FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B-Tree for Storage Class Memory · SIGMOD Conference 2016
Transaction processing and concurrency control
OLTP
0.112020
Robust Performance of Main Memory Data Structures by Configuration · SIGMOD Conference 2020
Processor architecture and microarchitecture
instruction set architecture
0.112020
Faster & strong: string dictionary compression using sampling and fast vectorized decompression · VLDB J. 2020
Storage systems › file systems › write-optimized file system
log-structured file system
0.112020
Enabling Low Tail Latency on Multicore Key-Value Stores · Proc. VLDB Endow. 2020
Processor architecture and microarchitecture
SIMD
0.112020
Faster & strong: string dictionary compression using sampling and fast vectorized decompression · VLDB J. 2020
Performance modeling and evaluation › benchmarking › database system benchmarking
index benchmarking
0.112019
Evaluating Persistent Memory Range Indexes · Proc. VLDB Endow. 2019
Memory systems › non-volatile memory
persistent memory
0.112019
Evaluating Persistent Memory Range Indexes · Proc. VLDB Endow. 2019
Concurrent programming
concurrent data structures
0.112016
FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B-Tree for Storage Class Memory · SIGMOD Conference 2016

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

query log analysis · 1.7sampling · 0.9re-pair front coding · 0.9hardware performance counters · 0.9block-based compression · 0.9AVX-512 vectorization · 0.9concurrency control · 0.6SCM emulation · 0.6fingerprinting · 0.5message-passing communication · 0.4asynchronous programming model · 0.4defragmentation · 0.3hardware transactional memory · 0.2
YearPublicationVenuePosition
2025 Workload Insights From the Snowflake Data Cloud: What Do Production Analytic Queries Really Look Like?
abstract
Capturing the characteristics of real-world analytical workloads is challenging yet critical for advancing industry practices and academic research. Historically, obtaining accurate query and data characteristics has been difficult, largely because detailed workload information has often been confined to on-premises database systems. With the rise of cloud-native databases like Snowflake, it has become possible to analyze production query workloads at scale and in greater detail. Leveraging this capability, this study presents a comprehensive analysis of analytics workloads across diverse customers and industries. In particular, we investigate the query characteristics of 667 million queries issued by the most popular BI tools against Snowflake over a two-week period. Based on this dataset, this paper makes two primary contributions: first, we conduct a detailed examination of query properties, with particular attention to filters, joins, aggregations, and other previously underexplored aspects. Second, we uncover unique and practically relevant query patterns that are typically absent from standard database benchmarks.
Jan Vincent Szlang, Sebastian Breß, Sebastian Cattes, Jonathan Dees, Florian Funke 0004, Max Heimel, Michel Oleynik, Ismail Oukid, Tobias Maltenberger
Proc. VLDB Endow.8
2020 Robust Performance of Main Memory Data Structures by Configuration
abstract
In this paper, we present a new approach for achieving robust performance of data structures making it easier to reuse the same design for different hardware generations but also for different workloads. To achieve robust performance, the main idea is to strictly separate the data structure design from the actual strategies to execute access operations and adjust the actual execution strategies by means of so-called configurations instead of hard-wiring the execution strategy into the data structure. In our evaluation we demonstrate the benefits of this configuration approach for individual data structures as well as complex OLTP workloads.
Tiemo Bang, Ismail Oukid, Norman May, Ilia Petrov 0001, Carsten Binnig
SIGMOD Conference2
2020 PiBench Online: Interactive Benchmarking of Persistent Memory Indexes
abstract
The emergence of persistent memory (PM), such as Intel Optane DC Persistent Memory Modules (DCPMM), opened up many opportunities for building high-performance indexes directly on PM. However, the many PM indexes proposed by prior work had their evaluation based on PM emulation using DRAM and therefore it was not clear how they would perform on real PM hardware. Moreover, they typically used ad hoc, in-house benchmarks and did not collect PM-specific hardware metrics that are key performance indicators and are instrumental for users and developers to understand the performance behavior of PM indexes. These issues call for a systematic, fair and reproducible approach for evaluating PM indexes. This demonstration highlights the principles and lessons learned from our recent evaluation of PM indexes on real DCPMM and showcases PiBench, a unified benchmarking framework that enables fair and reproducible evaluation of PM indexes. In addition to common metrics, PiBench uniquely integrates monitoring tools to collect PM-specific hardware counters, allowing in-depth performance analysis. Our demonstration is enabled by PiBench Online, a new interactive system built on top of PiBench. Using PiBench Online, users can upload their own index implementations, run preset or customized workloads, and analyze results interactively, all through an easy-to-use web interface. PiBench is open-source and PiBench Online is deployed at https://pibench.org. We hope PiBench Online can promote fair comparison and reproducibility in database and systems communities.
Xiangpeng Hao, Lucas Lersch, Tianzheng Wang 0001, Ismail Oukid
Proc. VLDB Endow.4
2020 Enabling Low Tail Latency on Multicore Key-Value Stores
abstract
Modern applications employ key-value stores (KVS) in at least some point of their software stack, often as a caching system or a storage manager. Many of these applications also require a high degree of responsiveness and performance predictability. However, most KVS have similar design decisions which focus on improving throughput metrics, at times by sacrificing latency. While latency can be occasionally reduced by over provisioning hardware, this entails significant increase in costs. In this paper we present RStore, a KVS which focus on low tail latency as its primary goal, while also enabling efficient usage of hardware resources. To that aim, we argue in favor of techniques such as an asynchronous programming model, message-passing communication, and log-structured storage on modern hardware. Throughout the paper we discuss these and other design decisions of RStore that differ from those of more traditional systems. Our evaluation shows that RStore scales its throughput with an increasing number of cores while maintaining a robust behavior with low and predictable latency.
Lucas Lersch, Ivan Schreter, Ismail Oukid, Wolfgang Lehner
Proc. VLDB Endow.3
2020 Faster & strong: string dictionary compression using sampling and fast vectorized decompression
abstract
Abstract String dictionaries constitute a large portion of the memory footprint of database applications. While strong string dictionary compression algorithms exist, these come with impractical access and compression times. Therefore, lightweight algorithms such as front coding (PFC) are favored in practice. This paper endeavors to make strong string dictionary compression practical. We focus on Re-Pair Front Coding (RPFC), a grammar-based compression algorithm, since it consistently offers better compression ratios than other algorithms in the literature. To accelerate compression times, we propose block-based RPFC (BRPFC) which consists in independently compressing small blocks of the dictionary. For further accelerated compression times especially on large string dictionaries, we also propose an alternative version of BRPFC that uses sampling to speed up compression. Moreover, to accelerate access times, we devise a vectorized access method, using $$\hbox {Intel}^{\circledR }$$ Intel ® Advanced Vector Extensions 512 ( $$\hbox {Intel}^{\circledR }$$ Intel ® AVX-512). Our experimental evaluation shows that sampled BRPFC offers compression times up to 190 $$\times $$ × faster than RPFC, and random string lookups 2.3 $$\times $$ × faster than RPFC on average. These results move our modified RPFC into a practical range for use in database systems because the overhead of Re-Pair-based compression for access times can be reduced by 2 $$\times $$ × .
Robert Lasch, Ismail Oukid, Roman Dementiev, Norman May, Süleyman Sirri Demirsoy, Kai-Uwe Sattler
VLDB J.2
2019 Fast & Strong: The Case of Compressed String Dictionaries on Modern CPUs
abstract
String dictionaries constitute a large portion of the memory foot-print of database applications. While strong string dictionary compression algorithms exist, these come with impractical access and compression times. Therefore, lightweight algorithms such as front coding are favored in practice. This paper endeavors to make strong string dictionary compression practical. We focus on Re-Pair Front Coding (RPFC), a grammar-based compression algorithm, since it consistently offers better compression ratios than other algorithms in the literature. To accelerate compression times, we propose block-based RPFC, which consists in compressing independently small blocks of the dictionary. Moreover, to accelerate access times, we devise a vectorized access method, using Intel® Advanced Vector Extensions 512 (Intel® AVX-512), that is enabled by two specific changes we propose to RPFC. Our experimental evaluation shows that our proposed techniques accelerate compression and access times by up to 24x and 2.9x, respectively. These results move our modified RPFC into a practical range for use in database systems.
Robert Lasch, Ismail Oukid, Roman Dementiev, Norman May, Süleyman Sirri Demirsoy, Kai-Uwe Sattler
DaMoN2
2019 Persistent Buffer Management with Optimistic Consistency
abstract
Finding the best way to leverage non-volatile memory (NVM) on modern database systems is still an open problem. The answer is far from trivial since the clear boundary between memory and storage present in most systems seems to be incompatible with the intrinsic memory-storage duality of NVM. Rather than treating NVM either solely as memory or solely as storage, in this work we propose how NVM can be simultaneously used as both in the context of modern database systems. We design a persistent buffer pool on NVM, enabling pages to be directly read/written by the CPU (like memory) while recovering corrupted pages after a failure (like storage). The main benefits of our approach are an easy integration in the existing database architectures, reduced costs (by replacing DRAM with NVM), and faster peak-performance recovery.
Lucas Lersch, Wolfgang Lehner, Ismail Oukid
DaMoN3
2019 Bridging the Latency Gap between NVM and DRAM for Latency-bound Operations
abstract
Non-Volatile Memory (NVM) technologies exhibit 4X the read access latency of conventional DRAM. When the working set does not fit in the processor cache, this latency gap between DRAM and NVM leads to more than 2X runtime increase for queries dominated by latency-bound operations such as index joins and tuple reconstruction. We explain how to easily hide NVM latency by interleaving the execution of parallel work in index joins and tuple reconstruction using coroutines. Our evaluation shows that interleaving applied to the non-trivial implementations of these two operations in a production-grade codebase accelerates end-to-end query runtimes on both NVM and DRAM by up to 1.7X and 2.6X respectively, thereby reducing the performance difference between DRAM and NVM by more than 60%.
Georgios Psaropoulos, Ismail Oukid, Thomas Legler, Norman May, Anastasia Ailamaki
DaMoN2
2019 Evaluating Persistent Memory Range Indexes
abstract
Persistent memory (PM) is fundamentally changing the way database index structures are built by enabling persistence, high performance, and (near) instant recovery all on the memory bus. Prior work has proposed many techniques to tailor index structure designs for PM, but they were mostly based on volatile DRAM with simulation due to the lack of real PM hardware. Until today is it unclear how these techniques will actually perform on real PM hardware. With the recent released Intel Optane DC Persistent Memory, for the first time, this paper provides a comprehensive evaluation of recent persistent index structures. We focus on B + -Tree-based range indexes and carefully choose four representative index structures for evaluation: wBTree, NV-Tree, BzTree and FPTree. These four tree structures cover a wide, representative range of techniques that are essential building blocks of PM-based index structures. For fair comparison, we used an unified programming model for all trees and developed PiBench , a benchmarking framework which targets PM-based indexes. Through empirical evaluation using representative workloads, we identify key, effective techniques, insights and caveats to guide the making of future PM-based index structures.
Lucas Lersch, Xiangpeng Hao, Ismail Oukid, Tianzheng Wang 0001, Thomas Willhalm
Proc. VLDB Endow.3
2017 Rethinking DRAM Caching for LSMs in an NVRAM Environment
Lucas Lersch, Ismail Oukid, Ivan Schreter, Wolfgang Lehner
ADBIS2
2017 An analysis of LSM caching in NVRAM
abstract
The rise of NVRAM technologies promises to change the way we think about system architectures. In order to fully exploit its advantages, it is required to develop systems specially tailored for NVRAM devices. Not only this imposes great challenges, but developing full system architectures from scratch is undesirable in many scenarios due to prohibitive development costs. Instead, we analyze in this paper the behavior of an existing log-structured persistent key-value store, namely LevelDB, when run on top of an emulated NVRAM device. We investigate initial opportunities for improvement when adapting a system tailored for HDD/SSDs to run on top of an NVRAM environment. Furthermore, we analyze the behavior of the legacy DRAM caching component of LevelDB and whether more suitable caching policies are required.
Lucas Lersch, Ismail Oukid, Wolfgang Lehner, Ivan Schreter
DaMoN2
2017 Data Structure Engineering For Byte-Addressable Non-Volatile Memory
abstract
Storage Class Memory (SCM) is emerging as a viable alternative to traditional DRAM, alleviating its scalability limits, both in terms of capacity and energy consumption, while being non-volatile. Hence, SCM has the potential to become a universal memory, blurring well-known storage hierarchies. However, along with opportunities, SCM brings many challenges. In this tutorial we will dissect SCM challenges and provide an in-depth view of existing programming models that circumvent them, as well as novel data structures that stem from these models. We will also elaborate on fail-safety testing challenges -- an often overlooked, yet important topic. Finally, we will discuss SCM emulation techniques for end-to-end testing of SCM-based software components. In contrast to surveys investigating the use of SCM in database systems, this tutorial is designed as a programming guide for researchers and professionals interested in leveraging SCM in database systems.
Ismail Oukid, Wolfgang Lehner
SIGMOD Conference1
2017 Memory Management Techniques for Large-Scale Persistent-Main-Memory Systems
abstract
Storage Class Memory (SCM) is a novel class of memory technologies that promise to revolutionize database architectures. SCM is byte-addressable and exhibits latencies similar to those of DRAM, while being non-volatile. Hence, SCM could replace both main memory and storage, enabling a novel single-level database architecture without the traditional I/O bottleneck. Fail-safe persistent SCM allocation can be considered conditio sine qua non for enabling this novel architecture paradigm for database management systems. In this paper we present PAllocator, a fail-safe persistent SCM allocator whose design emphasizes high concurrency and capacity scalability. Contrary to previous works, PAllocator thoroughly addresses the important challenge of persistent memory fragmentation by implementing an efficient defragmentation algorithm. We show that PAllocator outperforms state-of-the-art persistent allocators by up to one order of magnitude, both in operation throughput and recovery time, and enables up to 2.39x higher operation throughput on a persistent B-Tree.
Ismail Oukid, Daniel Booss, Adrien Lespinasse, Wolfgang Lehner, Thomas Willhalm, Grégoire Gomes
Proc. VLDB Endow.1
2016 On testing persistent-memory-based software
abstract
Leveraging Storage Class Memory (SCM) as a universal memory--i.e. as memory and storage at the same time--has deep implications on database architectures. It becomes possible to store a single copy of the data in SCM and directly operate on it at a fine granularity. However, exposing the whole database with direct access to the application dramatically increases the risk of data corruption. In this paper we propose a lightweight on-line testing framework that helps find and debug SCM-related errors that can occur upon software or power failures. Our testing framework simulates failures in critical code paths and achieves fast code coverage by leveraging call stack information to limit duplicate testing. It also partially covers the errors that might arise as a result of reordered memory operations. We show through an experimental evaluation that our testing framework is fast enough to be used with large software systems and discuss its use during the development of our in-house persistent SCM allocator.
Ismail Oukid, Daniel Booss, Adrien Lespinasse, Wolfgang Lehner
DaMoN1
2016 FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B-Tree for Storage Class Memory
abstract
The advent of Storage Class Memory (SCM) is driving a rethink of storage systems towards a single-level architecture where memory and storage are merged. In this context, several works have investigated how to design persistent trees in SCM as a fundamental building block for these novel systems. However, these trees are significantly slower than DRAM-based counterparts since trees are latency-sensitive and SCM exhibits higher latencies than DRAM. In this paper we propose a novel hybrid SCM-DRAM persistent and concurrent B-Tree, named Fingerprinting Persistent Tree (FPTree) that achieves similar performance to DRAM-based counterparts. In this novel design, leaf nodes are persisted in SCM while inner nodes are placed in DRAM and rebuilt upon recovery. The FPTree uses Fingerprinting, a technique that limits the expected number of in-leaf probed keys to one. In addition, we propose a hybrid concurrency scheme for the FPTree that is partially based on Hardware Transactional Memory. We conduct a thorough performance evaluation and show that the FPTree outperforms state-of-the-art persistent trees with different SCM latencies by up to a factor of 8.2. Moreover, we show that the FPTree scales very well on a machine with 88 logical cores. Finally, we integrate the evaluated trees in memcached and a prototype database. We show that the FPTree incurs an almost negligible performance overhead over using fully transient data structures, while significantly outperforming other persistent trees.
Ismail Oukid, Johan Lasperas, Anisoara Nica, Thomas Willhalm, Wolfgang Lehner
SIGMOD Conference1
2015 Instant Recovery for Main Memory Databases
Ismail Oukid, Wolfgang Lehner, Thomas Kissinger, Thomas Willhalm, Peter Bumbulis
CIDR1
2014 SOFORT: a hybrid SCM-DRAM storage engine for fast data recovery
abstract
Storage Class Memory (SCM) has the potential to significantly improve database performance. This potential has been well documented for throughput [4] and response time [25, 22]. In this paper we show that SCM has also the potential to significantly improve restart performance, a shortcoming of traditional main memory database systems. We present SOFORT, a hybrid SCM-DRAM storage engine that leverages full capabilities of SCM by doing away with a traditional log and updating the persisted data in place in small increments. We show that we can achieve restart times of a few seconds independent of instance size and transaction volume without significantly impacting transaction throughput.
Ismail Oukid, Daniel Booss, Wolfgang Lehner, Peter Bumbulis, Thomas Willhalm
DaMoN1