Optimizing the TLB Shootdown Algorithm with Page Access Tracking
Optimizing the TLB Shootdown Algorithm with Page Access Tracking
复制标题
通过页面访问跟踪优化 TLB 击落算法
DOI:
--
复制
发表时间:
2017
期刊:
影响因子:
--
通讯作者:
Nadav Amit
中科院分区:
文献类型:
--
作者:
Nadav Amit
The operating system is tasked with maintaining the coherency of per-core TLBs, necessitating costly synchronization operations, notably to invalidate stale mappings. As core-counts increase, the overhead of TLB synchronization likewise increases and hinders scalability, whereas existing software optimizations that attempt to alleviate the problem (like batching) are lacking. We address this problem by revising the TLB synchronization subsystem. We introduce several techniques that detect cases whereby soon-to-be invalidated mappings are cached by only one TLB or not cached at all, allowing us to entirely avoid the cost of synchronization. In contrast to existing optimizations, our approach leverages hardware page access tracking. We implement our techniques in Linux and find that they reduce the number of TLB invalidations by up to 98% on average and thus improve performance by up to 78%. Evaluations show that while our techniques may introduce overheads of up to 9% when memory mappings are never removed, these overheads can be avoided by simple hardware enhancements.