[发明专利]一种对地址请求的处理方法和装置有效
申请号: | 201180001787.8 | 申请日: | 2011-08-01 |
公开(公告)号: | CN102439947A | 公开(公告)日: | 2012-05-02 |
发明(设计)人: | 陈昊;王海彬;郑伟;王工艺 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/12 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 彭愿洁;李文红 |
地址: | 518129 中国广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 地址 请求 处理 方法 装置 | ||
技术领域
本发明涉及通信领域,尤其涉及一种对地址请求的处理方法和装置。
背景技术
随着云计算技术的发展,业界对高端容错计算的需求进一步加强。在多处理器组成的容错计算机架构中,节点控制器(Node Controller,NC)(也即一种互联芯片)中的缓存一致性(Cache Coherence,CC)层是最核心的技术。所谓CC层,是对多处理器容错计算机架构在共享内存时,用于解决内存共享过程中地址冲突问题的硬件单元的统称。CC层中的内存代理(Home Agent,HA)需要对各个缓存代理(Cache Agent,CA)发起的请求进行处理。在容错计算机CC层硬件设计、尤其是32核(32P)及以上系统的NC设计中,HA针对从多个节点(即CA)发起的对同一地址的请求需要进行序列化的排序。
由于先进先出(First-In-First-Out,FIFO)队列是一种技术比较成熟且常用的队列,在高端容错计算这一领域,对从多个节点发起的对同一地址的请求,现有技术通常采用FIFO队列对其进行序列化操作。如附图1a所示,系统对同一个地址的请求进入同一个FIFO队列,每一个请求占用队列中的一个容器(Entry)。例如,所有对地址0的请求进入FIFO(00)队列,所有对地址1的请求进入FIFO(01)队列,所有对地址2的请求进入FIFO(02)队列,......,所有对地址n-1的请求进入FIFO(n-1)队列;第0个对地址0的请求进入FIFO(00)队列的容器0(Entry0)(图中使用“Entry0 for Addr0”表示,余类推),第1个对地址0的请求进入FIFO(00)队列的容器1(Entry1),第2个对地址0的请求进入FIFO(00)队列的容器2(Entry2),.......,第m个对地址0的请求进入FIFO(00)队列的容器m-1(Entrym-1);对其他地址的请求进入FIFO队列的情形类似。FIFO队列的这种特性决定了后续资源取得这些地址的请求时,只能严格按照这些地址请求的入列顺序来操作,例如,三个对地址0的请求入列的顺序是:第0个对地址0的请求进入FIFO(00)队列的容器Entry0,其次是第1个对地址0的请求进入FIFO(00)队列的容器Entry1,最后是第2个对地址0的请求进入FIFO(00)队列的容器Entry2,那么,若后续某个资源需要取得第2个对地址0的请求,必须等到第0个对地址0的请求和第1个对地址0的请求顺次离开了FIFO(00)队列之后才行。
通过分析上述现有技术提供的FIFO队列的序列化管理方法可以发现,如果可供请求的不同地址数量为P个,那么,需要的FIFO队列也应该是P个,并且,每个FIFO队列的深度(也即每个FIFO队列中容器(Entry)的个数)在数值上必须与对同一地址的最大并行请求的数量相等。例如,假设系统中有10个节点(CA),每个节点对地址的请求的最大数目为60个,若这个最大数目都是针对同一个地址的请求而言,那么,需要的FIFO队列总数为1个,因为对同一地址的请求进入同一FIFO队列;若这个最大数目都是针对不同地址的请求而言,那么,需要的FIFO队列总数为600(=10×60)个,因为对不同地址的请求进入不同FIFO队列;由于系统中共有10个节点可能对同一地址进行请求,每个节点对同一地址的请求的最大数目为60个,则每个FIFO队列的深度是600=10×60,因为10个节点中每个节点可能以其能够进行的最大请求数60对同一地址进行请求,如附图1b所示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201180001787.8/2.html,转载请声明来源钻瓜专利网。