浅谈高速缓存一致性协议.docVIP

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

浅谈高速缓存一致性协议【摘 要】本文首先简单介绍cache的工作原理,分析产生cache不一致的三个原因,再简单介绍并比较两种目前普遍使用的一致性协议:侦听协议和目录协议。接着我们在本文中主要提出一种新的一致性协议框架,这种协议能够将系统性能从正确性中独立出来。我们将这种综合性能的协议称之为基于令牌的Cache一致性协议。该协议Cache一致性是通过显式交换令牌和令牌计数的方式来实现的。 【关键词】共享存储;cache;一致性;令牌 在计算机经过多年发展的今天,单处理机的性能开发已经到了极限,而共享存储多处理机系统作为一种新的高端的技术,已经无可厚非的成为了主流。即使是低端的服务器也至少拥有两个处理器,而高端系统通常拥有十几个甚至几十个处理器。按照目前的趋势发展下去,多核或多处理机系统将取代单处理机系统而遍布市场,消费者也不太可能去购买一台单处理机的系统。 1.一致性相关概念 1.1一致性问题 在多处理机系统中,如果不同处理机中的进程需要共享某些数据,那么同一数据就可能有多个副本分别存放在各个Cache中,当某个Cache中的数据被更新后,而其他Cache中的相同数据副本并未作相应修改,造成了同一数据多个版本共存的现象。这就是所谓的Cache一致性问题。 1.2一致性协议 共享存储多处理机系统采用了一些高速缓存一致性协议(cache coherence protocols)来协调cache跟主存的内容一致性,使其作为一个整体给处理机提供一个单一的地址空间。这种cache-memory结构给处理器提供的一致性视图称为“存储一致性模型”,其通常作为系统结构指令集设计的一个部分[1]。cache一致性协议维护着这种模型的一个全局统一性,虽然目前多处理器系统已经是很普遍了,但在为其设计cache一致性协议方面却没有一个统一的看法,目前来说有两大主流的cache一致性协议:侦听协议和目录协议。事实上,大部分的争论都是围绕这两类协议而展开的。 2.高速缓存的工作原理 2.1基本原理 在由主存和cache组成的存储器层次结构中, 主存是多处理机共享的, 而cache是每个处理机私有的。主存和cache都以块为单位进行划分, 以映射的方式来检索。在主存和cache之间, 是以块为单位进行搬送。 当处理机发出一个访问指令来访问主存的一个地址时, 如果包含这个地址在内的模块在cache中, 该cache可以使用。如果不在cache中,这时,必须把这个模块从主存搬到cache中, 叫做块搬送。如果cache已满, 则必须按一定的置换算法挑出一个模块搬出cache到主存。 2.2写控制方式 cache的写控制有两种: 写直达方式和写回方式。 2.2.1写直达方式是指处理机把数据写入cache的同时,也写入主存。这种方式控制简单是一优点, 但如果写命令多, 访问主存次数也会很多, 这样就不能充分发挥cache的优势。影响整个系统的性能。 2.2.2写回方式是当cache不命中时, 把所有要置换出的块都写回主存去, 这又叫简单写回方式。而如果只把修改过的块, 在被替换掉时写回主存, 这时就要在cache目录中设一位标志, 指示该模块是否被修改过。这种方式叫做标志写回方式。简单写回方式会产生多余的块交换, 使总交换时间变长, 而标志写回方式中, 必须在cache目录中增加标志位, 致使检索开销增加。 3.产生高速缓存不一致的三个原因 3.1共享可写数据(Sharing of writable data)引起的不一致 处理机 P1 将一个新的数据X写入高速缓冲器中时,如果采用写通过策略,则立即将此复本写回共享存储器,在这种情况下,两个高速缓存中的两份复本 X 与 X就不一致了;如果采用写回策略 ,也会产生不一致性。只用当高速缓存器中修改的数据被替换或变成无效时,主存储器内容才被更新,如图3.1所示。 3.2进程迁移(Process migration)引起的不一致 如果采用写回策略,包含共享变量 X 的进程从处理机 P1 迁移到处理机P2 时,将会出现不一致性;如果采用写通过策略时,进程从处理机 P2 迁移到处理机 P1 时,也会出现不一致性。如图3.2所示。 图 3.1 共享可写数据引起的不一致性 图 3.2进程迁移后引起的不一致性 3.3 I/O操作(I/O operation)引起的不一致 绕过高速缓存的 I/O 操作也会引起不一致性问题。当 I/O 处理机将一个新的数据X写入主存储器时,绕过采用写通过策略的高速缓存,则在共享缓存 C1 和共享存储器之间产生了不一致性。当绕过高速缓存直接从共享存储器中输出数据时,采用写回策

文档评论(0)

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

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

1亿VIP精品文档

相关文档