问题的解决 并行性不足 通过采用并行性更好的算法来解决 ·远程访问延迟的降低 靠体系结构支持和编程技术 共享存储器访问 致性协议 2021/2/7 计算机体系结构
问题的解决 • 并行性不足: −通过采用并行性更好的算法来解决 • 远程访问延迟的降低: −靠体系结构支持和编程技术 • 共享存储器访问 −一致性协议 2021/2/7 计算机体系结构 26
7.2集中式共享存储器体系结构 多个处理器共享一个存储器。 当处理器规模较小时,这种机器十分经济。 ·支持对共享数据和私有数据的 Cache缓存。 私有数据供一个单独的处理器使用,而共享数据供多 个处理器使用。 共享数据进入 Cache产生了一个新的问题: Cache的一致性问题 2021/2/7 计算机体系结构
7.2 集中式共享存储器体系结构 • 多个处理器共享一个存储器。 • 当处理器规模较小时,这种机器十分经济。 • 支持对共享数据和私有数据的Cache缓存。 −私有数据供一个单独的处理器使用,而共享数据供多 个处理器使用。 • 共享数据进入Cache产生了一个新的问题: Cache的一致性问题 2021/2/7 计算机体系结构 27
1、多处理机的一致性 不一致产生的原因( Cache-致性问题) I/O操作 Cache中的内容可能与由I/O子系统输入输出形成的 存储器对应部分的内容不同。 共享数据 不同处理器的 Cache都保存有对应存储器单元的内容 2021/2/7 计算机体系结构
1、多处理机的一致性 不一致产生的原因(Cache一致性问题) • I/O操作 −Cache中的内容可能与由I/O子系统输入输出形成的 存储器对应部分的内容不同。 • 共享数据 −不同处理器的Cache都保存有对应存储器单元的内容 2021/2/7 计算机体系结构 28
Problems with Parallel I/o Cached portions of page Physical Memory Memory Bus llll Proc Cache DMA transfer DMA DISK Memory Disk:如果 cache的数据被修改过,而没有 写回,存储器是陈旧数据 Disk→ Memory;: Cache中的数据是陈旧数据,它并 不知道这次存储器写操作 2021/2/7 计算机体系结构
Problems with Parallel I/O Memory Disk: 如果cache的数据被修改过,而没有 写回,存储器是陈旧数据 Disk Memory: Cache中的数据是陈旧数据,它并 不知道这次存储器写操作 2021/2/7 计算机体系结构 DISK DMA Physical Memory Proc. Cache Memory Bus Cached portions of page DMA transfers 29
Example on Cache Coherence problem P1 ? cache ache u:5 u:5u=7 Memory vo devices u:5 P3执行了写操作后,处理器看到了u的不同值 针对 write back caches… 处理器访问主存可能看到一个陈旧的(不正确)值 结果写依赖于 cache写回的顺序 ·显然,这样会影响程序执行的结果 2021/2/7 计算机体系结构
Example on Cache Coherence Problem • P3执行了写操作后,处理器看到了u的不同值 • 针对write back caches … − 处理器访问主存可能看到一个陈旧的(不正确)值 − 结果写依赖于cache 写回的顺序 • 显然,这样会影响程序执行的结果 2021/2/7 计算机体系结构 Memory I/O devices P1 cache P2 P3 5 u = ? 4 u = ? u:5 2 u :5 3 u= 7 1 u :5 cache cache 30