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

节点COMA型.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  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文档。上传文档
查看更多
节点COMA型

32节点阶层BUS结构的COMA协议设计 控制工程 COMA简介【1】:COMA是并行机结构体系中的一种,它的全称是Cache Only Memory Architecture,它是NUMA模型的一种特例,它利用各节点的高速缓存构成全局地址空间。32结点的COMA结构如图1所示。由图可以看出,COMA是由阶层BUS构成的,其中P指的是各个结点的Processor,M指的是各个结点的Memory,D指的是目录Directory。 COMA模型的各处理器结点中没有存储层次结构,全部的Memory组成了全局地址空间。而各个Memory由上层的目录Directory管理。Directory在结构上也是Memory,但其中存储的不是数据而是某一页内容的位置信息。 图1 32结点COMA型并行机 在开始时,COMA使用特别的OS,将所需的数据分配给各个Memory,初始状态下每页只有一份,而Directory中记录着哪些数据存在哪里。P使用某页时先向本Memory申请,若本Memory无此页则向上一层Directory申请,直到找到该页,将此页拷贝至本结点的Memory。这样系统将各个Memory用作Cache,运行一段时间后形成数据的最优配置。因此,各个结点中的Memory实际上是另外一种意义上的高速缓存Cache,并且此Cache的容量一般都大于2级Cache的容量。为了不在下文中引起不必要的误解,因此在下文中各节点的Memory统一成为Cache。 由于数据会在各个Cache之间传递,因此某些数据就会在不止一个的Cache中出现,这就会涉及到了Cache一致性的问题。本文基于16结点的COMA并行机设计了一种Cache一致性的方法。 本文所设计的COMA并行机如图1所示,此模型共有三级目录结构,第一级的目录记录在其目录下的二个结点的Cache中所存储的每一页的数据驻留在Cache中的信息,包括每一页的位置及状态,第二级的目录记录了三级目录下的所有页的信息。第三级目录确定了下一级的所有信息。 这时,我们面临着这样一个问题:我们如何在目录中存储各页的信息呢?由于32结点COMA的节点数并不是很多,因此在目录对数据的管理方法本文中使用比较简单的Full Map法。在具体实现时,一二两级目录结构为两个标志位。第三级目录每一页的信息包括四个标志位,分别为此页在此目录下属的Cache中的状态,如图2所示。 图2 三级目录 数据访问:当处理器P需要访问数据时首先查询上一级的D若所需的数据在D内有记录则根据指示找到相应的数据返回,若没有则查找上一级的D,若有则返回,否则查找最上面的D,找到数据并返回。 状态迁移:我们采用Cache一致性中的后写无效化协议【2】,因此每页的状态可为以下六种状态中的一种: I(Invalid):无效(当某个Cache中不含有此页时也标志为I)。 E(Exclusive):其他位置不存在副本。 S(Shared):在其他位置存在副本的可能。 R(Reading):发出读请求后的等待状态。 W(Waiting):发出其他Copy无效化的等待状态。 A(Answering):正在回答其他Processor的读请求。 二级目录的结构与一级目录相似,每一页的信息由16个PU中的状态位组成,其余情况基本相似,在此不再赘述。 在上述的六个状态中,后三个状态Reading、Waiting、Answering都只是瞬间的状态。在这里定义了瞬间的状态是因为有些动作是由一些分离的动作组成的,在这些分离的动作进行的过程中,需要一些暂时的状态来表示。 系统中存在以下的一些动作: B(Bus):来自总线的。 P(Processor):来自Processor的。 Data:数据的传输。 ACK:接到Invalid请求,并执行之后的确认。 Invalid:使除了本节点之外所有结点的这一页无效化。 本文所设计的Cache一致性协议 的状态迁移图如图3所示。 图3 状态迁移图 (1)Invalid 当某节点的某页数据处于Invalid状态时,若Bus上有读请求或者写请求,则对此页没有影响,此页的Invalid状态不变。 当此节点需要对Invalid页进行读操作时,先向Bus发出读请求,同时此页的状态变为Reading,然后Bus在一级目录中寻找此页,假如一级目录中也不包括此页,则向二级目录中寻找,找到此页后,Bus选择其中一个结点来处理这个读请求。之后,Bus执行Data操作,将数据传输给此结点。此节点在收到被读数据时,将这一页的状态该变为Shared。 当此节点需要对Invalid页进行写操作时,将这个写操作分解为两个步骤:首先,先向Bus发出读请求,具体的过

文档评论(0)

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

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

1亿VIP精品文档

相关文档