网站大量收购独家精品文档,联系QQ:2885784924

第5章第2节讲义2004年12月19日.pptVIP

  1. 1、本文档共95页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章第2节讲义2004年12月19日.ppt

哈尔滨工业大学计算机科学与技术学院 并行处理与体系结构 第5章 分布式存储器及其时延容忍 ?1 层次存储器技术 ?2 高缓一致性协议 ?3 共享存储器的一致性 ?4 分布式高速缓/主存体系结构 一.问题的提出 1.一种解决方案: 2. 两种实用的方法: 写直达(Write-through)法: 每次写入Cache时也把相同的数写入主存储器。 特点: 这种管理写操作的方法虽然简化了I/O处理器的访问。 它增加了中央处理器与主存储器之间的信息流量,又降低I/O性能。 写回(Write-back)法 写操作期间中央处理器修改了Cache数据之后,并不马上修改主存储器的相应单元; 在Cache中被修改的行从Cache中淘汰时,才把它写入主存储器,这里的“写回”是指写回主存储器。 二、多处理机环境下的高速缓存一致性问题 1.多个不同的处理器对同一高速缓存行的写操作 按所有处理器所见到的存储器事件的顺序而串行化写。 可能引起高速缓存不一致的原因有以下3种: (1)不同处理器对各自缓存的同一高速缓存行的不同拷贝的异步写操作; (2)多处理器系统中的进程迁移,而又不互相通报; (3)绕过高速缓存拷贝拥有者的I/O操作。 2.例题 由共享数据写操作引起的高速缓存一致 在写操作前后高速缓存状态的变化由下图所示。假设在更新前两个处理器各自缓存的数据(标为x)与共享主存中的相应数据是一致的。 3.例题 由进程迁移引起的高速缓存不一致 假设处理器P1的高速缓存中有主存中数据x的拷贝,当某进程从P1,迁移至P2后将主存数据x改写为y。 4.例题:由绕过高速缓存的I/O操作引起的不一致 下图表明将I/O作为WT高速缓存下的输入设备和WB高速缓存下的输出设备时,由于绕过高速缓存的输入/输出操作所引起的不一致。 结论: WT和WK不满足实际的需要。 三、监听一致性协议 当各处理器的高速缓存都连接到公共总线时,有两类协议: 写--无效(write-invalidate)协议; 写--更新(write-update)协议。 监听一致性协议体现在: 监听协议需要由总线或环提供的广播机制; 不断地监听总线上处理器和存储器模块间的高速缓存操作事件 1.写—无效协议 在下图中,可以看到对主存数据x存在3份高速缓存中的拷贝。 当某一处理器想要进行写操作时,首先它必须获得对x访问的独占权,然后更新数据为x’,并使其他处理器高速缓存中的相应数据拷贝失效。 使用WB高速缓存时,主存相应数据行也被设置为无效。 若使用WT高速缓存,该主存数据行将会立即更新为x’。 2.写--更新协议 当某一处理器对高速缓存数据x作写操作时,它必须通过广播x’的方法来更新x在所有处理器高速缓存中的拷贝。 当其它的处理器要访问修改过的x’时,会在本地高速缓存命中。 写更新协议具有明显的缺点? 大多数多处理机设计者选择使用WB高速缓存的写无效一致性协议 3.基于更新和基于作废协议的对比 问题: 对一个缓存中某个块的写操作应该使用更新操作,还是无效操作? 基于更新和基于无效协议的相对性能在很大程度上取决于应用程序负载表现出来的共享模式,以及各种操作的代价 如果处理器采用更新,并可能希望要在将来看到新的值,更新就会比无效有更好的性能 老数据的处理器再不用它了,更新就不必要 无效操作清除旧的拷贝,消除了明显的共享 概念: 缓存缺失(不命中、扑空,miss) 总线流量 例题:用缓存扑空数和总线流量评价,基于更新和基于作废协议的相对代价 模式1:重复k次;处理器1向变量V写入一个新的值,处理器2到处理器P读V的值。 这表现了一种单生产者多消费者机制可能出现的情形,事件同步中处理器访问一个高度争用的标记变量。 模式2:重复k次;处理器1向变量V写M次,然后处理器2读V 这是一种在处理器对之间可能出现的一种共享模式,其中第一个处理器连续计算一个变量的值,当累加完成后,另一个处理器读这个值。 假设: 无效过程要消耗6个字节(5个字节地址,1个字节命令),更新需14个字节(6个字节地址和命令,8个字节为更新的数据), 一个常规的缓存扑空要70个字节(6个字节地址和命令,加上64个字节的数据,对应一个缓存块)。 还假设:P=16、M=10、k=10,缓存最初都是空的。 分析: 对于模式1 ①模式1更新方案: 在所有P个处理器上的第一次迭代将引起一个常规的缓存扑空(包括处理器1在写操作的时候)加上由于写的一次更新。在后续的k-1次迭代中不会产生更多的扑空,并且每次迭代只有一次更新产生。这样总体上 扑空=P=16; 流量=P×RdMiss+ k ×Update=16X70+10X14=1260字节。 ②模式1无效方案 所有P个处理器在第一次迭代将引起一个常规缓存扑空。在后续k-1,处理器1将产生一次

文档评论(0)

zhiminwei + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档