I/O Page Faults

Ilya Lesokhin, M.Sc. Thesis Seminar
Wednesday, 29.4.2015, 12:30
Taub 601
Prof. D. Tsafrir

Most modern computer systems use demand paging based virtual memory. Address translation for virtual memory support in I/O devices is known to be useful. It allows SR-IOV (single root I/O virtualization) direct device assignment in virtualization scenarios and kernel bypassing access to I/O devices by user space applications. However, these mechanisms require memory pinning and strict, static memory allocation as they do not support demand paging. This deficiency prevents memory overcommitment, complicates the programming model and hinders administration. This paper presents a working hardware and software support for I/O page faults (IOPFs) and demand paging in a network interface card (NIC). Demand paging by the I/O devices imposes unique challenges, which differ significantly from the demand paging on the CPU. After tackling these challenges, our IOPF enabled NIC allows for efficient memory over-commitment. In a number of real world benchmarks, the memory over-commitment improve performance by 1.2x--1.9x compared to the same systems using memory pinning.

Back to the index of events