Adaptive Placement for In-memory Storage Functions
Ankit Bhardwaj, Chinmay Kulkarni, Ryan Stutsman
Abstract
Fast networks and the desire for high resource utilization in data centers and the cloud have driven disaggregation. Application compute is separated from storage, but this leads to high overheads when data must move over the network for simple operations on it. Alternatively, systems could allow applications to run application logic within storage via userdefined functions. Unfortunately, this ties provisioning and utilization of storage and compute resources together again.
We present a new approach to executing storage-level functions in an in-memory key-value store that avoids this problem by dynamically deciding where to execute functions over data. Users write storage functions that are logically decoupled from storage, but storage servers choose where to run invocations of these functions physically. By using a serverinternal cost model and observing function execution, servers choose to directly run inexpensive functions, while preferring to execute functions with high CPU-cost at client machines.
We show that with this approach storage servers can reduce network request processing costs, avoid server compute bottlenecks, and improve aggregate storage system throughput. We realize our approach on an in-memory key-value store that executes 3.2 million strict serializable user-defined storage functions per second with 100 µs response times. When running a mix of logic from different applications, it provides throughput better than running that logic purely at storage servers (85% more) or purely at clients (10% more). For our workloads, it also reduces latency (up to 2×) and transactional aborts (up to 33%) over pure client-side execution.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 6b2c11ab-c444-4c55-83d9-5059092b0c30Cited by top-tier papers4
- Ship Compute or Ship Data? Why Not Both?Jie You, Jingfeng Wu, Xin Jin, Mosharaf ChowdhuryNSDI 2021 · 25 citations
- pulse: Accelerating Distributed Pointer-Traversals on Disaggregated MemoryYupeng Tang, Seung-Seob Lee, Abhishek Bhattacharjee, Anurag KhandelwalASPLOS 2025 · 4 citations
- Fusion: An Analytics Object Store Optimized for Query PushdownJianan Lu, Ashwini Raina, Asaf Cidon, Michael J. FreedmanASPLOS 2025 · 4 citations
- SIDLE: Tree-structure Aware Indexes for CXL-based Heterogeneous MemoryHaoru Zhao, Mingkai Dong, Fangnuo Wu, Haibo ChenVLDB 2026 · 1 citation
Builds on2
- Spectre Attacks: Exploiting Speculative ExecutionPaul Kocher, Jann Horn, Anders Fogh, Daniel Genkin et al.S&P 2019 · 2,435 citations
- A Systematic Evaluation of Transient Execution Attacks and DefensesClaudio Canella, Jo Van Bulck, Michael Schwarz, Moritz Lipp et al.USENIX Security 2019 · 442 citations
Related papers
- In-Storage Domain-Specific Acceleration for Serverless ComputingRohan Mahapatra, Soroush Ghodrati, Byung Hoon Ahn, Sean Kinzer et al.ASPLOS 2024 · 7 citations
- PD3: Prefetching Data with DPUs for Disaggregated MemorySidharth Sankhe, Felix Zhang, Umayrah Chonee, Sherman Lim et al.NSDI 2026 · 1 citation
- Understanding the Effect of Data Center Resource Disaggregation on Production DBMSsQizhen Zhang, Yifan Cai, Xinyi Chen, Sebastian Angel et al.VLDB 2020 · 64 citations
- SmartDS: Middle-Tier-centric SmartNIC Enabling Application-aware Message Split for Disaggregated Block StorageJie Zhang, Hongjing Huang, Lingjun Zhu, Shu Ma et al.ISCA 2023 · 15 citations
- Terark-DS: A High-Performance and Storage-Efficient Key-Value Separation Storage Engine on Disaggregated StorageJianshun Zhang, Xun Deng, Fang Wang, Jiaxin Ou et al.VLDB 2026
