Efficient OS-level Context-Switching for Thread Migration

Supervisor: Pınar Tözün
Semester: Fall 2019

Spreading the computation of similar concurrent tasks that have a large instruction footprint over multiple cores via thread migration is shown to improve the instruction cache utilization drastically since it allows instruction re-use across the concurrent tasks. However, thread migrations are costly due to the context switching overhead. To reduce this overhead, recent work mainly proposed techniques at the hardware-level. However, developing techniques at the level of the OS might be more effective in terms of the adoption of such thread migration mechanisms. The goal of this project is to investigate how to implement lightweight thread migration at the OS-level targeting data management workloads.