CN103500108B - 系统内存访问方法、节点控制器和多处理器系统 - Google Patents

系统内存访问方法、节点控制器和多处理器系统 Download PDF

Info

Publication number
CN103500108B
CN103500108B CN201310452176.6A CN201310452176A CN103500108B CN 103500108 B CN103500108 B CN 103500108B CN 201310452176 A CN201310452176 A CN 201310452176A CN 103500108 B CN103500108 B CN 103500108B
Authority
CN
China
Prior art keywords
distant
end node
message
node
feedback result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310452176.6A
Other languages
English (en)
Other versions
CN103500108A (zh
Inventor
赵亚飞
王工艺
常胜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XFusion Digital Technologies Co Ltd
Original Assignee
Hangzhou Huawei Digital Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Huawei Digital Technologies Co Ltd filed Critical Hangzhou Huawei Digital Technologies Co Ltd
Priority to CN201310452176.6A priority Critical patent/CN103500108B/zh
Publication of CN103500108A publication Critical patent/CN103500108A/zh
Application granted granted Critical
Publication of CN103500108B publication Critical patent/CN103500108B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例提供了一种系统内存访问方法、节点控制器和多处理器系统,方法包括:节点控制器接收第一远端节点发送的事务请求,事务请求携带第一远端节点准备访问的系统内存的地址信息;节点控制器获取系统内存的地址信息在节点控制器的目录中对应的目录项的访问属性;如果目录项的访问属性包含第二远端节点对目录项对应的系统内存的访问状态,则节点控制器向第二远端节点发送侦听消息,并在发送侦听消息的过程中并行向系统内存发送内存访问请求;节点控制器根据侦听消息的反馈结果和/或内存访问请求的反馈结果,向第一远端节点发送事务请求的响应消息。本发明实施例的方法,能够减少系统处理远端节点事务请求的时延,提高系统的性能。

Description

系统内存访问方法、节点控制器和多处理器系统
技术领域
本发明实施例涉及计算机领域,并且更具体地,涉及一种系统内存访问方法、节点控制器和多处理器系统。
背景技术
现有技术中,一个多处理器(CPU)系统中包括了本地节点和多个远端节点,本地节点与各远端节点通过节点间网络连接。本地节点可包括一个本地网络、一个节点控制器、一个或多个系统内存,系统内存通过本地网络与节点控制器相连,本地节点通过节点控制器与节点间网络连接,节点控制器包含了一个目录,节点控制器通过目录控制系统内存。
当远端节点需要访问本地内存时,请求从远端节点通过节点间网络到达节点控制器。为了维护缓存一致性(Cache Coherence)节点控制器需要访问目录来确定是否有其它远端节点占用了所请求的系统内存,然后决定是否向远端节点发起侦听消息。
但是,现有技术对事务请求进行响应的流程中,每一步骤的执行需要依赖于前一步的执行结果,存在较大的时间延迟,系统性能较差。
发明内容
本发明实施例提供一种系统内存访问方法、节点控制器和多处理器系统,能够减少系统时延,提高多处理系统的性能。
第一方面,提供了一种多处理器系统的系统内存访问方法,该多处理器系统包括本地节点、第一远端节点和第二远端节点,该本地节点包括节点控制器和该多处理器系统的系统内存,该方法包括:节点控制器接收该第一远端节点发送的事务请求,该事务请求携带该第一远端节点准备访问的系统内存的地址信息和该第一远端节点的系统内存访问类型;该节点控制器获取该系统内存的地址信息在该节点控制器的目录中对应的目录项的访问属性;如果该目录项的访问属性包含第二远端节点对该目录项对应的系统内存的访问状态,则该节点控制器向该第二远端节点发送侦听消息,并在发送该侦听消息的过程中并行向该系统内存发送内存访问请求,该内存访问请求中携带该第一远端节点的系统内存访问类型;该节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息。。
结合第一方面,在第一种可能的实现方式中,具体实现为:该第二远端节点对该目录项所对应的系统内存的访问状态包括:该第二远端节点对该目录项所对应的系统内存的独占或共享。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的独占,且该第一远端节点的内存访问类型为独占或共享,且该侦听消息的反馈结果指示该侦听消息引起该第二远端节点的数据转发,则该节点控制器根据该侦听消息的反馈结果向该第一远端节点发送该事务请求的响应消息;或者如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的独占,且该第一远端节点的内存访问类型为独占或共享,且该侦听消息的反馈结果指示该侦听消息未引起该第二远端节点的数据转发,则该节点控制器根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为共享,且该侦听消息的反馈结果指示该侦听消息引起该第二远端节点的数据转发,则该节点控制器根据该侦听消息的反馈结果向该第一远端节点发送该事务请求的响应消息;或者如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为共享,且该侦听消息的反馈结果指示该侦听消息未引起该第二远端节点的数据转发,则该节点控制器根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
结合第一方面的第一种可能的实现方式,在第四种可能的实现方式中,节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体实现为:如果目录项的状态为该第二远端节点对该目录项所对应的系统内存的独占或共享,且该第一远端节点的内存访问类型为无效,则该节点控制器根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息;或者如果目录项的状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为独占,则该节点控制器根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
第二方面,提供了多处理器系统的系统内存访问方法,该多处理器系统包括本地节点、第一远端节点和第二远端节点,该本地节点包括节点控制器和该多处理器系统的系统内存,该方法包括:
结合第二方面,在第一种可能的实现方式中,具体实现为:该第二远端节点对该目录项所对应的系统内存的访问状态包括:该第二远端节点对该目录项所对应的系统内存的独占或共享。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的独占,且该第一远端节点的内存访问类型为独占或共享,且该侦听消息的反馈结果指示该侦听消息引起该第二远端节点的数据转发,则该节点控制器根据该侦听消息的反馈结果向该第一远端节点发送该事务请求的响应消息;或者如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的独占,且该第一远端节点的内存访问类型为独占或共享,且该侦听消息的反馈结果指示该侦听消息未引起该第二远端节点的数据转发,则该节点控制器根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
结合第二方面的第一种可能的实现方式,在第三种可能的实现方式中,节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为共享,且该侦听消息的反馈结果指示该侦听消息引起该第二远端节点的数据转发,则该节点控制器根据该侦听消息的反馈结果向该第一远端节点发送该事务请求的响应消息;或者如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为共享,且该侦听消息的反馈结果指示该侦听消息未引起该第二远端节点的数据转发,则该节点控制器根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
结合第二方面的第一种可能的实现方式,在第四种可能的实现方式中,节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体实现为:如果目录项的状态为该第二远端节点对该目录项所对应的系统内存的独占或共享,且该第一远端节点的内存访问类型为无效,则该节点控制器根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息;或者如果目录项的状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为独占,则该节点控制器根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
第三方面,提供了多处理器系统的一种节点控制器,该多处理器系统包括本地节点、第一远端节点和第二远端节点,该本地节点包括节点控制器和该多处理器系统的系统内存,该节点控制器包括:接收单元,用于接收该第一远端节点发送的事务请求,该事务请求携带该第一远端节点准备访问的系统内存的地址信息和该第一远端节点的系统内存访问类型;获取单元,用于获取该系统内存的地址信息在该节点控制器的目录中对应的目录项的访问属性;发送单元,用于如果该目录项的访问属性包含第二远端节点对该目录项对应的系统内存的访问状态,则向该第二远端节点发送侦听消息,并在发送该侦听消息的过程中并行向该系统内存发送内存访问请求;该发送单元还用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息。
结合第三方面,在第一种可能的实现方式中,具体实现为:该第二远端节点对该目录项所对应的系统内存的访问状态包括:该第二远端节点对该目录项所对应的系统内存的独占或共享。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,该发送单元具体实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的独占,且该第一远端节点的内存访问类型为独占或共享,且该侦听消息的反馈结果指示该侦听消息引起该第二远端节点的数据转发,则根据该侦听消息的反馈结果向该第一远端节点发送该事务请求的响应消息;或者如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的独占,且该第一远端节点的内存访问类型为独占或共享,且该侦听消息的反馈结果指示该侦听消息未引起该第二远端节点的数据转发,则根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
结合第三方面的第一种可能的实现方式,在第三种可能的实现方式中,在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,该发送单元具体实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为共享,且该侦听消息的反馈结果指示该侦听消息引起该第二远端节点的数据转发,则根据该侦听消息的反馈结果向该第一远端节点发送该事务请求的响应消息;或者如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为共享,且该侦听消息的反馈结果指示该侦听消息未引起该第二远端节点的数据转发,则根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
结合第三方面的第一种可能的实现方式,在第四种可能的实现方式中,具体实现为:在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,该发送单元具体实现为:如果目录项的状态为该第二远端节点对该目录项所对应的系统内存的独占或共享,且该第一远端节点的内存访问类型为无效,则根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息;或者如果目录项的状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为独占,则根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
第四方面,提供了多处理器系统的一种节点控制器,该多处理器系统包括本地节点、第一远端节点和第二远端节点,该本地节点包括节点控制器和该多处理器系统的系统内存,该节点控制器包括:
结合第四方面,在第一种可能的实现方式中,具体实现为:该第二远端节点对该目录项所对应的系统内存的访问状态包括:该第二远端节点对该目录项所对应的系统内存的独占或共享。
结合第四方面的第一种可能的实现方式,在第二种可能的实现方式中,在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,该发送单元具体实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的独占,且该第一远端节点的内存访问类型为独占或共享,且该侦听消息的反馈结果指示该侦听消息引起该第二远端节点的数据转发,则根据该侦听消息的反馈结果向该第一远端节点发送该事务请求的响应消息;或者如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的独占,且该第一远端节点的内存访问类型为独占或共享,且该侦听消息的反馈结果指示该侦听消息未引起该第二远端节点的数据转发,则根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
结合第四方面的第一种可能的实现方式,在第三种可能的实现方式中,在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,该发送单元具体实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为共享,且该侦听消息的反馈结果指示该侦听消息引起该第二远端节点的数据转发,则根据该侦听消息的反馈结果向该第一远端节点发送该事务请求的响应消息;或者如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为共享,且该侦听消息的反馈结果指示该侦听消息未引起该第二远端节点的数据转发,则根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
结合第四方面的第一种可能的实现方式,在第四种可能的实现方式中,具体实现为:在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,该发送单元具体实现为:如果目录项的状态为该第二远端节点对该目录项所对应的系统内存的独占或共享,且该第一远端节点的内存访问类型为无效,则根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息;或者如果目录项的状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为独占,则根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
第五方面,提供了一种多处理器系统,该多处理器系统包括本地节点、第一远端节点和第二远端节点,该本地节点包括该多处理器系统的系统内存和节点控制器,该节点控制器为本发明第三方面或第三方面的第一种可能的实现方式至第三方面的第四种可能的实现方式中任一种可能的实现方式或第四方面或第四方面的第一种可能的实现方式至第四方面的第四种可能的实现方式中任一种可能的实现方式所示的节点控制器。
基于以上技术方案,本发明实施例的用于系统内存访问方法、节点控制器和多处理器系统,能够减少系统响应事务请求的时延,提高多处理系统的性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的应用场景示意图。
图2是本发明实施例多处理器系统的系统内存访问方法流程图。
图3是本发明实施例多处理器系统的系统内存访问的交互流程图。
图4是本发明实施例多处理器系统的另一系统内存访问方法流程图。
图5是本发明实施例多处理器系统的另一系统内存访问的交互流程图。
图6是本发明实施例节点控制器的结构示意图。
图7是本发明实施例节点控制器的另一结构示意图。
图8是本发明实施例多处理器系统的系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例的应用场景示意图。如图1所示,一个多处理器(CPU)系统中包括了本地节点(100)和多个远端节点(101),本地节点(100)与各远端节点(101)通过节点间网络(102)连接。本地节点(100)包括了一个本地网络(106)、一个节点控制器(103)、一个或多个系统内存(104)。系统内存(104)通过本地网络(106)与节点控制器相连(103)为方便描述,本地节点(100)中所有的系统内存统(104)称为本地内存。本地节点(100)通过节点控制器(103)与节点间网络(102)连接。节点控制器(103)包含了一个目录(105)。节点控制器(103)通过该目录(105)控制本地内存(104)。图中虽然只示出了2个远端节点的情况,但本发明实施例的方法并不局限于此,还可以是3个、4个乃至无穷个远端节点的情况。如图1所示,一个事务请求可包括①、②、③、④、⑤五个步骤,其中①表示发起事务请求,②表示访问目录,③表示侦听及侦听反馈,④表示系统内存请求及系统内存请求反馈,⑤表示对事务请求反馈。当然,根据实际情况的不同,也可减少其中的某些不必要的步骤。
为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个要素。
目录,是多处理器系统中本地节点的节点控制器管理系统内存的对象,包含系统内存的地址信息,以及远端节点对系统内存的访问属性,每个系统内存的地址都对应一个目录项。目录项的访问属性可包括独占、共享和无效三种方式。
目录项状态独占,表示存在唯一远端节点独占用该目录项对应的系统内存。
目录项状态共享,表示存在一个或以上远端节点共享该目录项对应的系统内存。
目录项状态无效,表示不存在远端节点占用该目录项对应的系统内存。
远端节点对系统内存的访问类型,也包含独占、共享和无效三种方式。
远端节点对系统内存的独占,是指远端节点要求对系统内存独占,不允许其他远端节点在本远端节点独占该系统内存的时候同时占用该系统内存。
远端节点对系统内存的共享,是指远端节点要求占用该系统内存,但允许其他远端节点同时共享占用该系统内存。
远端节点对系统内存的无效,是指远端节点要求临时占用该系统内存,在成功读取数据后马上释放,并缓存系统内存,不保留占用状态。
图2是本发明实施例多处理器系统的系统内存访问方法流程图。图2的方法由多处理器系统中本地节点的节点控制器执行。其中,该多处理器系统包括本地节点、第一远端节点和第二远端节点,该本地节点包括节点控制器和该多处理器系统的系统内存。该方法包括:
201,节点控制器接收该第一远端节点发送的事务请求。
其中,该事务请求携带该第一远端节点准备访问的系统内存的地址信息和该第一远端节点的系统内存访问类型。
通常情况下,远端节点发送的一个事务请求中,包含远端节点包含系统内存的一个地址信息。系统内存的地址信息,具体可以是系统内存的物理地址、节点标识或其它能够被节点控制器识别的系统内存地址。
当然,也不排除一个事务请求中存在多个请求访问的系统内存地址的情况,本发明实施例在此不作限制。
第一远端节点的系统内存访问类型,可包括独占、共享和无效三种类型。
202,该节点控制器获取该系统内存的地址信息在该节点控制器的目录中对应的目录项的访问属性。
节点控制器的目录记录着系统内存所有地址的访问属性,目录下的一个目录项对应着系统内存的一个内存地址。
目录项的访问属性可包括独占、共享和无效三种目录项状态。
203,如果该目录项的访问属性包含第二远端节点对该目录项对应的系统内存的访问状态,则向该第二远端节点发送侦听消息,并在发送该侦听消息的过程中并行向该系统内存发送内存访问请求信息。
其中,该内存访问请求中携带该第一远端节点的系统内存访问类型。
204,节点控制器根据侦听消息的反馈结果和\或内存访问请求的反馈结果,向第一远端节点发送所述事务请求的响应消息。
本发明实施例中,通过并行执行对当前已访问目录的其它远端节点的侦听流程和对系统内存的访问请求流程,减少了当前待访问系统内存的远端节点的事务请求等待时间,提高了多处理器系统的性能。
可选地,步骤203中,该第二远端节点对该目录项所对应的系统内存的访问状态包括:该第二远端节点对该目录项所对应的系统内存的独占或共享。当目录项为无效时,不存在远端节点对目录项所对应的系统内存的访问,因此,第二远端节点对目录项所对应的系统内存的访问状态只可能包括独占和共享两种状态。
可选地,作为一个实施例,该节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体可以实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的独占,且该第一远端节点的内存访问类型为独占或共享,且该侦听消息的反馈结果指示该侦听消息引起该第二远端节点的数据转发,则该节点控制器根据该侦听消息的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为另一个实施例,该节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体可以实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的独占,且该第一远端节点的内存访问类型为独占或共享,且该侦听消息的反馈结果指示该侦听消息未引起该第二远端节点的数据转发,则该节点控制器根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为再一个实施例,该节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体可以实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为共享,且该侦听消息的反馈结果指示该侦听消息引起该第二远端节点的数据转发,则该节点控制器根据该侦听消息的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为再一个实施例,该节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体可以实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为共享,且该侦听消息的反馈结果指示该侦听消息未引起该第二远端节点的数据转发,则该节点控制器根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为再一个实施例,该节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体可以实现为:如果目录项的状态为该第二远端节点对该目录项所对应的系统内存的独占或共享,且该第一远端节点的内存访问类型为无效时,则该节点控制器根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为再一个实施例,该节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体可以实现为:如果目录项的状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为独占时,则该节点控制器根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
本发明实施例中,通过并行执行对当前已访问目录的其它远端节点的侦听流程和对系统内存的访问请求流程,根据目录项的状态、远端节点的内存访问类型及侦听消息的反馈结果的不同,使得节点控制器在保证事物请求反馈结果正确的前提下尽可能的减少处理时延,提高了系统的效率。
下面,结合具体的实施例,对本发明实施例的方法进行描述。
图3是本发明实施例多处理器系统的系统内存访问的交互流程图。图3中,第一远端节点、第二远端节点和本地节点都属于多处理器系统,多处理器系统的系统内存在本地节点上。
301,第一远端节点发送事务请求。
其中,该事务请求中可包含第一远端节点准备访问的系统内存的地址信息和第一远端节点的系统内存访问类型。该系统内存的地址信息,具体可以是系统内存的物理地址、节点标识或其它能够被节点控制器识别的系统内存地址。
第一远端节点的系统内存访问类型,可包括独占、共享和无效三种类型。
302,节点控制器查询目录。
本地节点的节点控制器在接收到第一远端节点的事务请求后,可根据事务请求中携带的系统内存的地址信息,查询目录以获取该系统内存地址对应的目录项的访问属性。
303,节点控制器获取目录项的访问属性。
节点控制器通过查询目录,可获取该系统内存的地址信息对应的目录项的访问属性。具体地,目录项的访问属性是指当前时刻远端节点对该目录项所对应的系统内存的访问属性。
目录项的访问属性,可包括独占、共享和无效三种类型。
当目录项为独占时,目录项的访问属性包含一个远端节点对目录项的独占状态信息。
当目录项为共享时,目录项的访问属性包含一个或多个远端节点对目录项的独占状态信息。
当目录项为无效时,目录项的访问属性表示不存在远端节点占用该目录项对应的系统内存。
对于目录项为独占和共享时目录项的访问属性中包含的远端节点,不妨命名为第二远端节点,以区别于发起事务请求的第一远端节点。
根据目录的目录项的访问属性(表中简称目录项)及第一远端节点事务请求的内存访问类型(表中简称请求),节点控制器可发起侦听流程和内存访问请求流程。
当目录项的状态为无效时,表明此时不存在其它远端节点对该内存地址的访问,此时节点控制器只需要发起系统内存访问请求流程,即执行步骤306。
当目录项的状态为独占或共享时,节点控制器可同时发起侦听流程和内存访问请求流程,即并行执行步骤304和步骤306。
304,节点控制器向第二远端节点发送侦听消息。
节点控制器根据目录项的访问属性中包含的第二远端节点的信息,向第二远端节点发送侦听消息。
305,节点控制器接收第二远端节点的侦听反馈结果。
节点控制器接收到侦听反馈结果后,跳转至步骤308。
306,节点控制器向系统内存发送内存请求消息。
节点控制器根据请求的系统内存地址,向系统内存发送内存请求消息,该内存请求消息还可携带第一远端节点的系统内存访问类型。
307,节点控制器接收系统内存的内存请求反馈结果。
节点控制器接收到内存请求反馈结果后,跳转至步骤308。
308,节点控制器生成事务请求的反馈消息,并向第一远端节点发送事务请求的反馈消息。
根据目录项的访问属性和第一远端节点事务请求的内存访问类型的不同,节点控制器反馈事务请求所需要的反馈结果也不同。如表1所示,其中,a表示需要侦听流程的反馈结果,b表示需要系统内存访问请求流程的反馈结果。
表1
当目录项的状态为独占,且第一远端节点的内存访问类型为独占或共享时,或者当目录项的状态为共享,且第一远端节点的内存访问类型为共享时,存在3种的可能情况。第一种情况,节点控制器先收到侦听消息的反馈结果,且侦听消息的反馈结果指示该侦听消息引起第二远端节点的数据转发,则节点控制器可不用等待内存访问请求的反馈结果,即可根据侦听消息的反馈结果生成事务请求的反馈消息,并向第一远端节点发送事务请求的反馈消息。第二种情况,节点控制器先收到侦听消息的反馈结果,且侦听消息的反馈结果指示该侦听消息未引起第二远端节点的数据转发,则节点控制器还需要等待内存访问请求的反馈结果,然后根据侦听消息的反馈结果和内存访问请求的反馈结果生成事务请求的反馈消息,并向第一远端节点发送事务请求的反馈消息。第三种情况,节点控制器先收到内存访问请求的反馈结果,则节点控制器还需要等待侦听消息的反馈结果,然后根据侦听消息的反馈结果和内存访问请求的反馈结果生成事务请求的反馈消息,并向第一远端节点发送事务请求的反馈消息。
当目录项的状态为独占或共享,且第一远端节点的内存访问类型为无效时,或者当目录项的状态为共享,且第一远端节点的内存访问类型为独占时,节点控制器需要在侦听消息的反馈结果和内存访问请求的反馈结果都接收到后,再根据侦听消息的反馈结果和内存访问请求的反馈结果生成事务请求的反馈消息,并向第一远端节点发送事务请求的反馈消息。
如图3所示,第一远端节点发送请求的时间为T1,节点控制器查询目录的时间为T2,节点控制器对第二远端节点执行侦听并获得响应的时间为T3,节点控制器请求系统内存并获得响应的时间为T4,节点控制器向第一远端节点发送请求响应的时间为T5。
在本发明实施例中,当T3小于等于T4时,系统可节省T3的时间;当T3大于T4时,系统可节省T4的时间。
图4是本发明实施例多处理器系统的系统内存访问方法流程图。图3的方法由多处理器系统中本地节点的节点控制器执行。其中,该多处理器系统包括本地节点、第一远端节点和第二远端节点,该本地节点包括节点控制器和该多处理器系统的系统内存。该方法包括:
401,节点控制器接收该第一远端节点发送的事务请求。
其中,该事务请求携带该第一远端节点准备访问的系统内存的地址信息和该第一远端节点的系统内存访问类型。
第一远端节点的系统内存访问类型,可包括独占、共享和无效三种类型。
402,该节点控制器获取该系统内存的地址信息在该节点控制器的目录中对应的目录项的访问属性并根据该目录项的访问属性向第二远端节点发送侦听消息,并在获取所述目录项的访问属性和发送所述侦听消息的过程中并行向该系统内存发送内存访问请求。
其中,该目录项的访问属性包含该第二远端节点对该目录项的对应的系统内存的访问状态,该内存访问请求中携带该第一远端节点的系统内存访问类型。
403,该节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息。
本发明实施例中,通过在访问目录侦听当前已访问目录的其它远端节点的同时并行执行对系统内存的访问请求,减少了当前待访问系统内存的远端节点的事务请求等待时间,提高了多处理器系统的性能。
可选地,步骤402中,该第二远端节点对该目录项所对应的系统内存的访问状态包括:该第二远端节点对该目录项所对应的系统内存的独占或共享。当目录项为无效时,不存在远端节点对目录项所对应的系统内存的访问,因此,第二远端节点对目录项所对应的系统内存的访问状态只可能包括独占和共享两种状态。
可选地,作为一个实施例,该节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体可以实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的独占,且该第一远端节点的内存访问类型为独占或共享,且该侦听消息的反馈结果指示该侦听消息引起该第二远端节点的数据转发,则该节点控制器根据该侦听消息的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为另一个实施例,该节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体可以实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的独占,且该第一远端节点的内存访问类型为独占或共享,且该侦听消息的反馈结果指示该侦听消息未引起该第二远端节点的数据转发,则该节点控制器根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为再一个实施例,该节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体可以实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为共享,且该侦听消息的反馈结果指示该侦听消息引起该第二远端节点的数据转发,则该节点控制器根据该侦听消息的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为再一个实施例,该节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体可以实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为共享,且该侦听消息的反馈结果指示该侦听消息未引起该第二远端节点的数据转发,则该节点控制器根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为再一个实施例,该节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体可以实现为:如果目录项的状态为该第二远端节点对该目录项所对应的系统内存的独占或共享,且该第一远端节点的内存访问类型为无效时,则该节点控制器根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为再一个实施例,该节点控制器根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息具体可以实现为:如果目录项的状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为独占时,则该节点控制器根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
本发明实施例中,通过在访问目录侦听当前已访问目录的其它远端节点的同时并行执行对系统内存的访问请求,并根据目录项的状态、远端节点的内存访问类型及侦听消息的反馈结果的不同,使得节点控制器在保证事物请求反馈结果正确的前提下尽可能的减少处理时延,提高了系统的效率。
下面,结合具体的实施例,对本发明实施例的方法进行描述。
图5是本发明实施例多处理器系统的系统内存访问的交互流程图。图5中,第一远端节点、第二远端节点和本地节点都属于多处理器系统,多处理器系统的系统内存在本地节点上。
501,第一远端节点发送事务请求。
其中,该事务请求中可包含第一远端节点准备访问的系统内存的地址信息和第一远端节点的系统内存访问类型。该系统内存的地址信息,具体可以是系统内存的物理地址、节点标识或其它能够被节点控制器识别的系统内存地址。
第一远端节点的系统内存访问类型,可包括独占、共享和无效三种类型。
此时,节点控制器在执行访问目录、侦听流程的同时,并行执行系统内存请求流程。即执行步骤502、506。
502,节点控制器查询目录。
本地节点的节点控制器在接收到第一远端节点的事务请求后,可根据事务请求中携带的系统内存的地址信息,查询目录,以获取该系统内存地址对应的目录项的访问属性。具体地,目录项的访问属性是指当前时刻远端节点对该目录项所对应的系统内存的访问属性。
503,节点控制器获取目录项的访问属性。
节点控制器通过查询目录,可获取该系统内存的地址信息对应的目录当前的访问属性。
具体地,目录项的访问属性是指当前时刻远端节点对该目录项所对应的系统内存的访问属性。
目录项的访问属性,可包括独占、共享和无效三种类型。
当目录项为独占时,目录项的访问属性包含一个远端节点对目录项的独占状态信息。
当目录项为共享时,目录项的访问属性包含一个或多个远端节点对目录项的独占状态信息。
当目录项为无效时,目录项的访问属性表示不存在远端节点占用该目录项对应的系统内存。
对于目录项为独占和共享时目录项的访问属性中包含的远端节点,不妨命名为第二远端节点,以区别于发起事务请求的第一远端节点。
当目录项的状态为无效时,节点控制器不需要发起侦听流程,此时,跳转至步骤508。
当目录项的状态为独占或共享时,执行步骤504。
504,节点控制器向第二远端节点发送侦听消息。
节点控制器根据目录项的访问属性中包含的第二远端节点的信息,向第二远端节点发送侦听消息。
505,节点控制器接收第二远端节点的侦听反馈结果。
节点控制器接收到侦听反馈结果后,跳转至步骤508。
506,节点控制器向系统内存发送内存请求消息。
节点控制器根据请求的系统内存地址,向系统内存发送内存请求消息,该内存请求消息还可携带第一远端节点的系统内存访问类型。
507,节点控制器接收系统内存的内存请求反馈结果。
节点控制器接收到内存请求反馈结果后,跳转至步骤508。
508,节点控制器生成事务请求的反馈消息,并向第一远端节点发送事务请求的反馈消息。
根据目录项的访问属性和第一远端节点事务请求的内存访问类型的不同,节点控制器反馈事务请求所需要的反馈结果也不同。如表2所示,其中,a表示需要侦听流程的反馈结果,b表示需要系统内存访问请求流程的反馈结果。
表2
当目录项的状态为独占,且第一远端节点的内存访问类型为独占或共享时,或者当目录项的状态为共享,且第一远端节点的内存访问类型为共享时,存在3种的可能情况。第一种情况,节点控制器先收到侦听消息的反馈结果,且侦听消息的反馈结果指示该侦听消息引起第二远端节点的数据转发,则节点控制器可不用等待内存访问请求的反馈结果,即可根据侦听消息的反馈结果生成事务请求的反馈消息,并向第一远端节点发送事务请求的反馈消息。第二种情况,节点控制器先收到侦听消息的反馈结果,且侦听消息的反馈结果指示该侦听消息未引起第二远端节点的数据转发,则节点控制器还需要等待内存访问请求的反馈结果,然后根据侦听消息的反馈结果和内存访问请求的反馈结果生成事务请求的反馈消息,并向第一远端节点发送事务请求的反馈消息。第三种情况,节点控制器先收到内存访问请求的反馈结果,则节点控制器还需要等待侦听消息的反馈结果,然后根据侦听消息的反馈结果和内存访问请求的反馈结果生成事务请求的反馈消息,并向第一远端节点发送事务请求的反馈消息。
当目录项的状态为独占或共享,且第一远端节点的内存访问类型为无效时,或者当目录项的状态为共享,且第一远端节点的内存访问类型为独占时,节点控制器需要在侦听消息的反馈结果和内存访问请求的反馈结果都接收到后,再根据侦听消息的反馈结果和内存访问请求的反馈结果生成事务请求的反馈消息,并向第一远端节点发送事务请求的反馈消息。
如图5所示,第一远端节点发送请求的时间为T1,节点控制器查询目录的时间为T2,节点控制器对第二远端节点执行侦听并获得响应的时间为T3,节点控制器请求系统内存并获得响应的时间为T4,节点控制器向第一远端节点发送请求响应的时间为T5。
在本发明实施例中,当T2+T3小于等于T4时,系统可节省T2+T3的时间;当T2+T3大于T4时,系统可节省T4的时间。
图6是本发明实施例节点控制器600的结构示意图。其中,多处理器系统包括本地节点、第一远端节点和第二远端节点,该本地节点包括节点控制器600和该多处理器系统的系统内存。节点控制器600可包括接收单元601、获取单元602和发送单元603。
接收单元601,用于接收该第一远端节点发送的事务请求。
其中,该事务请求携带该第一远端节点准备访问的系统内存的地址信息和该第一远端节点的系统内存访问类型。
获取单元602,用于获取该系统内存的地址信息在该节点控制器的目录中对应的目录项的访问属性。
发送单元603,用于如果该目录项的访问属性包含第二远端节点对该目录项对应的系统内存的访问状态,则向该第二远端节点发送侦听消息,并在发送该侦听消息的过程中并行向该系统内存发送内存访问请求。
其中,该内存访问请求中携带第一远端节点的系统内存访问类型。
发送单元603还用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息。
本发明实施例中,节点控制器600通过并行执行对当前已访问目录的其它远端节点的侦听流程和对系统内存的访问请求流程,减少了当前待访问系统内存的远端节点的事务请求等待时间,提高了多处理器系统的性能。
可选地,该第二远端节点对该目录项所对应的系统内存的访问状态包括:该第二远端节点对该目录项所对应的系统内存的独占或共享。
可选地,作为一个实施例,在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,发送单元603具体实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的独占,且该第一远端节点的内存访问类型为独占或共享,且该侦听消息的反馈结果指示该侦听消息引起该第二远端节点的数据转发,则发送单元603根据该侦听消息的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为另一个实施例,在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,发送单元603具体实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的独占,且该第一远端节点的内存访问类型为独占或共享,且该侦听消息的反馈结果指示该侦听消息未引起该第二远端节点的数据转发,则发送单元603根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为再一个实施例,在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,发送单元603具体实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为共享,且该侦听消息的反馈结果指示该侦听消息引起该第二远端节点的数据转发,则发送单元603根据该侦听消息的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为再一个实施例,在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,发送单元603具体实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为共享,且该侦听消息的反馈结果指示该侦听消息未引起该第二远端节点的数据转发,则发送单元603根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为再一个实施例,在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,发送单元603具体实现为:如果目录项的状态为该第二远端节点对该目录项所对应的系统内存的独占或共享,且该第一远端节点的内存访问类型为无效时,则发送单元603根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为再一个实施例,在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,发送单元603具体实现为:如果目录项的状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为独占时,则发送单元603根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
另外,节点控制器600还可执行图2的方法,并具备节点控制器在图3所示实施例中的功能,具体可参考图2、图3所示的实施例,本发明实施例在此不再赘述。
另外,节点控制器600的具体实现上可以与其功能的划分有所差异。例如,接收单元601和发送单元603可以耦合成一个输入输出(I/O)接口,获取单元602可用一个带有处理功能的硬件(比如,处理器等)实现,该硬件还可用于控制I/O接口的输入输出。节点控制器600的物理实现,可以是一个逻辑芯片,或者集成电路等。
图7是本发明实施例节点控制器700的结构示意图。其中,多处理器系统包括本地节点、第一远端节点和第二远端节点,该本地节点包括节点控制器700和该多处理器系统的系统内存。节点控制器700可包括接收单元701、获取单元702和发送单元703。
接收单元701,用于接收该第一远端节点发送的事务请求。
其中,该事务请求携带该第一远端节点准备访问的系统内存的地址信息和该第一远端节点的系统内存访问类型。
第一远端节点的系统内存访问类型,可包括独占、共享和无效三种类型。
获取单元702,用于获取该系统内存的地址信息在该节点控制器的目录中对应的目录项的访问属性。
发送单元703,用于根据该目录项的访问属性向第二远端节点发送侦听消息。
其中,该目录项的访问属性包含该第二远端节点对该目录项的对应的系统内存的访问状态。
发送单元703还用于在获取单元702获取该目录项的访问属性和发送单元703发送该侦听消息的过程中并行向该系统内存发送内存访问请求。
其中,该内存访问请求中携带该第一远端节点的系统内存访问类型。
发送单元703还用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息。
本发明实施例中,节点控制器700通过在访问目录侦听当前已访问目录的其它远端节点的同时并行执行对系统内存的访问请求,减少了当前待访问系统内存的远端节点的事务请求等待时间,提高了多处理器系统的性能。
可选地,该第二远端节点对该目录项所对应的系统内存的访问状态包括:该第二远端节点对该目录项所对应的系统内存的独占或共享。当目录项为无效时,不存在远端节点对目录项所对应的系统内存的访问,因此,第二远端节点对目录项所对应的系统内存的访问状态只可能包括独占和共享两种状态。
可选地,作为一个实施例,在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,发送单元703具体实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的独占,且该第一远端节点的内存访问类型为独占或共享,且该侦听消息的反馈结果指示该侦听消息引起该第二远端节点的数据转发,则发送单元703根据该侦听消息的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为另一个实施例,在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,发送单元703具体实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的独占,且该第一远端节点的内存访问类型为独占或共享,且该侦听消息的反馈结果指示该侦听消息未引起该第二远端节点的数据转发,则发送单元703根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为再一个实施例,在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,发送单元703具体实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为共享,且该侦听消息的反馈结果指示该侦听消息引起该第二远端节点的数据转发,则发送单元703根据该侦听消息的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为再一个实施例,在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,发送单元703具体实现为:如果该目录项的访问状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为共享,且该侦听消息的反馈结果指示该侦听消息未引起该第二远端节点的数据转发,则发送单元703根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为再一个实施例,在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,发送单元703具体实现为:如果目录项的状态为该第二远端节点对该目录项所对应的系统内存的独占或共享,且该第一远端节点的内存访问类型为无效时,则发送单元703根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
可选地,作为再一个实施例,在用于根据该侦听消息的反馈结果和/或该内存访问请求的反馈结果,向该第一远端节点发送该事务请求的响应消息,发送单元703具体实现为:如果目录项的状态为该第二远端节点对该目录项所对应的系统内存的共享,且该第一远端节点的内存访问类型为独占时,则发送单元703根据该侦听消息的反馈结果和该内存访问请求的反馈结果向该第一远端节点发送该事务请求的响应消息。
节点控制器700还可执行图4的方法,并具备节点控制器在图5所示实施例中的功能,具体可参考图4、图5所示的实施例,本发明实施例在此不再赘述。
另外,节点控制器700的具体实现上可以与其功能的划分有所差异。例如,接收单元701和发送单元703可以耦合成一个输入输出(I/O)接口,获取单元702可用一个带有处理功能的硬件(比如,处理器等)实现,该硬件还可用于控制I/O接口的输入输出。节点控制器700的物理实现,可以是一个逻辑芯片,或者集成电路等。
图8是本发明实施例多处理器系统800的结构示意图。多处理器系统800可包括:本地节点801、第一远端节点802和第二远端节点803,其中,本地节点801可包括多处理器系统的系统内存804和节点控制器805。节点控制器805可以是图6所示的实施例中的节点控制器600或图7所示的实施例中的节点控制器700。节点控制器805可用于根据第一远端节点的事务请求,通过并行处理响应所述事务请求所需的流程,对第一远端节点的事务请求进行响应反馈。
本发明实施例中,多处理器系统800通过并行处理响应事务请求的流程,减少了事务请求响应的时延,提高了系统的性能。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (21)

1.一种多处理器系统的系统内存访问方法,其特征在于,所述多处理器系统包括本地节点、第一远端节点和第二远端节点,所述本地节点包括节点控制器和所述多处理器系统的系统内存,所述方法包括:
节点控制器接收所述第一远端节点发送的事务请求,所述事务请求携带所述第一远端节点准备访问的系统内存的地址信息和所述第一远端节点的系统内存访问类型;
所述节点控制器获取所述系统内存的地址信息在所述节点控制器的目录中对应的目录项的访问属性;
如果所述目录项的访问属性包含第二远端节点对所述目录项对应的系统内存的访问状态,则所述节点控制器向所述第二远端节点发送侦听消息,并在发送所述侦听消息的过程中并行向所述系统内存发送内存访问请求,所述内存访问请求中携带所述第一远端节点的系统内存访问类型;
所述节点控制器根据所述侦听消息的反馈结果和/或所述内存访问请求的反馈结果,向所述第一远端节点发送所述事务请求的响应消息。
2.如权利要求1所述的方法,其特征在于,所述第二远端节点对所述目录项所对应的系统内存的访问状态包括:所述第二远端节点对所述目录项所对应的系统内存的独占或共享。
3.如权利要求2所述的方法,其特征在于,所述节点控制器根据所述侦听消息的反馈结果和/或所述内存访问请求的反馈结果,向所述第一远端节点发送所述事务请求的响应消息包括:
如果所述目录项的访问状态为所述第二远端节点对所述目录项所对应的系统内存的独占,且所述第一远端节点的内存访问类型为独占或共享,且所述侦听消息的反馈结果指示所述侦听消息引起所述第二远端节点的数据转发,则所述节点控制器根据所述侦听消息的反馈结果向所述第一远端节点发送所述事务请求的响应消息;或者
如果所述目录项的访问状态为所述第二远端节点对所述目录项所对应的系统内存的独占,且所述第一远端节点的内存访问类型为独占或共享,且所述侦听消息的反馈结果指示所述侦听消息未引起所述第二远端节点的数据转发,则所述节点控制器根据所述侦听消息的反馈结果和所述内存访问请求的反馈结果向所述第一远端节点发送所述事务请求的响应消息。
4.如权利要求2所述的方法,其特征在于,所述节点控制器根据所述侦听消息的反馈结果和/或所述内存访问请求的反馈结果,向所述第一远端节点发送所述事务请求的响应消息包括:
如果所述目录项的访问状态为所述第二远端节点对所述目录项所对应的系统内存的共享,且所述第一远端节点的内存访问类型为共享,且所述侦听消息的反馈结果指示所述侦听消息引起所述第二远端节点的数据转发,则所述节点控制器根据所述侦听消息的反馈结果向所述第一远端节点发送所述事务请求的响应消息;或者
如果所述目录项的访问状态为所述第二远端节点对所述目录项所对应的系统内存的共享,且所述第一远端节点的内存访问类型为共享,且所述侦听消息的反馈结果指示所述侦听消息未引起所述第二远端节点的数据转发,则所述节点控制器根据所述侦听消息的反馈结果和所述内存访问请求的反馈结果向所述第一远端节点发送所述事务请求的响应消息。
5.如权利要求2所述的方法,其特征在于,所述节点控制器根据所述侦听消息的反馈结果和/或所述内存访问请求的反馈结果,向所述第一远端节点发送所述事务请求的响应消息包括:
如果目录项的状态为所述第二远端节点对所述目录项所对应的系统内存的独占或共享,且所述第一远端节点的内存访问类型为无效,则所述节点控制器根据所述侦听消息的反馈结果和所述内存访问请求的反馈结果向所述第一远端节点发送所述事务请求的响应消息;或者
如果目录项的状态为所述第二远端节点对所述目录项所对应的系统内存的共享,且所述第一远端节点的内存访问类型为独占,则所述节点控制器根据所述侦听消息的反馈结果和所述内存访问请求的反馈结果向所述第一远端节点发送所述事务请求的响应消息。
6.一种多处理器系统的系统内存访问方法,其特征在于,所述多处理器系统包括本地节点、第一远端节点和第二远端节点,所述本地节点包括节点控制器和所述多处理器系统的系统内存,所述方法包括:
节点控制器接收所述第一远端节点发送的事务请求,所述事务请求携带所述第一远端节点准备访问的系统内存的地址信息和所述第一远端节点的系统内存访问类型;
所述节点控制器获取所述系统内存的地址信息在所述节点控制器的目录中对应的目录项的访问属性并根据所述目录项的访问属性向第二远端节点发送侦听消息,并在获取所述目录项的访问属性和发送所述侦听消息的过程中并行向所述系统内存发送内存访问请求,其中所述目录项的访问属性包含所述第二远端节点对所述目录项的对应的系统内存的访问状态,所述内存访问请求中携带所述第一远端节点的系统内存访问类型;
所述节点控制器根据所述侦听消息的反馈结果和/或所述内存访问请求的反馈结果,向所述第一远端节点发送所述事务请求的响应消息。
7.如权利要求6所述的方法,其特征在于,所述第二远端节点对所述目录项所对应的系统内存的访问状态包括:所述第二远端节点对所述目录项所对应的系统内存的独占或共享。
8.如权利要求7所述的方法,其特征在于,所述节点控制器根据所述侦听消息的反馈结果和/或所述内存访问请求的反馈结果,向所述第一远端节点发送所述事务请求的响应消息包括:
如果所述目录项的访问状态为所述第二远端节点对所述目录项所对应的系统内存的独占,且所述第一远端节点的内存访问类型为独占或共享,且所述侦听消息的反馈结果指示所述侦听消息引起所述第二远端节点的数据转发,则所述节点控制器根据所述侦听消息的反馈结果向所述第一远端节点发送所述事务请求的响应消息;或者
如果所述目录项的访问状态为所述第二远端节点对所述目录项所对应的系统内存的独占,且所述第一远端节点的内存访问类型为独占或共享,且所述侦听消息的反馈结果指示所述侦听消息未引起所述第二远端节点的数据转发,则所述节点控制器根据所述侦听消息的反馈结果和所述内存访问请求的反馈结果向所述第一远端节点发送所述事务请求的响应消息。
9.如权利要求7所述的方法,其特征在于,所述节点控制器根据所述侦听消息的反馈结果和/或所述内存访问请求的反馈结果,向所述第一远端节点发送所述事务请求的响应消息包括:
如果所述目录项的访问状态为所述第二远端节点对所述目录项所对应的系统内存的共享,且所述第一远端节点的内存访问类型为共享,且所述侦听消息的反馈结果指示所述侦听消息引起所述第二远端节点的数据转发,则所述节点控制器根据所述侦听消息的反馈结果向所述第一远端节点发送所述事务请求的响应消息;或者
如果所述目录项的访问状态为所述第二远端节点对所述目录项所对应的系统内存的共享,且所述第一远端节点的内存访问类型为共享,且所述侦听消息的反馈结果指示所述侦听消息未引起所述第二远端节点的数据转发,则所述节点控制器根据所述侦听消息的反馈结果和所述内存访问请求的反馈结果向所述第一远端节点发送所述事务请求的响应消息。
10.如权利要求7所述的方法,其特征在于,所述节点控制器根据所述侦听消息的反馈结果和/或所述内存访问请求的反馈结果,向所述第一远端节点发送所述事务请求的响应消息包括:
如果目录项的状态为所述第二远端节点对所述目录项所对应的系统内存的独占或共享,且所述第一远端节点的内存访问类型为无效,则所述节点控制器根据所述侦听消息的反馈结果和所述内存访问请求的反馈结果向所述第一远端节点发送所述事务请求的响应消息;或者
如果目录项的状态为所述第二远端节点对所述目录项所对应的系统内存的共享,且所述第一远端节点的内存访问类型为独占,则所述节点控制器根据所述侦听消息的反馈结果和所述内存访问请求的反馈结果向所述第一远端节点发送所述事务请求的响应消息。
11.一种多处理器系统的节点控制器,其特征在于,所述多处理器系统包括本地节点、第一远端节点和第二远端节点,所述本地节点包括所述节点控制器和所述多处理器系统的系统内存,所述节点控制器包括:
接收单元,用于接收所述第一远端节点发送的事务请求,所述事务请求携带所述第一远端节点准备访问的系统内存的地址信息和所述第一远端节点的系统内存访问类型;
获取单元,用于获取所述系统内存的地址信息在所述节点控制器的目录中对应的目录项的访问属性;
发送单元,用于如果所述目录项的访问属性包含第二远端节点对所述目录项对应的系统内存的访问状态,则向所述第二远端节点发送侦听消息,并在发送所述侦听消息的过程中并行向所述系统内存发送内存访问请求;
所述发送单元还用于根据所述侦听消息的反馈结果和/或所述内存访问请求的反馈结果,向所述第一远端节点发送所述事务请求的响应消息。
12.如权利要求11所述的节点控制器,其特征在于,所述第二远端节点对所述目录项所对应的系统内存的访问状态包括:所述第二远端节点对所述目录项所对应的系统内存的独占或共享。
13.如权利要求12所述的节点控制器,其特征在于,在用于根据所述侦听消息的反馈结果和/或所述内存访问请求的反馈结果,向所述第一远端节点发送所述事务请求的响应消息,所述发送单元具体用于:
如果所述目录项的访问状态为所述第二远端节点对所述目录项所对应的系统内存的独占,且所述第一远端节点的内存访问类型为独占或共享,且所述侦听消息的反馈结果指示所述侦听消息引起所述第二远端节点的数据转发,则根据所述侦听消息的反馈结果向所述第一远端节点发送所述事务请求的响应消息;或者
如果所述目录项的访问状态为所述第二远端节点对所述目录项所对应的系统内存的独占,且所述第一远端节点的内存访问类型为独占或共享,且所述侦听消息的反馈结果指示所述侦听消息未引起所述第二远端节点的数据转发,则根据所述侦听消息的反馈结果和所述内存访问请求的反馈结果向所述第一远端节点发送所述事务请求的响应消息。
14.如权利要求12所述的节点控制器,其特征在于,在用于根据所述侦听消息的反馈结果和/或所述内存访问请求的反馈结果,向所述第一远端节点发送所述事务请求的响应消息,所述发送单元具体用于:
如果所述目录项的访问状态为所述第二远端节点对所述目录项所对应的系统内存的共享,且所述第一远端节点的内存访问类型为共享,且所述侦听消息的反馈结果指示所述侦听消息引起所述第二远端节点的数据转发,则根据所述侦听消息的反馈结果向所述第一远端节点发送所述事务请求的响应消息;或者
如果所述目录项的访问状态为所述第二远端节点对所述目录项所对应的系统内存的共享,且所述第一远端节点的内存访问类型为共享,且所述侦听消息的反馈结果指示所述侦听消息未引起所述第二远端节点的数据转发,则根据所述侦听消息的反馈结果和所述内存访问请求的反馈结果向所述第一远端节点发送所述事务请求的响应消息。
15.如权利要求12所述的节点控制器,其特征在于,在用于根据所述侦听消息的反馈结果和/或所述内存访问请求的反馈结果,向所述第一远端节点发送所述事务请求的响应消息,所述发送单元具体用于:
如果目录项的状态为所述第二远端节点对所述目录项所对应的系统内存的独占或共享,且所述第一远端节点的内存访问类型为无效,则根据所述侦听消息的反馈结果和所述内存访问请求的反馈结果向所述第一远端节点发送所述事务请求的响应消息;或者
如果目录项的状态为所述第二远端节点对所述目录项所对应的系统内存的共享,且所述第一远端节点的内存访问类型为独占,则根据所述侦听消息的反馈结果和所述内存访问请求的反馈结果向所述第一远端节点发送所述事务请求的响应消息。
16.一种多处理器系统的节点控制器,其特征在于,所述多处理器系统包括本地节点、第一远端节点和第二远端节点,所述本地节点包括所述节点控制器和所述多处理器系统的系统内存,所述节点控制器包括:
接收单元,用于接收所述第一远端节点发送的事务请求,所述事务请求携带所述第一远端节点准备访问的系统内存的地址信息和所述第一远端节点的系统内存访问类型;
获取单元,用于获取所述系统内存的地址信息在所述节点控制器的目录中对应的目录项的访问属性;
发送单元,用于根据所述目录项的访问属性向第二远端节点发送侦听消息,其中所述目录项的访问属性包含所述第二远端节点对所述目录项的对应的系统内存的访问状态;
所述发送单元还用于在所述获取单元获取所述目录项的访问属性和所述发送单元发送所述侦听消息的过程中并行向所述系统内存发送内存访问请求,所述内存访问请求中携带所述第一远端节点的系统内存访问类型;
所述发送单元还用于根据所述侦听消息的反馈结果和/或所述内存访问请求的反馈结果,向所述第一远端节点发送所述事务请求的响应消息。
17.如权利要求16所述的节点控制器,其特征在于,所述第二远端节点对所述目录项所对应的系统内存的访问状态包括:所述第二远端节点对所述目录项所对应的系统内存的独占或共享。
18.如权利要求17所述的节点控制器,其特征在于,在用于根据所述侦听消息的反馈结果和/或所述内存访问请求的反馈结果,向所述第一远端节点发送所述事务请求的响应消息,所述发送单元具体用于:
如果所述目录项的访问状态为所述第二远端节点对所述目录项所对应的系统内存的独占,且所述第一远端节点的内存访问类型为独占或共享,且所述侦听消息的反馈结果指示所述侦听消息引起所述第二远端节点的数据转发,则根据所述侦听消息的反馈结果向所述第一远端节点发送所述事务请求的响应消息;或者
如果所述目录项的访问状态为所述第二远端节点对所述目录项所对应的系统内存的独占,且所述第一远端节点的内存访问类型为独占或共享,且所述侦听消息的反馈结果指示所述侦听消息未引起所述第二远端节点的数据转发,则根据所述侦听消息的反馈结果和所述内存访问请求的反馈结果向所述第一远端节点发送所述事务请求的响应消息。
19.如权利要求17所述的节点控制器,其特征在于,在用于根据所述侦听消息的反馈结果和/或所述内存访问请求的反馈结果,向所述第一远端节点发送所述事务请求的响应消息,所述发送单元具体用于:
如果所述目录项的访问状态为所述第二远端节点对所述目录项所对应的系统内存的共享,且所述第一远端节点的内存访问类型为共享,且所述侦听消息的反馈结果指示所述侦听消息引起所述第二远端节点的数据转发,则根据所述侦听消息的反馈结果向所述第一远端节点发送所述事务请求的响应消息;或者
如果所述目录项的访问状态为所述第二远端节点对所述目录项所对应的系统内存的共享,且所述第一远端节点的内存访问类型为共享,且所述侦听消息的反馈结果指示所述侦听消息未引起所述第二远端节点的数据转发,则根据所述侦听消息的反馈结果和所述内存访问请求的反馈结果向所述第一远端节点发送所述事务请求的响应消息。
20.如权利要求17所述的节点控制器,其特征在于,在用于根据所述侦听消息的反馈结果和/或所述内存访问请求的反馈结果,向所述第一远端节点发送所述事务请求的响应消息,所述发送单元具体用于:
如果目录项的状态为所述第二远端节点对所述目录项所对应的系统内存的独占或共享,且所述第一远端节点的内存访问类型为无效,则根据所述侦听消息的反馈结果和所述内存访问请求的反馈结果向所述第一远端节点发送所述事务请求的响应消息;或者
如果目录项的状态为所述第二远端节点对所述目录项所对应的系统内存的共享,且所述第一远端节点的内存访问类型为独占,则根据所述侦听消息的反馈结果和所述内存访问请求的反馈结果向所述第一远端节点发送所述事务请求的响应消息。
21.一种多处理器系统,其特征在于,包括本地节点、第一远端节点和第二远端节点,所述本地节点包括所述多处理器系统的系统内存和如权利要求11至20任一项所述的节点控制器。
CN201310452176.6A 2013-09-27 2013-09-27 系统内存访问方法、节点控制器和多处理器系统 Active CN103500108B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310452176.6A CN103500108B (zh) 2013-09-27 2013-09-27 系统内存访问方法、节点控制器和多处理器系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310452176.6A CN103500108B (zh) 2013-09-27 2013-09-27 系统内存访问方法、节点控制器和多处理器系统

Publications (2)

Publication Number Publication Date
CN103500108A CN103500108A (zh) 2014-01-08
CN103500108B true CN103500108B (zh) 2016-08-10

Family

ID=49865323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310452176.6A Active CN103500108B (zh) 2013-09-27 2013-09-27 系统内存访问方法、节点控制器和多处理器系统

Country Status (1)

Country Link
CN (1) CN103500108B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899160B (zh) * 2015-05-30 2019-02-19 华为技术有限公司 一种缓存数据控制方法、节点控制器和系统
CN107025130B (zh) 2016-01-29 2021-09-03 华为技术有限公司 处理节点、计算机系统及事务冲突检测方法
CN107291653B (zh) * 2016-03-31 2020-06-16 华为技术有限公司 一种多处理器系统及配置多处理器系统的方法
CN107992357A (zh) * 2016-10-26 2018-05-04 华为技术有限公司 内存访问方法及多处理器系统
CN110059026B (zh) 2018-01-19 2021-06-29 华为技术有限公司 一种目录处理方法、装置及存储系统
CN118260304B (zh) * 2024-05-29 2024-08-13 山东云海国创云计算装备产业创新中心有限公司 基于缓存一致性目录的请求处理方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269390B1 (en) * 1996-12-17 2001-07-31 Ncr Corporation Affinity scheduling of data within multi-processor computer systems
CN101354682B (zh) * 2008-09-12 2010-12-15 中国科学院计算技术研究所 一种用于解决多处理器访问目录冲突的装置和方法
CN103020004A (zh) * 2012-12-14 2013-04-03 杭州华为数字技术有限公司 高速缓存非对称一致性内存访问系统的访问方法和装置
CN103049422A (zh) * 2012-12-17 2013-04-17 浪潮电子信息产业股份有限公司 一种具有多cache一致性域的多处理器节点系统构建方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6269390B1 (en) * 1996-12-17 2001-07-31 Ncr Corporation Affinity scheduling of data within multi-processor computer systems
CN101354682B (zh) * 2008-09-12 2010-12-15 中国科学院计算技术研究所 一种用于解决多处理器访问目录冲突的装置和方法
CN103020004A (zh) * 2012-12-14 2013-04-03 杭州华为数字技术有限公司 高速缓存非对称一致性内存访问系统的访问方法和装置
CN103049422A (zh) * 2012-12-17 2013-04-17 浪潮电子信息产业股份有限公司 一种具有多cache一致性域的多处理器节点系统构建方法

Also Published As

Publication number Publication date
CN103500108A (zh) 2014-01-08

Similar Documents

Publication Publication Date Title
CN103500108B (zh) 系统内存访问方法、节点控制器和多处理器系统
US11340672B2 (en) Persistent reservations for virtual disk using multiple targets
JP5006348B2 (ja) 応答出力キャッシュに対するマルチキャッシュ協調
CN104935654B (zh) 一种服务器集群系统中的缓存方法、写入点客户端和读客户端
US10235047B2 (en) Memory management method, apparatus, and system
WO2018107772A1 (zh) 写入请求处理方法、装置及设备
US8984332B2 (en) Active/passive database management across clusters
US9483493B2 (en) Method and system for accessing a distributed file system
CN103312624A (zh) 一种消息队列服务系统和方法
CN102073741A (zh) 一种实现文件读取和/或写入的方法以及数据服务器
CN106598692A (zh) 在逻辑卷中创建镜像文件、虚拟机启动方法及服务器
CN112130748A (zh) 一种数据访问方法、网卡及服务器
US11023291B2 (en) Synchronization between processes in a coordination namespace
CN105635310A (zh) 一种存储资源的访问方法及装置
CN108427728A (zh) 元数据的管理方法、设备及计算机可读介质
CN110188114A (zh) 一种数据操作的优化方法、装置、系统、设备和存储介质
CN109213604A (zh) 一种数据源的管理方法和装置
CN105630419B (zh) 一种资源池的分区视图发送方法及管理节点
US20150195140A1 (en) Apparatus and method for sharing data by using topology
CN103336671A (zh) 从网络中获取数据的方法和设备
US10810148B2 (en) Device interfacing
CN103488505B (zh) 补丁方法、设备及系统
CN109445966A (zh) 事件处理方法、装置、介质和计算设备
US9172729B2 (en) Managing message distribution in a networked environment
US7979393B2 (en) Multiphase topology-wide code modifications for peer-to-peer systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200420

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: 301, A building, room 3, building 301, foreshore Road, No. 310052, Binjiang District, Zhejiang, Hangzhou

Patentee before: Hangzhou Huawei Digital Technology Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211223

Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Patentee after: xFusion Digital Technologies Co., Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right