Improving Application Performance by Avoiding Double-swap

This project addresses the lack of coordination between user-space runtimes and the operating-system kernel in managing paged memory backed by disk. Modern runtimes routinely implement their own persistence mechanisms such as memory dumps or snapshots without awareness of the kernel’s prior actions on the same virtual pages. Consequently, if the kernel has already swapped out these pages, any subsequent persistence attempt triggers a page fault, followed by an additional disk write. This leads to redundant data movements, unnecessary I/O amplification, and degraded performance under memory pressure. Our contribution introduces a kernel–runtime collaboration mechanism built atop io_uring, through which the kernel can selectively delegate swap-out and swap-in responsibilities to the runtime during memory reclaim or page-fault handling. By granting runtimes controlled authority over the lifecycle of their pageable state, this mechanism eliminates duplicated writes, mitigates I/O redundancy, and substantially improves system efficiency in the presence of aggressive reclamation.

Faculty Supervisor:

Thomas Pasquier

Student:

Partner:

Institut National Polytechnique Toulouse

Discipline:

Computer science

Sector:

Education

University:

The University of British Columbia

Program:

Globalink Research Award

Current openings

Find the perfect opportunity to put your academic skills and knowledge into practice!

Find Projects