013-【CMU15-418】【并行计算架构和编程】【中英字幕】【Implica

1. "Fault sharing" 是一种现象,其中在同一个缓存行中的数据块被不同核心上的不同进程使用,导致冲突和性能问题。
2. 当多个进程争夺一个缓存行时,就可能发生故障共享,导致额外开销增加,性能下降。
3. 使用填充数据或将数据分配到不同的缓存行中可以帮助减少故障共享并提高性能。
4. 缓存一致性协议(如嗅探协议)在缓存数量增加时可能会引起可扩展性问题,导致总线流量增加和瓶颈。
5. 基于目录的一致性是一种解决方案,它使用目录来跟踪哪些处理器拥有特定数据块的副本,减少广播的需求并提高可扩展性。
6. 在处理器之间共享数据时,需要确保数据的一致性,避免出现数据不一致的情况。
7. 在共享数据的情况下,可以使用目录协议来减少总线流量,提高性能。
8. 目录协议可以根据数据的共享情况,选择不同的处理方式,例如广播协议或者只发送给特定的处理器。
9. 目录协议可以根据实际情况进行调整和优化,以适应不同的工作负载。
10. 目录协议需要考虑的问题包括处理器之间的竞争、缓存一致性、数据迁移等。
11. 在处理器之间进行数据共享时,可以通过不同的通信方式来优化性能,例如最小化消息数量或最小化延迟。
12. 在现代的处理器中,内存被物理上分割为多个部分,只有最外层的缓存是共享的,而L1和L2缓存是私有的。
13. 在一些多核处理器中,使用目录方案来实现缓存一致性,可以减少处理器的数量和位向量的大小。
14. Xeon 5处理器使用环形通信和缓存一致性来连接多个核心,但在新一代处理器中将采用网格路由来解决性能瓶颈问题。
15. 实现目录一致性的复杂性较高,需要大量的存储空间和复杂的协议。因此,目录一致性通常只在层次结构的较高级别实现。