基于节点控制器的请求响应方法和装置制造方法

文档序号:6511048阅读:140来源:国知局
基于节点控制器的请求响应方法和装置制造方法
【专利摘要】本发明实施例公开了一种基于节点控制器的请求响应方法和装置,所述方法包括:第一节点控制器接收第一报文;获取信息目录,在信息目录中查询第一报文所请求的内存地址是否被第二节点控制器占用;如果第一报文所请求的内存地址被第二节点控制器占用了,则查询节点在位信息,用以确定第二节点控制器是否存在;当确定第二节点控制器不存在时,生成无效响应报文并发送;其中,无效响应报文的目的节点号DNID为第一报文的源节点号SNID;无效响应报文的SNID为第一报文的DNID。
【专利说明】基于节点控制器的请求响应方法和装置
【技术领域】
[0001]本发明涉及通信【技术领域】,尤其涉及一种基于节点控制器的请求响应方法和装置。
【背景技术】
[0002]系统体系结构上的现代高级特性使处理器(CPU)具备了错误报告与错误更正的能力,且支持CPU热插拔的技术。一些代工生产商已经支持了非一致内存访问(Non-UniformMemory Access, NUMA)硬件的热插拔,即物理节点的插入与移除。这种高级特性需要内核在必要时能移除正在使用的CPU。比如,为了远程访问服务(Remote Access Service,RAS)的需要,必须将一个执行恶意代码的CPU保持在系统执行路径之外。因此,在Linux内核中需要支持CPU热插拔技术。操作系统(OS)对CPU逻辑下线,操作系统将不再使用被下线的CPU线程,原来绑定在上面的进程和中断也被迁移到其他线程上。
[0003]在基于多节点互联情况下,可以对某节点上的节点控制器(NC)或某个CPU进行热移除。如果需要对NC进行逻辑上和物理上的移除,除了上面介绍的CPU节点移除的操作外,OS还会将节点内的内存下线,OS将节点内地址空间上正在使用的数据迁移到其他节点的内存上,并不再分配新的内存空间到这段地址。假设系统中存在NCO、NCUNC2和NC3,其中,对NC3进行移除,则将NC3节点上所有CPU的所有服务都被迁移后,不会有任何东西运行在NC3节点上的CPU内,且其他节点不会使用NC3节点上的内存,NC3节点也不会访问其他节点上的内存。但是由于NC上有目录信息,NC3之前占用其他节点上内存数据的信息可倉泛I ?呆:?。
[0004]假设NCO上某个内存地址AddrO的数据被NC3占用,则对NC3进行逻辑移除时,会有如下几种情况:
【权利要求】
1.一种基于节点控制器的请求响应方法,其特征在于,所述方法包括: 第一节点控制器接收第一报文;所述第一报文为来自CPU接口的侦听报文或者来自其他节点控制器接口的请求报文; 获取信息目录,在所述信息目录中查询所述第一报文所请求的内存地址是否被所述第二节点控制器占用;所述信息目录包括当前节点控制器的内存地址被其他节点控制器所占用的信息; 如果所述第一报文所请求的内存地址被所述第二节点控制器占用了,则查询节点在位信息,用以确定所述第二节点控制器是否存在; 当确定所述第二节点控制器不存在时,生成无效响应报文并发送;其中,所述无效响应报文的目的节点号DNID为所述第一报文的源节点号SNID;所述无效响应报文的SNID为所述第一报文的DNID。
2.根据权利要求1所述的方法,其特征在于,当确定所述第二节点控制器不存在时,生成无效响应报文并发送之后,所述方法还包括: 在所述信息目录中更改所述第一节点控制器的内存地址被第二节点控制器所占用的信息,将所述被第二节点控制器占用内存地址释放,并更新所述节点在位信息,将所述第二节点控制器的信息更新为不存在。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括: 如果所述第二节点控制器存在,则对所述第一报文进行处理生成第二报文,把所述第二报文发送到所述第二节点控制器接口。
4.根据权利要求1所述的方法,其特征在于,如果所述第一报文所请求的内存地址没有被所述第二节点控制器占 用,所述方法还包括: 当所述第一报文为所述第一节点控制器上的第一处理器接口发送的侦听报文时,则生成无效响应报文发送给第一处理器接口。
5.根据权利要求1所述的方法,其特征在于,如果所述第一报文所请求的内存地址没有被所述第二节点控制器占用,所述方法还包括: 当所述第一报文为来自第三节点控制器接口的数据或状态请求报文时,则向第一节点控制器的第一处理器接口发送所述请求报文,用以使所述第一处理器记录所述请求的信肩、O
6.一种基于节点控制器的请求响应方法,其特征在于,所述方法包括: 第一节点控制器接收第二节点控制器接口发送的侦听报文;所述侦听报文的目的节点号DNID为第一处理器; 获取处理器在位信息;所述处理器在位信息包括所在当前节点上的处理器是否存在的信息; 如果所述第一处理器不存在,则生成无效响应报文发送给第二节点控制器接口 ;其中,所述无效响应报文的DNID为所述第一报文的源节点号SNID;所述无效响应报文的SNID为所述第一报文的DNID。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括: 如果所述第一处理器存在,则发送所述侦听报文到所述第一处理器接口。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:当所述第一处理器被移除时,在所述处理器在位信息中更新所述第一处理器的记录信息,将所述第一处理器的记录信息更新为不存在。
9.一种请求响应装置,其特征在于,所述装置包括: 接收单元,用于接收第一报文,所述第一报文为来自CPU接口的侦听报文或者来自其他节点控制器接口的数据或状态请求报文; 获取单元,用于获取信息目录,所述信息目录包括当前节点控制器的内存地址被其他节点控制器所占用的信息; 第一识别单元,用于在所述信息目录中查询所述第一报文所请求的内存地址是否被所述第二节点控制器占用; 第二识别单元,如果所述第一报文所请求的内存地址被所述第二节点控制器占用了,则所述第二识别单元查询节点在位信息,用以确定所述第二节点控制器是否存在; 处理单元,用于当确定所述第二节点控制器不存在时,生成无效响应报文并发送;其中,所述无效响应报文的目的节点号DNID为所述第一报文的源节点号SNID;所述无效响应报文的SNID为所述第一报文的DNID。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:信息目录管理单元,用于在所述信息目录中更改所述第一节点控制器的内存地址被第二节点控制器所占用的信息,将所述被第二节点控制器占用内存地址释放,并更新所述节点在位信息,将所述第二节点控制器的信息更新为不存在。
11.根据权利要求9所述的装置,其特征在于,所述处理单元还用于: 如果所述第二节点控制器存在,则对所述第一报文进行处理生成第二报文,把所述第二报文发送到所述第二节点控制器接口。
12.根据权利要求9所述的装置,其特征在于,所述处理单元还用于: 如果所述第一报文所请求的内存地址没有被所述第二节点控制器占用,则当所述第一报文为所述第一节点控制器上的第一处理器接口发送的侦听报文时,则生成无效响应报文发送给第一处理器接口。
13.根据权利要求9所述的装置,其特征在于,所述处理单元还用于: 如果所述第一报文所请求的内存地址没有被所述第二节点控制器占用,则当所述第一报文为来自第三节点控制器接口的数据或状态请求报文时,则向第一处理器接口发送所述请求报文,用以使所述第一处理器记录所述请求的信息。
14.一种请求响应装置,其特征在于,所述装置包括: 接收单元,接收第二节点控制器接口发送的侦听报文;所述侦听报文的目的节点号DNID为第一处理器; 获取单元,获取处理器在位信息;所述处理器在位信息包括所在当前节点上的处理器是否存在的信息; 识别单元,用于根据所述处理器在位信息识别所述第一处理器是否存在; 处理单元,如果所述第一处理器不存在,则生成无效响应报文发送给第二节点控制器接口 ;其中,所述无效响应报文的DNID为所述侦听报文的源节点号SNID;所述无效响应报文的SNID为所述侦听报文的DNIDb 。
15.根据权利要求14所述的装置,其特征在于,所述处理单元还用于:如果所述第一处理器存在,则发送所述侦听报文到所述第一处理器接口。
16.根据权利要求14所述的装置,其特征在于,所述装置还包括处理器在位信息管理单元,用于当所述第一处理器被移除时,在所述处理器在位信息中更新所述第一处理器的记录信息,将所述第一处理器的记录信息更新为不存在 。
【文档编号】G06F17/30GK103488606SQ201310410556
【公开日】2014年1月1日 申请日期:2013年9月10日 优先权日:2013年9月10日
【发明者】王工艺, 陈奔, 赵亚飞 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1