投稿|IBM,预言了缓存的未来?( 四 )


这意味着,从单核的角度来看,在一个 256 核的系统中,它可以访问:
32 MB 私有二级缓存(19 周期延迟)
256 MB 片上共享虚拟 L3 缓存(+12ns 延迟)
8192 MB / 8 GB 的片外共享虚拟 L4 缓存(+? 延迟)
从技术上讲,从单核的角度来看,这些数字应该是 32 MB / 224 MB / 7936 MB,因为单核不会将 L2 线驱逐到自己的 L2 中并将其标记为 L3,依此类推 。
IBM 表示,使用这种虚拟缓存系统,每个内核的缓存相当于 IBM z15 的 1.5 倍,而且还改善了数据访问的平均延迟 。总体而言,IBM 声称每个插槽的性能提高了 40% 以上 。其他基准目前不可用 。
这怎么可能?
在我看来,这就是魔法 。当我第一次看到这个时,我对实际发生的事情感到有点惊讶 。
在会后的问答环节中,Christian Jacobi 博士(Z 的首席架构师)表示,该系统旨在跟踪缓存未命中的数据,使用广播,并跟踪内存状态位以向外部芯片广播 。这些贯穿整个系统,当数据到达时,它确保它可以被使用,并在处理数据之前确认所有其他副本都已失效 。在作为活动的一部分的 slack 频道中,他还表示正在进行大量的循环计数!
说实话,像这样的事情有很多工作要做,而且可能仍然有很多考虑要向 IBM 提出关于其操作的考虑,例如有功功率,或者缓存是否在空闲状态下断电,甚至被排除在接受之外完全驱逐以保证单个内核的性能一致性 。它让我思考在 x86 领域,甚至消费设备中什么是相关的和可能的 。
如果我不提及 AMD 即将推出的 V-cache 技术,那么我们的讨论是不完整的 。该技术通过在顶部添加垂直堆叠的 64 MB L3 小芯片,设置为每个小芯片启用 96 MB 的 L3 缓存,而不是 32 MB 。但是,如果该小芯片不是 L3,而是考虑每个内核额外 8 MB 的 L2,并且能够接受虚拟 L3 缓存线,这对性能意味着什么?
最终,我与一些行业同行讨论了 IBM 的虚拟缓存理念,他们的评论从“它不应该很好地工作”到“它很复杂”以及“如果他们能像所说的那样做,那就太酷了” 。 

推荐阅读