Harvesting Idle Memory for Application-managed Soft State with Midas
Yifan Qiao, Zhenyuan Ruan, Haoran Ma, Adam Belay, Miryung Kim, Harry Xu
Abstract
Many applications can benefit from data that increases performance but is not required for correctness (commonly referred to as soft state). Examples include cached data from backend web servers and memoized computations in data analytics systems. Today's systems generally statically limit the amount of memory they use for storing soft state in order to prevent unbounded growth that could exhaust the server's memory. Static provisioning, however, makes it difficult to respond to shifts in application demand for soft state and can leave significant amounts of memory idle. Existing OS kernels can only spend idle memory on caching disk blocks-which may not have the most utility-because they do not provide the right abstractions to safely allow applications to store their own soft state.
To effectively manage and dynamically scale soft state, we propose soft memory, an elastic virtual memory abstraction with unmap-and-reconstruct semantics that makes it possible for applications to use idle memory to store whatever soft state they choose while guaranteeing both safety and efficiency. We present Midas, a soft memory management system that contains (1) a runtime that is linked to each application to manage soft memory objects and (2) OS kernel support that coordinates soft memory allocation between applications to maximize their performance. Our experiments with four real-world applications show that Midas can efficiently and safely harvest idle memory to store applications' soft state, delivering near-optimal application performance and responding to extreme memory pressure without running out of memory.
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 0464f7d7-dc6f-4057-bdde-ee8b9bdb546eCited by top-tier papers5
- DRust: Language-Guided Distributed Shared Memory with Fine Granularity, Full Transparency, and Ultra EfficiencyHaoran Ma, Yifan Qiao, Shi Liu, Shan Yu et al.OSDI 2024 · 8 citations
- OBASE: Object-Based Address-Space Engineering to Improve Memory TieringVinay Banakar, Suli Yang, Kan Wu, Andrea C. Arpaci-Dusseau et al.OSDI 2026
- Break On Through to the Other Side: Pooling Memory Elastically with RamRyderYanbo Zhou, Erci Xu, Dongjoo Seo, Adam Manzanares et al.OSDI 2026
- Squeezy: Rapid VM Memory Reclamation for Serverless FunctionsOrestis Lagkas Nikolos, Chloe Alverti, Stratos Psomadakis, Georgios I. Goumas et al.EuroSys 2026
- MDK: Rethinking the Data Center Memory Reclamation ProblemShaurya Patel, Suli Yang, Yawen Wang, Kan Wu et al.OSDI 2026
Builds on14
- AIFM: High-Performance, Application-Integrated Far MemoryZhenyuan Ruan, Malte Schwarzkopf, Marcos K. Aguilera, Adam BelayOSDI 2020 · 224 citations
- Can far memory improve job throughput?Emmanuel Amaro, Christopher Branner-Augmon, Zhihong Luo, Amy Ousterhout et al.EuroSys 2020 · 163 citations
- The CacheLib Caching Engine: Design and Experiences at ScaleBenjamin Berg, Daniel S. Berger, Sara McAllister, Isaac Grosof et al.OSDI 2020 · 145 citations
- Providing SLOs for Resource-Harvesting VMs in Cloud PlatformsPradeep Ambati, Iñigo Goiri, Felipe Vieira Frujeri, Alper Gun et al.OSDI 2020 · 101 citations
- TCP ≈ RDMA: CPU-efficient Remote Storage Access with i10Jaehyun Hwang, Qizhe Cai, Ao Tang, Rachit AgarwalNSDI 2020 · 70 citations
Related papers
- Jiffy: elastic far-memory for stateful serverless analyticsAnurag Khandelwal, Yupeng Tang, Rachit Agarwal, Aditya Akella et al.EuroSys 2022 · 47 citations
- M3: end-to-end memory management in elastic system software stacksDavid Lion, Adrian Chiu, Ding YuanEuroSys 2021 · 3 citations
- Redy: Remote Dynamic Memory CacheQizhen Zhang, Philip A. Bernstein, Daniel S. Berger, Badrish ChandramouliVLDB 2022 · 32 citations
- Rethinking software runtimes for disaggregated memoryIrina Calciu, M. Talha Imran, Ivan Puddu, Sanidhya Kashyap et al.ASPLOS 2021 · 116 citations
- Memory deduplication for serverless computing with MedesDivyanshu Saxena, Tao Ji, Arjun Singhvi, Junaid Khalid et al.EuroSys 2022 · 54 citations
