Publication | Closed Access
DiDi: Mitigating the Performance Impact of TLB Shootdowns Using a Shared TLB Directory
101
Citations
25
References
2011
Year
Unknown Venue
EngineeringComputer ArchitectureMemory AccessSoftware EngineeringProcessor ArchitectureHardware SecurityHigh-performance ArchitectureParallel ComputingManycore ProcessorTlb CoherenceTranslation LookComputer EngineeringPerformance ImpactComputer ScienceTlb ShootdownsProgram AnalysisMany-core ArchitectureMultiprocessor SystemShared Tlb DirectoryParallel ProgrammingSystem Software
Translation Look aside Buffers (TLBs) are ubiquitously used in modern architectures to cache virtual-to-physical mappings and, as they are looked up on every memory access, are paramount to performance scalability. The emergence of chip-multiprocessors (CMPs) with per-core TLBs, has brought the problem of TLB coherence to front stage. TLBs are kept coherent at the software-level by the operating system (OS). Whenever the OS modifies page permissions in a page table, it must initiate a coherency transaction among TLBs, a process known as a TLB shoot down. Current CMPs rely on the OS to approximate the set of TLBs caching a mapping and synchronize TLBs using costly Inter-Proceessor Interrupts (IPIs) and software handlers. In this paper, we characterize the impact of TLB shoot downs on multiprocessor performance and scalability, and present the design of a scalable TLB coherency mechanism. First, we show that both TLB shoot down cost and frequency increase with the number of processors and project that software-based TLB shoot downs would thwart the performance of large multiprocessors. We then present a scalable architectural mechanism that couples a shared TLB directory with load/store queue support for lightweight TLB invalidation, and thereby eliminates the need for costly IPIs. Finally, we show that the proposed mechanism reduces the fraction of machine cycles wasted on TLB shoot downs by an order of magnitude.
| Year | Citations | |
|---|---|---|
Page 1
Page 1