操作系统会尽力减少TLB刷新吗?

3
我想知道在操作系统中是否有一种共同机制来最小化TLB刷新,例如通过将同一进程中的线程分组到“待调度”列表中。
我认为这是决定使用进程还是线程时的一个重要因素。如果操作系统不关心下一个线程是否在相同的进程空间中,则所谓线程“最小化TLB刷新”的优势可能被高估了。是这种情况吗?
考虑一个具有数百个线程和数十个进程的系统。如果这些没有经过优化以便将同一进程中的线程并排调度,则我们对线程性能的期望可能不是那么高。
如果问题不太清楚,我可以举例说明。
1个回答

2
CPU设计似乎正在向支持带标记的TLB条目的硬件发展。这消除了刷新TLB的必要性。因此,即使假设TLB刷新是当今处理器的一个问题,它在未来几年可能不再相关。我不会基于此做出任何设计决策。

从你的回答来看,操作系统不区分来自同一进程的线程和来自不同进程的线程。在这种情况下,有助于优先考虑多线程进程,或尽可能限制计算机上的多线程应用程序数量。 - richizy
就在它们即将变得无关紧要的时候,Spectre和Meltdown出现了。 - Sedat Kapanoglu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接