A shot of someone wearing a cap

Sadegh Keshavarzi


Postgraduate research student

Academic and research departments

Computer Science Research Centre.

Âé¶¹ÊÓÆµ

My research project

My qualifications

BSc, Computer Engineering
Sharif University of Technology

Publications

Sergey Egorov, Gregory Chockler, Brijesh Dongol, Dan O'Keeffe, Seyyedmohammadsadegh Keshavarzi (2024), In: Proceedings of the 2024 USENIX Annual Technical Conference (USENIX ATC 2024)pp. 799-815 USENIX

The advent of byte-addressable non-volatile memory (NVM) technologies has enabled the development of low-latency high-throughput durable applications, i.e., applications that are capable of recovering from full-system crashes. However, programming such applications is error-prone as efficiency gains often require fine-grained (programmer-controlled) management of low-level persistence instructions. We propose Mangosteen, a high-level programming framework that allows developers to transform an existing lineariz-able in-memory application to a corresponding durably lin-earizable version using NVM. Our framework's API consists of a set of callback hooks that interpose on an application's request processing flow with minimal developer effort. Man-gosteen executes client operations on DRAM and persists their effects using binary instrumentation and redo logging. Mangosteen's concurrency control facilitates batching of read-write requests to minimize the cost of persistence, while allowing read-only requests to execute concurrently. A novel intra-batch deduplication mechanism further reduces persistence overheads for common OLTP workloads. Our empirical evaluation results show that Mangosteen-enabled applications outperform state-of-the-art solutions across the entire spectrum of read-write ratios. In particular, the Mangosteen-based version of Redis demonstrates throughput gains of between 2×–5× in comparison to prior work.