- 1、本文档共158页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
哈工大并行计算课件第五章.ppt
哈尔滨工业大学计算机科学与技术学院 第5章 分布式存储器及其时延容忍 ?1 层次存储器技术 ?2 高缓一致性协议 ?3 共享存储器的一致性 ?4 分布式高速缓/主存体系结构 ?1 层次存储器技术 分析典型层次存储器的存储特性和操作性质。 一、存储部件的特性 存储时间 存储容量 传输速率和带宽 二、存储器层次性质 1.包含性 2.数据传输单位 3.访问局部性 层次存储器结构是基于访问局部性这一程序特性为基础而发展起来。 这些存取在时间、空间和顺序上往往集中在一定范围内进行。 (1)时间局部性 最近的访问项(指令或数据)很有可能在不久的将来被再次访问。 (2)空间局部性 指进程趋向于访问地址接近的数据,例如:对表和数据的操作会引起对某一地址空间的集中访问。 (3)顺序局部性 对程序而言,除了跳转指令会导致执行顺序的打乱之外,指令串行总是按照一定的串行顺序进行的。 4. 局部性对存储器设计的影响 时间局部性导致LRU替换算法等的使用; 空间局部性有利于确定相邻存储器层次间的数据传输单位,也有利于确定相邻层次的存储器容量。 顺序局部性影响最佳调度的颗粒度大小(颗粒度组合)。预取技术也受这些局部性的影响。 5.一致性问题 是系统结构方面一个重要的问题。 三、存储器容量的规划 存储器层次结构的性能由所有层次的有效存取时间Teff(effective access time)决定,Teff由下述量决定: 相邻层次的命中率(hitratios) 访问频率(accessfrequencies) 1. 命中率 hi定义: 存储器层次结构中任意两个相邻层当在Mi找到某一信息项时的概率,成为命中率。 对Mi的访问频率fi(Accessfrequency)定义为 : fi=(1-h1)(1-h2)(1-hi-1)hi 2.有效存取时间 Teff= h1t1+(1-h1)h2.t2+(1-h1)(1-h2)h3t3 +...+(1-h1)(1-h2)(1-hn-1)tn 3. 层次结构的优化 已知:每一层Mi的单位价格ci、容量si; 存储器层次结构的总成本可作如下估计: 优化的方法: 由于c1c2c3…cn, 必须选择s1s2s3…sn 。 优化的层次存储器设计应当使Teff尽量接近于t1,而总成本接近于cn。 优化过程可以表达为一个由总成本上限为C0(取上整值)线性规划问题。也就是在如下限制,使Teff最小化: 例题.存储器层次结构的设计 利用下列存储器特性来设计一个3层的层次结构存储器。 设计目标是使Teff =10.04μs,而高速缓存命中率h1=0.98,主存命中率h2=0.9。同时,存储器总成本上限是$15,000。总成本是按: C=c1s1+c2s2+c3s315,000来计算的。 由上参数可得在不超过预算的前提下,磁盘的最大容量为s3=39.8GB。 求主存的存取时间t2。已知有效存取时间计算如下: Teff=h1t1+(1-h1)h2t2+(1-h1)(1-h2)h3t3 代入已知量,有: 10.04x10-6=0.98x25x10-9+ 0.02x0.9xt2+ 0.02x0.1 x 1 x4x10-3 主存存取时间为t2=903ns。 第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后将主存
文档评论(0)