IOMMU-assisted Memory Management: Sharing Virtual Memory Objects for Efficient Computing
- Typ der Arbeit: Masterarbeit
- Status der Arbeit: reserviert
- Projekte: ParPerOS
- Betreuer: Alexander Halbuer, Daniel Lohmann
- Bearbeiter: Kenny Albes
Morsels offer a new memory management paradigm that shifts management from individual pages to whole page-table subtrees, reducing operating system overhead and bookkeeping efforts. However, the current implementation is limited to the CPU cores as it relies on MMU-specific data structures.
To extend the benefits of morsels to other devices, such as PCI devices, the next step is to widen the scope to allow direct access via an IOMMU, which performs memory virtualization for DMA devices similar to the traditional MMU. Sharing morsels between the CPU and devices like graphics accelerators, network interfaces, or NVMe-SSDs would enable efficient operation with zero copy.
However, challenges arise as there is no widely adapted standard implementation of IOMMUs, and Intel and AMD use different implementations with potentially different data structures compared to MMUs. In context of your master thesis, your task will be to investigate the availability of different IOMMU implementations in emulators and commercially available hardware and develop a concept to allow sharing morsel virtual memory objects between the processor and PCI devices. This exciting opportunity will allow you to advance memory management and explore cutting-edge techniques to enhance the performance and efficiency of modern computing systems.
Topics: Linux, C, Virtual Memory, Direct Memory Access