concurrency - 并发什么是缓存命中和缓存未命中 为什么上下文切换导致缓存未命中?

  显示原文与译文双语对照的内容
121 3

从 11th 第1 章( 性能和可伸缩性 ) 和名为上下文切换的章节: JCIP::

当换入新线程时,它所需的数据不可以能在本地处理器缓存中,因这里上下文开关会缓慢。

  • 有人能用简单易懂的方式解释缓存遗漏的概念,以及它可能的反模式?
  • 为什么上下文切换会导致大量缓存未命中?
时间: 原作者:

148 3

有人能够解释一下缓存错误的概念及它的可以能的相对( 缓存命中)?

通常情况下,缓存是在缓存中查找内容,而没有找到–缓存没有包含正在查询的条目。 当缓存在缓存中,并且它存储该条目并且能够满足查询要求时,cache命中 。

为什么上下文切换会导致大量缓存未命中?

在内存方面,每个处理器都有内存缓存( ),它是主内存小部分的高速拷贝。 当新线程的上下文切换到处理器时,本地缓存内存为空或者不符合线程所需的数据。 这意味着由新线程进行的所有( 或者大部分) 内存查找都会导致缓存丢失,因为它需要的数据是只读的,而不是存储在本地内存缓存中的。 硬件必须对内存中的主内存进行大量请求来填充本地内存缓存,从而使线程最初运行慢。

原作者:
...