Don't shoot down TLB shootdowns!
Nadav Amit, Amy Tai, Michael Wei
摘要
Translation Lookaside Buffers (TLBs) are critical for building performant virtual memory systems. Because most processors do not provide coherence for TLB mappings, TLB shootdowns provide a software mechanism that invokes inter-processor interrupts (IPLs) to synchronize TLBs. TLB shootdowns are expensive, so recent work has aimed to avoid the frequency of shootdowns through techniques such as batching. We show that aggressive batching can cause correctness issues and addressing them can obviate the benefits of batching. Instead, our work takes a different approach which focuses on both improving the performance of TLB shootdowns and carefully selecting where to avoid shootdowns. We introduce four general techniques to improve shootdown performance: (1) concurrently flush initiator and remote TLBs, (2) early acknowledgement from remote cores, (3) cacheline consolidation of kernel data structures to reduce cacheline contention, and (4) in-context flushing of userspace entries to address the overheads introduced by Spectre and Meltdown mitigations. We also identify that TLB flushing can be avoiding when handling copy-on-write (CoW) faults and some TLB shootdowns can be batched in certain system calls. Overall, we show that our approach results in significant speedups without sacrificing safety and correctness in both microbenchmarks and real-world applications.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper20
- Optimizing Memory-mapped I/O for Fast Storage DevicesAnastasios Papagiannis, Giorgos Xanthakis, Giorgos Saloustros, Manolis Marazakis 等USENIX ATC 2020 · 被引用 68 次
- Enhancing and Exploiting Contiguity for Fast Memory VirtualizationChloe Alverti, Stratos Psomadakis, Vasileios Karakostas, Jayneel Gandhi 等ISCA 2020 · 被引用 41 次
- Virtual-Memory Assisted Buffer ManagementViktor Leis, Adnan Alhomssi, Tobias Ziegler, Yannick Loeck 等SIGMOD 2023 · 被引用 37 次
- WineFS: a hugepage-aware file system for persistent memory that ages gracefullyRohan Kadekodi, Saurabh Kadekodi, Soujanya Ponnapalli, Harshad Shirwadkar 等SOSP 2021 · 被引用 35 次
- MadFS: Per-File Virtualization for Userspace Persistent Memory FilesystemsShawn Zhong, Chenhao Ye, Guanzhou Hu, Suyan Qu 等FAST 2023 · 被引用 27 次
它引用的顶会 Paper1
相关 Paper
- Fallout: Leaking Data on Meltdown-resistant CPUsClaudio Canella, Daniel Genkin, Lukas Giner, Daniel Gruss 等CCS 2019 · 被引用 289 次
- TLB;DR: Enhancing TLB-based Attacks with TLB Desynchronized Reverse EngineeringAndrei Tatar, Daniël Trujillo, Cristiano Giuffrida, Herbert BosUSENIX Security 2022
- Speculation at Fault: Modeling and Testing Microarchitectural Leakage of CPU ExceptionsJana Hofmann, Emanuele Vannacci, Cédric Fournet, Boris Köpf 等USENIX Security 2023
- SafeFetch: Practical Double-Fetch Protection with Kernel-Fetch CachingVictor Duta, Mitchel Aloserij, Cristiano GiuffridaUSENIX Security 2024 · 被引用 2 次
- Performance evolution of mitigating transient execution attacksJonathan Behrens, Adam Belay, M. Frans KaashoekEuroSys 2022 · 被引用 8 次
