EDBT 2026 Demo / reviewers in the wild / expert
Wook-Hee Kim
dblp:144/6293
· DBLP profile ↗
15ranked-venue papers
4as first author
7since 2021 · last 2023
0000-0001-6292-3001ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 11 · 3 first-author · 5 since 2021Software engineering, systems software and programming languages · 6 · 2 first-author · 3 since 2021Databases, data management, data science and information retrieval · 4 · 1 first-author · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Prism: Optimizing Key-Value Store for Modern Heterogeneous Storage DevicesabstractAs data generation has been on an upward trend, storing vast volumes of data cost-effectively as well as efficiently accessing them is paramount. At the same time, today's storage landscape continues to diversify, from high-bandwidth storage devices such as NVMe SSDs to low-latency non-volatile memory (e.g., Intel Optane DCPMM). These heterogeneous storage devices have the potential to deliver high performance in terms of bandwidth and latency with cost efficiency, while achieving the performance and cost targets together still remains a challenging problem. We provide our solution, Prism, a novel key-value store that utilizes modern heterogeneous storage devices. Prism uses heterogeneous storage devices synergistically to harness the advantages of each storage device while suppressing their downsides. We devise new techniques to balance the latency-bandwidth tradeoff when reading from SSD. For ensuring multicore scalability and crash consistency of data across heterogeneous storage media, Prism proposes cross-storage concurrency control and cross-storage crash consistency protocols. Our evaluation shows that Prism outperforms state-of-the-art key-value stores by up to 13.1× with significantly lower tail latency. Yongju Song, Wook-Hee Kim, Sumit K. Monga, Changwoo Min, Young Ik Eom |
ASPLOS (2) | 2 |
| 2023 | TENET: Memory Safe and Fault Tolerant Persistent Transactional Memory
Madhava Krishnan Ramanathan, Diyu Zhou, Wook-Hee Kim, Sudarsun Kannan, Sanidhya Kashyap, Changwoo Min |
FAST | 3 |
| 2023 | Retina: Cross-Layered Key-Value Store for Computational StorageabstractWe propose RETINA-a unified key-value store (KVS) with computational pipeline framework natively designed for computational storage. Retina proposes a cross-layered architecture to leverage CPU as the control plane and near-storage FPGA as the compute & data plane which is key to reducing the data movement and achieving high-performance. Retina Kvs includes near-storage Arbiter implemented on the FPGA which is capable of scheduling tasks, manage memory, and establish communication between the host CPU and the near-storage FPGA. Retina enables applications to compose and offload compute to the storage during the run time with a familiar set of KVS-style APIs. We evaluate Retina by integrating it to TensorFlow machine learning framework and training the ResNet50 DL model by offloading the entire image preprocessing steps to the near-storage FPGA. Overall, Retina performs up to 75% faster and saves up to 65% CPU time against CPU-only systems. Madhava Krishnan Ramanathan, Naga Sanjana Bikonda, Shashwat Jain, Wook-Hee Kim, Hamid Hadian, Vishwanath Maram, Changwoo Min |
MASCOTS | 4 |
| 2022 | Fireworks: a fast, efficient, and safe serverless framework using VM-level post-JIT snapshotabstractServerless computing is a new paradigm that is rapidly gaining popularity in Cloud computing. One unique property in serverless computing is that the unit of deployment and execution is a serverless function, which is much smaller than a typical server program. Serverless computing introduces a new pay-as-you-go billing model and provides a high economic benefit from highly elastic resource provisioning. However, serverless computing also brings new challenges such as (1) long start-up times compared to relatively short function execution times, (2) security risks from a highly consolidated environment, and (3) memory efficiency problems from unpredictable function invocations. These problems not only degrade performance but also lower the economic benefits of Cloud providers. Wonseok Shin 0003, Wook-Hee Kim, Changwoo Min |
EuroSys | 2 |
| 2021 | Witcher: Systematic Crash Consistency Testing for Non-Volatile Memory Key-Value StoresabstractThe advent of non-volatile main memory (NVM) enables the development of crash-consistent software without paying storage stack overhead. However, building a correct crash-consistent program remains very challenging in the presence of a volatile cache. This paper presents Witcher, a systematic crash consistency testing framework, which detects both correctness and performance bugs in NVM-based persistent key-value stores and underlying NVM libraries, without test space explosion and without manual annotations or crash consistency checkers. To detect correctness bugs, Witcher automatically infers likely correctness conditions by analyzing data and control dependencies between NVM accesses. Then Witcher validates if any violation of them is a true crash consistency bug by checking output equivalence between executions with and without a crash. Moreover, Witcher detects performance bugs by analyzing the execution traces. Evaluation with 20 NVM key-value stores based on Intel's PMDK library shows that Witcher discovers 47 (36 new) correctness consistency bugs and 158 (113 new) performance bugs in both applications and PMDK. Xinwei Fu, Wook-Hee Kim, Ajay Paddayuru Shreepathi, Mohannad Ismail, Sunny Wadkar, Changwoo Min |
SOSP | 2 |
| 2021 | PACTree: A High Performance Persistent Range Index Using PAC GuidelinesabstractNon-Volatile Memory (NVM), which provides relatively fast and byte-addressable persistence, is now commercially available. However, we cannot equate a real NVM with a slow DRAM, as it is much more complicated than we expect. In this work, we revisit and analyze both NVM and NVM-specific persistent memory indexes. We find that there is still a lot of room for improvement if we consider NVM hardware, its software stack, persistent index design, and concurrency control. Based on our analysis, we propose Packed Asynchronous Concurrency (PAC) guidelines for designing high-performance persistent index structures. The key idea behind the guidelines is to 1) access NVM hardware in a packed manner to minimize its bandwidth utilization and 2) exploit asynchronous concurrency control to decouple the long NVM latency from the critical path of the index. Wook-Hee Kim, Madhava Krishnan Ramanathan, Xinwei Fu, Sanidhya Kashyap, Changwoo Min |
SOSP | 1 |
| 2021 | TIPS: Making Volatile Index Structures Persistent with DRAM-NVMM Tiering
Madhava Krishnan Ramanathan, Wook-Hee Kim, Xinwei Fu, Sumit K. Monga, Hee Won Lee, Minsung Jang, Ajit Mathew, Changwoo Min |
USENIX ATC | 2 |
| 2020 | Doubleheader Logging: Eliminating Journal Write Overhead for Mobile DBMSabstractVarious transactional systems use out-of-place up-dates such as logging or copy-on-write mechanisms to update data in a failure-atomic manner. Such out-of-place update methods double the I/O traffic due to back-up copies in the database layer and quadruple the I/O traffic due to the file system journaling. In mobile systems, transaction sizes of mobile apps are known to be tiny and transactions run at low concurrency. For such mobile transactions, legacy out-of-place update methods such as WAL are sub-optimal. In this work, we propose a crash consistent in-place update logging method - doubleheader logging (DHL) for SQLite. DHL prevents previous consistent records from being lost by performing a copy-on-write inside the database page and co-locating the metadata-only journal information within the page. This is done, in turn, with minimal sacrifice to page utilization. DHL is similar to when journaling is disabled, in the sense that it incurs almost no additional overhead in terms of both I/O and computation. Our experimental results show that DHL outperforms other logging methods such as out-of-place update write-ahead logging (WAL) and in-place update multi-version B-tree (MVBT). Sehyeon Oh, Wook-Hee Kim, Jihye Seo, Hyeonho Song, Sam H. Noh, Beomseok Nam |
ICDE | 2 |
| 2020 | Poseidon: Safe, Fast and Scalable Persistent Memory AllocatorabstractPersistent memory allocator is an essential component of any Non-Volatile Main Memory (NVMM) application. A slow memory allocator can bottleneck the entire application stack, while an unsecure memory allocator can render applications inconsistent upon program bugs or system failure. Unlike DRAM-based memory allocators, it is indispensable for an NVMM allocator to guarantee its heap metadata safety from both internal and external errors. An effective NVMM memory allocator should be 1) safe, 2) scalable, and 3) high performing. Unfortunately, none of the existing persistent memory allocators achieve all three requisites. For example, we found that even Intel's de-facto NVMM allocator-libpmemobj is vulnerable to silent data corruption and persistent memory leaks resulting from a simple heap overflow. Anthony Demeri, Wook-Hee Kim, Madhava Krishnan Ramanathan, Mohannad Ismail, Changwoo Min |
Middleware | 2 |
| 2018 | Endurable Transient Inconsistency in Byte-Addressable Persistent B+-Tree
Deukyeon Hwang, Wook-Hee Kim, Youjip Won, Beomseok Nam |
FAST | 2 |
| 2018 | clfB-tree: Cacheline Friendly Persistent B-tree for NVRAMabstractEmerging byte-addressable non-volatile memory (NVRAM) is expected to replace block device storages as an alternative low-latency persistent storage device. If NVRAM is used as a persistent storage device, a cache line instead of a disk page will be the unit of data transfer, consistency, and durability. In this work, we design and develop clfB-tree —a B-tree structure whose tree node fits in a single cache line. We employ existing write combining store buffer and restricted transactional memory to provide a failure-atomic cache line write operation. Using the failure-atomic cache line write operations, we atomically update a clfB-tree node via a single cache line flush instruction without major changes in hardware. However, there exist many processors that do not provide SW interface for transactional memory. For those processors, our proposed clfB-tree achieves atomicity and consistency via in-place update, which requires maximum four cache line flushes. We evaluate the performance of clfB-tree on an NVRAM emulation board with ARM Cortex A-9 processor and a workstation that has Intel Xeon E7-4809 v3 processor. Our experimental results show clfB-tree outperforms wB-tree and CDDS B-tree by a large margin in terms of both insertion and search performance. Wook-Hee Kim, Jihye Seo, Jinwoong Kim, Beomseok Nam |
ACM Trans. Storage | 1 |
| 2017 | Failure-Atomic Slotted Paging for Persistent MemoryabstractThe slotted-page structure is a database page format commonly used for managing variable-length records. In this work, we develop a novel "failure-atomic slotted page structure" for persistent memory that leverages byte addressability and durability of persistent memory to minimize redundant write operations used to maintain consistency in traditional database systems. Failure-atomic slotted paging consists of two key elements: (i) in-place commit per page using hardware transactional memory and (ii) slot header logging that logs the commit mark of each page. The proposed scheme is implemented in SQLite and compared against NVWAL, the current state-of-the-art scheme. Our performance study shows that our failure-atomic slotted paging shows optimal performance for database transactions that insert a single record. For transactions that touch more than one database page, our proposed slot-header logging scheme minimizes the logging overhead by avoiding duplicating pages and logging only the metadata of the dirty pages. Overall, we find that our failure-atomic slotted-page management scheme reduces database logging overhead to 1/6 and improves query response time by up to 33% compared to NVWAL. Jihye Seo, Wook-Hee Kim, Woongki Baek, Beomseok Nam, Sam H. Noh |
ASPLOS | 2 |
| 2016 | NVWAL: Exploiting NVRAM in Write-Ahead LoggingabstractEmerging byte-addressable non-volatile memory is considered an alternative storage device for database logs that require persistency and high performance. In this work, we develop NVWAL (NVRAM Write-Ahead Logging) for SQLite. The contribution of NVWAL consists of three elements: (i) byte-granularity differential logging that effectively eliminates the excessive I/O overhead of filesystem-based logging or journaling, (ii) transaction-aware lazy synchronization that reduces cache synchronization overhead by two-thirds, and (iii) user-level heap management of the NVRAM persistent WAL structure, which reduces the overhead of managing persistent objects. Wook-Hee Kim, Jinwoong Kim, Woongki Baek, Beomseok Nam, Youjip Won |
ASPLOS | 1 |
| 2015 | WALDIO: Eliminating the Filesystem Journaling in Resolving the Journaling of Journal Anomaly
Wongun Lee, Keonwoo Lee, Hankeun Son, Wook-Hee Kim, Beomseok Nam, Youjip Won |
USENIX ATC | 4 |
| 2014 | Resolving journaling of journal anomaly in android I/O: multi-version B-tree with lazy split
Wook-Hee Kim, Beomseok Nam, Youjip Won |
FAST | 1 |