Seminar: Virtual Memory Techniques
Course Type: Seminar
Semester: Winter Semester
Supervisor: Yannick Loeck
Details: see StudIP.
StudIP-Event:
Creditpoints: BS: 2 / MS: 3
With the emergence on new memory technologies (non-volatile memory, high-bandwidth memory, ultra-fast SSDs), the need to manage memory efficiently becomes more and more urgent. Traditionally, the operating system was the mediator between the slow hard disk and the fast volatile RAM, making I/O management overheads negligible. In today's systems this is no longer true. Therefore, we have to reevaluate the fundaments of virtual memory management.
In this seminar, the students will learn technical skills for dealing with scientific papers, and apply them to papers related to virtual memory. First, four lectures will provide the students with an overview of the scientific process and give them guidance for preparing their own presentation
- An introduction: What is science?
- How does science work, specifically in the systems community? How do you read and review a paper? How do conferences work?
- How do you give a good presentation?
- How do you write a good scientific text?
Equipped with this theoretical background, the students choose their favorite from a selection of papers dealing with virtual memory.
List of Papers
It is your task to choose a paper, read it, summarize it, and present its core concepts to the group in a short (20 minute) talk. The pdfs are accessible from the university network.
Classics
- Generic Virtual Memory Management for Operating System Kernels Abrossimov, Vadim and Rozier, Marc and Shapiro, Marc, 1989, https://dl.acm.org/doi/pdf/10.1145/74850.74863
- Simple But Effective Techniques for NUMA Memory Management Bolosky, William J. and Fitzgerald, Robert P. and Scott, Michael L., 1989, https://dl.acm.org/doi/pdf/10.1145/74850.74854
- Virtual Memory Primitives for User Programs Appel, Andrew W. and Li, Kai, 1991, https://dl.acm.org/doi/pdf/10.1145/106975.106984
Management
- FlashVM: Virtual Memory Management on Flash Saxena, Mohit and Swift, Michael M., 2010, https://www.usenix.org/legacy/event/atc10/tech/full_papers/Saxena.pdf
- MAGE: Nearly Zero-Cost Virtual Memory for Secure Computation Kumar, Sam and Culler, David E. and Popa, Raluca Ada, 2021, https://www.usenix.org/system/files/osdi21-kumar.pdf
- Compendia: Reducing Virtual-Memory Costs via Selective Densification Ainsworth, Sam and Jones, Timothy M., 2021, https://dl.acm.org/doi/pdf/10.1145/3459898.3463902
- Mesh: Compacting Memory Management for C/C++ Applications Powers, Bobby and Tench, David and Berger, Emery D and McGregor, Andrew, 2019, https://dl.acm.org/doi/pdf/10.1145/3314221.3314582
- nvm_malloc: Memory Allocation for NVRAM Schwalb, David and Berning, Tim and Faust, Martin and Dreseler, Markus and Plattner, Hasso, 2015, https://www.adms-conf.org/2015/adms15_schwalb.pdf
Sharing
- Scalable Address Spaces Using RCU Balanced Trees Clements, Austin T. and Kaashoek, M. Frans and Zeldovich, Nickolai, 2012, https://dl.acm.org/doi/pdf/10.1145/2248487.2150998
- Scalable and Efficient Virtual Memory Sharing in Heterogeneous SoCs with TLB Prefetching and MMU-Aware DMA Engine Kurth, Andreas and Vogel, Pirmin and Marongiu, Andrea and Benini, Luca, 2018, https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8615702
- Pass a Pointer: Exploring Shared Virtual Memory Abstractions in OpenCL Tools for FPGAs Winterstein, Felix and Constantinides, George, 2017, https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=8280127
Unsorted
- Do OS abstractions make sense on FPGAs? Korolija, Dario and Roscoe, Timothy and Alonso, Gustavo, 2020, https://www.usenix.org/system/files/osdi20-korolija.pdf
- Efficiently and Precisely Locating Memory Leaks and Bloat Novark, Gene and Berger, Emery D. and Zorn, Benjamin G., 2009, https://dl.acm.org/doi/pdf/10.1145/1543135.1542521
- Devirtualizing Memory in Heterogeneous Systems Haria, Swapnil and Hill, Mark D. and Swift, Michael M., 2018, https://dl.acm.org/doi/pdf/10.1145/3173162.3173194
- SpaceJMP: Programming with Multiple Virtual Address Spaces El Hajj, Izzat and Merritt, Alexander and Zellweger, Gerd and Milojicic, Dejan and Achermann, Reto and Faraboschi, Paolo and Hwu, Wen-mei and Roscoe, Timothy and Schwan, Karsten, 2016, https://dl.acm.org/doi/pdf/10.1145/2954679.2872366
- Efficient Virtual Memory for Big Memory Servers Basu, Arkaprava and Gandhi, Jayneel and Chang, Jichuan and Hill, Mark D. and Swift, Michael M., 2013, https://dl.acm.org/doi/pdf/10.1145/2508148.2485943
Evaluation
- WS22 • Seminar • Evaluation (PDF)
Anmeldung und weitere Infos
Für diese Veranstaltung ist eine Online-Anmeldung über Stud.IP erforderlich. Bitte registrieren Sie sich (falls noch nicht geschehen) für Stud.IP und tragen Sie sich dort in die entsprechende Veranstaltung ein.