CN112074821A - 在数据处理网络中分离完成和数据响应,以实现更高的读取吞吐量和更低的链接利用率 - Google Patents

在数据处理网络中分离完成和数据响应,以实现更高的读取吞吐量和更低的链接利用率 Download PDF

Info

Publication number
CN112074821A
CN112074821A CN201980029895.2A CN201980029895A CN112074821A CN 112074821 A CN112074821 A CN 112074821A CN 201980029895 A CN201980029895 A CN 201980029895A CN 112074821 A CN112074821 A CN 112074821A
Authority
CN
China
Prior art keywords
node
slave
read
data
response
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.)
Granted
Application number
CN201980029895.2A
Other languages
English (en)
Other versions
CN112074821B (zh
Inventor
潘尼德拉·库马尔·马纳瓦
布鲁斯·詹姆斯·梅休森
詹姆师德·加拉
图沙尔·P·兰格
克拉斯·玛格努斯·布鲁斯
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.)
ARM Ltd
Original Assignee
ARM 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 ARM Ltd filed Critical ARM Ltd
Publication of CN112074821A publication Critical patent/CN112074821A/zh
Application granted granted Critical
Publication of CN112074821B publication Critical patent/CN112074821B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/082Associative directories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

在一种数据处理网络中,该数据处理网络包括经由相干互连而耦合的请求节点、主节点和从节点,主节点响应于来自请求节点的读取请求而执行读取事务。在第一实施例中,在接收到来自从节点的读取回执时,在主节点中终止事务,该读取回执确认来自主节点的读取请求。在第二实施例中,主节点向请求节点发送消息,该消息指示已经在主节点中对读取事务进行排序,并且还指示在单独的数据响应中提供用于读取事务的数据。在接收到来自请求节点的对该消息的确认时,在主节点中终止事务。以此方式,在主节点中终止事务,而无需等待来自请求节点的对事务完成的确认。

Description

在数据处理网络中分离完成和数据响应,以实现更高的读取 吞吐量和更低的链接利用率
背景技术
多处理器数据处理系统可以被布置为具有经由互连结构连接的各种类型的节点(例如,处理器、加速器、IO和存储器)的片上网络。在较高级别上,存在三种基本节点类型,即请求节点、主节点和从节点。请求节点(Request Node,RN)是生成协议事务的节点,包括对互连的读取和写入。这些节点可以是完全相干处理器或IO相干设备。主节点(Home Node,HN)是从RN接收协议事务的节点。系统中的每个地址均具有主节点,其充当对该地址的请求的相干点(Point-of-Coherency,PoC)和串行化点(Point of Serialization,PoS)。在典型的实现方式中,一系列地址的主节点被组合在一起作为主节点。这些主节点中的每一个可以包括系统级缓存和/或监听过滤器以减少冗余监听。
从节点(Slave Node,SN)是从HN接收并完成请求的节点。SN可以从外围或主存储器中使用。
来自共享数据资源的数据可以被多个不同的处理器访问,并且数据的副本可以被存储在本地缓存中以用于快速访问。缓存相干协议可以用于确保所有副本都是最新的。该协议可以涉及HN与具有被访问的数据的副本的RN交换监听消息(snoop message)。
HN可以用先到先服务(first-come,first-served)的方式来串行化对地址的访问。例如,可以保留对HN的指定设备和资源的访问,直到完成当前事务为止。这种方法的缺点是,HN资源的保留时间可能比必要的时间更长,这可能会对系统性能产生不利影响。
附图说明
附图提供了视觉表示,其将被用于更充分地描述各种代表性实施例,并且可以被本领域技术人员用来更好地理解所公开的代表性实施例及其固有优点。在这些附图中,相同的附图标记表示相应的元件。
图1是根据各种代表性实施例的数据处理系统的框图;
图2是用于在数据处理网络中进行常规数据访问的事务流程图;
图3-图5是根据各种代表性实施例的用于数据访问的事务流程图;以及
图6是说明根据各种代表性实施例的标识符在数据处理系统中的传输的框图。
具体实施方式
本文描述的各种装置和设备提供了用于在数据处理系统中自动路由和分配输入数据的机制。
尽管本公开易于以许多不同的形式实施,这在附图中示出,并且在此将在特定实施例中进行详细描述,但是应当理解,本公开将被视为本公开的原理的示例,并且不旨在将本公开限于所示出和描述的特定实施例。在下面的描述中,相同的附图标记用于描述附图的若干视图中的相同、相似或相应的部分。
在本文中,诸如第一和第二、顶部和底部等之类的关系术语可以仅用于将一个实体或动作与另一实体或动作区分开,而不必要求或暗示这种实体或动作之间的任何实际的这种关系或顺序。术语“包括”、“包含”或其任何其他变型旨在覆盖非排他性包含,使得包括一系列元素的过程、方法、物品或装置不仅仅包括那些元素,而是还可以包括未明确列出或这种过程、方法、物品或装置所固有的其他元素。在没有更多限制的情况下,以“包括…一个”开头的元素并不排除在组成该元素的过程、方法、物品或装置中存在附加相同的元素。
在整个文档中,对“一个实施例”、“某些实施例”、“实施例”或类似术语的引用意味着结合该实施例描述的特定特征、结构或特性包括在本公开的至少一个实施例中。因此,在整个说明书中这些短语的出现或在各个地方的出现不一定都指代同一实施例。此外,可以在一个或多个实施例中以任何合适的方式来组合特定特征、结构或特性,而没有限制。
本文所使用的术语“或”将被解释为包括或表示任何一个或任何组合。因此,“A、B或C”表示“以下各项中的任何一项:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元素、功能、步骤或动作的组合以某种方式固有地相互排斥时,才会出现该定义的例外情况。
为了图示的简洁和清楚,附图标记可以在附图之间重复以表示相应或相似的元件。阐述了许多细节以提供对本文描述的实施例的理解。可以在没有这些细节的情况下实践实施例。在其他情况下,没有详细描述公知的方法、过程和组件,以避免使所描述的实施例不清楚。该描述不应被视为限于本文描述的实施例。
本公开涉及一种在数据处理网络中分离用于数据获取操作的完成和数据响应的机制。所公开的机制减少了通过网络的数据分组跃点(hop)数,以较低的互连利用率提供了较高的请求吞吐量,并且还允许早期的资源分配。该机制的一个实施例支持针对读取事务的分离的数据和主节点响应。
在一种数据处理网络中,该数据处理网络包括经由相干互连而耦合的请求节点、主节点和从节点,主节点响应于来自请求节点的读取请求而执行读取事务。在第一实施例中,在接收到来自从节点的读取回执(read receipt)时,在主节点中终止事务,该读取回执确认来自主节点的读取请求。在第二实施例中,主节点向请求节点发送消息,该消息指示已经在主节点中对读取事务进行排序,并且还指示在单独的数据响应中提供用于读取事务的数据。在接收到来自请求节点的对该消息的确认时,在主节点中终止事务。以此方式,在主节点中终止事务,而无需等待来自请求节点的对事务完成的确认。
图1是根据各种代表性实施例的数据处理系统100的框图。多个处理核心集群102(称为请求节点(RN))经由相干互连104耦合到数据资源。经由输入/输出(I/O)请求节点(RN-I)来接收数据。在所示的示例中,RN-I 106a包括从网络108接收数据的网络接口控制器(NCI),并且RN-I106b从I/O设备112接收数据。例如,I/O设备112可以经由外围组件互连快速(PCIe)总线、直接存储器访问(DMA)单元或网络加速器进行耦合。数据可以存储在一个或多个存储器或存储设备114中,一个或多个存储器或存储设备114经由一个或多个存储器控制器116耦合到互连104。主节点(HN)118和120可以包括系统级缓存。每个主节点(HN)都用作存储在给定系统地址集处的数据的串行化点和/或相干点。主节点(HN-F)(例如,118)可以是本地资源的主节点。替代地,主节点(HN-I)(例如,120)可以提供到片外资源的接口。可以经由存储器控制器116从HN的系统级缓存或从存储器114检索由请求节点102请求的数据,以存储在存储器114中。该存储器控制器被称为从节点(SN)。
为了避免当多个RN尝试访问同一存储器位置时的冲突,主节点118充当串行化点,以串行方式(例如,先到先服务)来处理读取请求和其他事务。互连104用于在节点之间通过数据(DAT)信道来传输数据。另外,消息传递协议用于控制每个访问事务,其中请求和响应通过互连中的请求(REQ)和响应(RSP)信道发送。最后,“监听”消息通过互连中的SNP信道发送,以确保数据相干性。
本公开的一方面涉及一种在节点的硬件中实现的经改进的消息传递和数据传输机制,其提供了数据处理网络的经改进的性能和效率。
图2是用于在数据处理网络中进行常规数据访问的事务流程图。在图在图2中,垂直条202、204和206分别示出了请求节点(RN)、主节点(HN)和从节点(SN)的时间线,其中时间从上向下流动。在时间T1,RN向主节点发出针对读取地址的读取请求208。如果请求数据不在HN的缓存中,则将第一从读取请求210(表示为“ReadNoSnp”)发送到适当的SN,并且HN向RN发送第一响应消息(Resp)212以确认对请求的处理。SN将读取回执214发送到HN,并且然后将所请求的数据216发送到RN。所有通信都经由互连结构来传输。数据可以在互连上以多个数据节拍(data beat)传输到RN。一旦所请求的数据已经被RN接收,则完成确认(CompAck)消息从RN发送到HN。因此,对于RN,事务的持续时间为T1-T2,而对于HN,事务的持续时间为T3-T4。在时间段T3-T4期间,HN为事务(例如,跟踪器)分配资源。此外,HN抑制向RN发送针对在读取事务中访问的地址的监听消息。否则,例如,监听请求220可以在来自SN的数据到达之前到达RN。
如果所请求的数据存在于HN的缓存中,则将数据直接从HN发送到RN,并且不与SN交换消息。然而,HN在发送监听之前必须仍然等待CompAck响应218,因为数据和监听可以通过互连而采取不同的路径,由此监听在一些数据之前到达RN。
图3-图5是根据各种代表性实施例的用于在数据处理网络中进行数据访问的机制的事务流程图。下面的附图和相关联的讨论描述了示例事务中存在的事务结构和相关性。这些附图示出了具有分离的数据和主节点响应的事务的相关性。
图3是根据各种代表性实施例的在数据处理网络中进行数据访问的事务流程图。类似于图2,在图3中,垂直条302、304和306分别示出了请求节点(RN)、主节点(HN)和从节点(SN)的时间线,其中时间从上向下流动。在时间T1,RN向主节点发出针对读取地址的读取请求308。该请求指示(expCompAck=1)HN应该期望来自RN的完成确认(CompAck)消息。如果请求数据不在HN的缓存中,则将第一从读取请求310(ReadNoSnpSep)发送到适当的SN,并且HN向RN发送第一响应消息(RespSepData)312以确认对请求的处理。SN向HN发送读取回执314,并且然后在第二响应消息中将所请求的数据316发送到RN。然而,与图2所示的机制相反,RN在来自SN(或来自HN)的数据到达之前将CompAck 318发送到HN。当HN接收到CompAck 318时,它释放分配给读取事务的资源。HN的资源在时间段T6-T7中使用。该时间段被认为比图2中的时间段T3-T4更短。然而,一旦在HN中完成事务,则HN自由发送监听消息320,如果如此请求,则监听消息320在时间T4到达RN处。RN知道已经为(一个或多个)监听地址请求了数据,并且当RN已经接收到所有请求的数据时,则将对监听消息的响应322延迟到时间T5。如前所述,如果所请求的数据存在于HN的缓存中,则将数据直接从HN发送到RN,并且不与SN交换消息。
图3所示的机制减少了将HN的资源分配给读取事务的时间段,从而允许整体系统性能的提高。
图4是根据各种代表性实施例的用于在数据处理网络中进行数据访问的另一事务流程图。图4是图3的变型,在图4中,发出具有ExpCompAck=0的读取请求402,其指示HN不应期望来自RN的完成确认消息。由于HN不需要等待消息,因此,当从SN接收到读取回执314时,HN对读取事务的处理将在时间T6终止。这种读取请求涉及非相干存储器,并且也不需要维护任何程序顺序。
图3和图4示出了用于在数据处理网络中执行读取事务的方法的实施例。数据处理网络的请求节点发送读取请求以读取与第一地址相关联的数据。读取请求经由相干互连而发送到数据处理网络的主节点,其中主节点为与第一地址相关联的数据提供点相干性。请求节点接收响应于读取请求而从主节点发送的RespSepData消息。第一响应消息(RespSepData)指示已经在主节点中对读取事务进行排序,并且在单独的数据响应中提供了用于读取事务的数据。请求节点接收第二响应消息(DataSepResp),该第二响应消息(DataSepResp)包括与第一地址相关联的数据。第二响应消息(DataSepResp)指示仅提供数据,并且请求节点还将接收来自主节点的单独响应。当与第一地址相关联的数据存在于主节点的系统缓存中时,从主节点发送第二响应消息(DataSepResp),而当与第一地址相关联的数据不存在于主节点的系统缓存中时,从从节点发送第二响应消息(DataSepResp)。
可以在相干互连的请求(REQ)信道上发送读取请求,在响应(RSP)信道上发送RespSepData消息,并且在数据(DAT)信道上发送DataSepResp消息。
在图3所示的实施例中,响应于请求节点从主节点接收到RespSepData消息,请求节点向主节点发送完成确认消息(CompAck)。响应于从请求节点接收到第一CompAck消息,主节点终止读取事务,其中终止该事务包括释放分配给该事务的主节点的资源,并允许针对第一地址处的数据的监听消息到请求节点。
当所请求的数据不存在于主节点处(例如,在系统缓存中)时,主节点向从节点发送第一从读取请求(ReadNoSnpSep),该ReadNoSnpSep请求指示从节点应当仅向请求节点发送数据响应,其中ReadNoSnpSep请求在相干互连的REQ信道上发送。然后,从节点向主节点发送读取回执。
在图4所示的实施例中,主节点响应于接收到来自从节点的读取回执而终止读取事务,其中,再次终止该读取事务包括释放分配给该事务的主节点的资源,并允许针对第一地址处的数据的监听消息到请求节点。
图5是根据各种代表性实施例的用于在数据处理网络中进行数据访问的另一事务流程图。如在图4中,发出具有ExpCompAck=0的读取请求402,其指示HN不应期望来自RN的CompAck消息。同样,由于HN不需要等待消息,因此,当从SN接收到读取回执314时,HN对读取事务的处理将在时间T6终止。然而,在图3和图4中,HN向RN发送RespSepData消息312,并且向SN发送从读取请求(ReadNoSnpSep)502消息,指示SN应当发送单独的回执(314)和数据(316)响应。在图5中,HN不向RN发送RespSepData消息。相反,SN向RN发送CompData消息504以提供所请求的数据并且确认事务的完成。
因此,图5示出了用于在数据处理网络中执行读取事务的方法的实施例,其中请求节点发送读取请求以读取与第一地址相关联的数据。读取请求经由相干互连而发送到数据处理网络的主节点,其中主节点为与第一地址相关联的数据提供点相干性。作为响应,主节点向从节点发送ReadNoSnp请求,该ReadNoSnp请求指示从节点应当仅向请求节点发送数据响应,其中例如,ReadNoSnp请求在相干互连的REQ信道上发送。作为响应,从节点将读取回执发送回主节点。另外,从节点向请求节点发送包括与第一地址相关联的数据的CompData消息。该消息还指示读取事务的完成。例如,可以在相干互连的数据(DAT)信道上发送CompData消息。响应于接收到来自从节点的读取回执,主节点终止主节点中的读取事务。
在以上描述中,已经描述了用于读取事务的示例机制。这些机制可以用于所有Read*事务。该机制可能不适用于所有读取事务,然而,常规机制可以用于原子事务、具有排他性的读取事务或不具有完成确认(CompAck)响应的有序读取事务。
如上所述,将若干新消息添加到现有协议以支持新机制,即:
●DataSepResp:不具有完成(Comp)响应的数据:
○指示提供仅数据,并且请求者还将接收到来自主节点的单独响应。
○由从节点或主节点发送。
○在数据(DAT)信道上发送。可以扩展数据操作码字段以允许附加操作码(例如,0xB,在这种情况下,数据操作码字段被扩展4位)。
●RespSepData:针对读取请求的不具有数据的Comp响应:
○指示已经在主节点处对事务进行排序。在单独的数据响应中提供针对事务的数据。
○从主节点发送。
○在响应(RSP)信道上发送,操作码0xB。
●ReadNoSnpSep—用于告诉完成者仅发送数据响应的请求。
○请求是从主节点(HN-F或HN-I)到从节点(SN-F或SN-I)的。
○在REQ信道上发送,操作码为0x11。
○请求的有序字段必须设置为01。
■如果主节点接收到来自从节点的RetryAck响应,则可能是因为没有足够的资源来处理请求。在这种情况下,当接收到适当的信用时,主节点可以重试事务。替代地,RetryAck响应可以指示从节点不支持ReadNoSnpSep请求或者由于任何其他时间原因而不能处理这种请求。在这种情况下,主节点在接收到来自从节点的适当的信用之后重新发送请求时,可以发送ReadNoSnp请求而不是ReadNoSnpSep请求。
○从节点必须向主节点提供ReadReceipt响应并映射:
■对ReadReceipt响应中的TgtID的请求中的SrcID。
■对ReadReceipt响应中的TxnID的请求中的TxnID。
○从节点必须向由请求中的ReturnNID标识的节点提供DataSepResp响应,其可能是原始请求者或主节点(通过映射):
■对DataSepResp响应中的TgtID的请求中的ReturnNID。
■对DataSepResp响应中的TxnID的请求中的ReturnTxnID。
消息在数据处理网络中使用,该数据处理网络包括经由相干互连而耦合的请求节点、主节点和从节点。请求节点被配置为发送读取请求以读取与第一地址相关联的数据,其中,将读取请求经由相干互连发送到主节点,其中主节点为与第一地址相关联的数据提供点相干性。请求节点还被配置为接收响应于读取请求而从主节点发送的RespSepData消息,RespSepData消息指示已经在主节点中对读取事务进行排序,并且还指示在单独的数据响应中提供了用于读取事务的数据。在请求节点处接收DataSepResp中的数据,DataSepResp消息指示提供了数据,并且请求节点还将接收来自主节点的单独响应。当与第一地址相关联的数据存在于主节点的系统缓存中时,从主节点发送DataSepResp消息,并且当与第一地址相关联的数据不存在于主节点的系统缓存中时,从从节点发送DataSepResp消息。
相干互连可以包括请求(REQ)信道、响应(RSP)信道和数据(DAT)信道,在这种情况下,读取请求是在REQ信道上发送的,RespSepData消息是在RSP信道上发送的并且DataSepResp消息是在DAT信道上发送的。
请求节点还可以响应于请求节点从主节点接收到RespSepData消息而向主节点发送第一CompAck确认消息,以及响应于请求节点接收到DataSepResp消息而向主节点发送第二CompAck确认消息。
主节点可以被配置为响应于从请求节点接收到第一CompAck消息而终止主节点中的读取事务,其中,终止该读取事务包括释放分配给该事务的主节点的资源,并允许针对第一地址处的数据的监听消息到请求节点。
主节点可以响应于来自请求节点的读取请求而向从节点发送ReadNoSnpSep请求,该ReadNoSnpSep请求指示从节点应当仅向请求节点发送数据响应。可以在相干互连的REQ信道上发送ReadNoSnpSep请求。然后,主节点接收来自从节点的读取回执,该读取回执由从节点响应于ReadNoSnpSep请求而生成。
主节点可以响应于接收到来自从节点的读取回执而在主节点中终止读取事务,其中终止该读取事务包括释放分配给该事务的主节点的资源,并允许针对第一地址处的数据的监听消息到请求节点。
图3示出了具有单独的Comp和数据响应的读取事务的结构的示例。要注意的是,允许(但不是必需)CompAck响应来等待DataSepResp,除非在有序ReadOnce/ReadNoSnp请求使用CompAck的情况下,才需要等待DataSepResp。
请求/响应规则是:
●DataSepResp和RespSepData必须仅在接收到相关联的请求之后才由完成者发送。RespSepData仅允许来自主节点。从节点或主节点允许发送DataSepResp。
●CompAck确认必须仅在接收到RespSepData响应之后才由请求者发送。
○允许但不要求请求者在发送CompAck确认之前等待接收任何或所有的数据。
○对于具有排序要求的ReadOnce和ReadNoSnp请求,要求在发送CompAck确认之前等待至少一个数据响应被接收。
●要求完成者在发送所有数据分组之前不必等待CompAck。
●ReadNoSnpSep必须仅在接收到相关联的请求之后才由主节点发送到从节点。
●从节点必须仅在接收到ReadNoSnpSep并确保它不会对该请求的RetryAck响应之后,才将ReadReceipt响应发送到主节点。RetryAck是通知发件人其请求未被接受的否定确认,并且如果他们希望的话,则应当在从完成者接收到适当的资源信用之后,重新发送该请求。
●来自从节点的ReadReceipt足以向主节点指示对从节点的请求已完成;从从节点到主节点的单独Comp响应不是必需的,并且也不必被发送。
●对于具有排序要求的ReadOnce和ReadNoSnp事务,该排序要求包括单独的Comp和数据响应,主节点不得发送ReadReceipt响应。来自主节点的RespSepData响应包括隐式ReadReceipt。
在所有情况下,其中可以使用单独的数据响应和主节点响应,然而还允许使用如图5所示的组合CompData响应。
缓存状态。使用DataSepResp或CompData响应,读取事务的缓存状态始终与Resp字段中的数据一起提供。
允许来自主节点的RespSepData早期响应可选地包括缓存状态信息,如下所示:
●如果发送的RespSepData响应中未包括状态信息,则必须将Resp字段设置为全零,这与I状态的编码相同。
●如果RespSepData响应中包括缓存状态信息,则必须将Resp字段设置为适当的缓存状态。要求DataSepResp响应中包括的缓存状态信息相同。
全局观察。当请求者接收到第一DataSepResp时,它可以认为读取事务是全局观察到的,因为没有可以修改接收到的读取数据的操作。主节点必须确保在启动事务(例如,ReadNoSnpSep)之前完成所有必需的监听事务,这可能导致将DataSepResp响应提供给请求者。无法保证与RespSepData响应相关联的全局可观察性。
当请求者从主节点接收到RespSepData响应时,其所适用的请求已经在主节点处进行了排序,并且请求者将不会接收到针对其之前调度的事务的任何监听。主节点必须确保没有监听事务对于到同一地址的该请求者而言是未完成的。RespSepData的接收还保证,如果需要的话,当前请求之后到同一地址的任何请求仅在发送CompAck之后才发送监听。
当请求者给出CompAck确认时,该请求者指示针对其之后调度的任何事务,其将承担监听危险的责任。适用以下规则:
●对于所有事务,除了下面将立即描述的以外,必须在接收到RespSepData响应之后给出CompAck确认。在给出CompAck确认之前,允许(但不是必需)等待DataSepResp响应。
●对于具有排序要求(Order=10/11)和断言的ExpCompAck字段的ReadOnce/ReadNoSnp事务,要求仅在接收到DataSepResp和RespSepData响应两者之后才给出CompAck确认。
要注意的是,如果仅接收到DataSepResp,则本规范要求不得给出CompAck。请求者必须等待接收到RespSepData。
ReadOnce和ReadNoSnp。要求所有完全相干的读取事务(即,ReadClean、ReadNotSharedDirty、ReadShared和ReadUnique)必须断言ExpCompAck并将排序字段设置为零。
ReadOnce和ReadNoSnp事务的行为将取决于排序要求以及ExpCompAck行为。
要注意的是,当使用有序ReadOnce和ReadNoSnp时,需要CompAck,以便主节点可以确定何时全局可见该读取。
下表1详细列出了ReadOnce和ReadNoSnp事务的预期行为和允许行为。
表1.ReadOnce和ReadNoSnp事务的允许行为
Figure BDA0002757171450000121
Figure BDA0002757171450000131
该公开的机制允许从数据的接收中解除链接读取事务的可观察性。这允许主节点尽早释放危险和其他事务资源。对于不相干的请求,它甚至通过以下方式而更进一步:不需要在从存储器控制器接收到“接受确认”消息之后立即保留资源或危险,而不是等待存储器控制器以从存储器控制器中读取数据并将其发送给主设备。
这种类型的事务流优化允许以最小的开销最优地利用主节点资源。而且,由于互连尺寸以及由此增加的数据分组遍历等待时间不需要按比例增加主节点资源,因此这很好地对系统尺寸进行了缩放。
如上所述,通过主节点的请求吞吐量被极大地优化。
本公开的另一方面涉及对不需要的CompAck消息的处理。在RN请求无序ReadOnce访问导致ReadNoSnp的操作中,事务流允许CompAck响应。然而,功能正确性不需要响应。在一个实施例中,为了简化读取处理逻辑,无论是否允许CompAck,所有读取操作都包括CompAck消息。在这种情况下,在早期释放主资源的某些情况下,CompAck响应可能会在从主节点删除了对相应请求的所有了解之后到达主节点。这种情况可以以多种方式处理。例如,在一个实施例中,包括请求的源和事务ID的部分信息被保留以使得能够识别CompAck所有者,而所有其他信息被删除。在替代实施例中,所有请求信息被丢弃,并且计数器被保留在HN处以追踪将接收到多少“孤立的”CompAck响应。每当从从节点接收到ReadReceipt时,该计数器就会递增,并且每当从RN接收到孤立的CompAck时,该计数器就会递减。对于本领域普通技术人员而言其他方法将是显而易见的。
图6是说明根据各种代表性实施例的标识符在数据处理系统600中的传输的框图。图6示出了由请求节点602到主节点604的读取请求,该主节点604由从节点606服务。标识符608包括源标识符(SrcID)和事务标识符(TxnID),其在读取请求610中发送到主节点604并存储为标识符612。主节点604通过将SrcID映射到返回节点标识符(RetNID)并将TxnID映射到返回事务标识符(RetTxnID)来生成标识符614。这些标识符在ReadNoSnpSep请求616中发送到从节点606,并在从节点处保存为标识符618。标识符620包括从SrcID映射的目标标识符(TgtID)和事务标识符TxnID。在ReadReceipt 622中将这些标识符发送回主节点,以使主节点能够将回执与请求相关联。主节点604分配数据缓冲区标识符(DBID),该DBID与在RspSepData消息626中发送的SrcID和TxnID形式标识符624一起返回到请求节点602,并提供标识符628。作为响应,请求节点602在CompAck消息632中将标识符630发回到主节点。在接收到CompAck消息632时,主节点处的事务完成。从节点606单独地在DataSepResp消息636中将标识符634(和所请求的数据)发送到请求节点。标识符638中的接收到的事务ID(TxnID)使得请求节点能够将接收到的数据与原始读取请求相关联。
本领域技术人员将认识到,已经根据示例性实施例描述了本公开。可以使用诸如专用硬件和/或专用处理器之类的硬件组件等效物来实现本公开,其等效于所描述和要求保护的本公开。类似地,可以使用专用处理器和/或专用硬连线逻辑来构造本公开的替代等效实施例。
用于实现所公开机制的专用或可重新配置的硬件组件可以通过硬件描述语言的指令或组件和连接性的网表来描述。指令或网表可以存储在非暂态计算机可读介质上,例如电可擦除可编程只读存储器(EEPROM);非易失性存储器(NVM);大容量存储装置,例如硬盘驱动器、软盘驱动器、光盘驱动器;光学存储元件、磁性存储元件、磁光存储元件、闪存、核心存储器和/或在不背离本公开的情况下的其他等效的存储技术。这种替代存储设备应当被视为等效物。
本文描述的各种实施例是使用专用硬件、可配置硬件或执行程序指令的编程处理器来实现的,这些程序指令以流程图的形式被广泛地描述,这些程序指令可以被存储在任何合适的电子存储介质上或通过任何合适的电子通信介质来传输。可以使用这些元素的组合。本领域技术人员将理解,在不脱离本公开的情况下,可以以任何数量的变型来实现上述过程和机制。例如,在不脱离本公开的情况下,通常可以改变所执行的某些操作的顺序,可以添加附加操作或可以删除操作。这样的变化被考虑并且被认为是等同的。
本文已经详细描述的各种代表性实施例已经通过示例而非限制性的方式呈现。本领域技术人员将理解,可以对所描述的实施例的形式和细节进行各种改变,从而产生保持在本公开的范围内的等同实施例。
因此,在以下编号项目中列出了所公开的实施例的一些方面和特征:
1.一种用于在数据处理网络中执行读取事务的方法,该方法包括:数据处理网络的请求节点发送用于读取与第一地址相关联的数据的读取请求,其中,将读取请求经由相干互连被发送到数据处理网络的主节点,其中,主节点为与第一地址相关联的数据提供点相干性;请求节点接收响应于读取请求而从主节点发送的第一响应消息,第一响应消息指示已经在主节点中对读取事务进行了排序,并且还指示在单独的数据响应中提供用于读取事务的数据;以及请求节点接收第二响应消息,该第二响应消息包括与第一地址相关联的数据,第二响应消息指示仅提供数据,并且请求节点还将接收来自主节点的单独响应,其中,当与第一地址相关联的数据存在于主节点的系统缓存中时,从主节点发送第二响应消息,并且其中,当与第一地址相关联的数据不存在于主节点的系统缓存中时,从从节点发送第二响应消息。
2.根据项目1所述的方法,其中:将读取请求发送到主节点包括在相干互连的请求信道上发送读取请求,接收第一响应消息包括在相干互连的响应信道上接收第一响应消息,以及接收第二响应消息包括在相干互连的数据信道上接收第二响应消息。
3.根据项目1所述的方法,还包括:响应于请求节点接收到来自主节点的第一响应消息,请求节点向主节点发送完成确认消息。
4.根据项目3所述的方法,还包括:响应于接收到来自请求节点的完成确认消息,在主节点中终止读取事务,其中,终止该事务包括释放分配给该事务的主节点的资源,并允许针对第一地址处的数据的监听消息到请求节点。
5.根据前述项目中任一项所述的方法,还包括:响应于读取请求,主节点向从节点发送第一从读取请求,第一从读取请求指示从节点应当向请求节点发送仅数据响应,其中,在相干互连的请求信道上发送第一从读取请求;响应于第一从读取请求,从节点向主节点发送读取回执。
6.根据项目5所述的方法,还包括:响应于接收到来自从节点的读取回执,在主节点中终止读取事务,其中,终止该读取事务包括释放分配给该事务的主节点的资源,并允许针对第一地址处的数据的监听消息到请求节点。
7.根据项目5或项目6所述的方法,其中,第一从读取请求包括源标识符和事务标识符,该方法还包括:从节点将第一从读取请求中的源标识符映射到读取回执中的目标标识符;以及从节点将第一从读取请求中的目标标识符映射到读取回执中的事务标识符。
8.根据项目5至7中任一项所述的方法,还包括:当第一从读取请求不能完成时,从节点向主节点发送否定确认消息;当从节点支持第一从读取请求时,在已经接收到来自从节点的适当的信用时,主节点向从节点发送另一第一从读取请求,以及当从节点不能处理第一从读取请求时,主节点向从节点发送第二从读取请求,该第二从读取请求指示从节点不应当向请求节点发送单独响应消息。
9.根据项目5所述的方法,还包括:从节点将从读取请求中的返回节点标识符映射到第二响应消息中的目标标识符;以及从节点将从读取请求中的返回事务标识符映射到第二响应消息中的事务标识符。
10.一种用于在数据处理网络中执行读取事务的方法,该方法包括:数据处理网络的请求节点发送用于读取与第一地址相关联的数据的读取请求,其中,读取请求经由相干互连被发送到数据处理网络的主节点,其中,主节点为与第一地址相关联的数据提供点相干性;响应于读取请求,主节点向从节点发送从读取请求,从读取请求指示从节点应当向请求节点发送仅数据响应,其中,在相干互连的请求信道上发送从读取请求;响应于从读取请求,从节点向主节点发送读取回执;以及从节点向请求节点发送数据完成消息,该数据完成消息包括与第一地址相关联的数据,并指示读取事务的完成,其中,在相干互连的数据信道上发送数据完成消息。
11.根据项目10所述的方法,还包括:响应于接收到来自从节点的读取回执,在主节点中终止读取事务,其中,终止该读取事务包括释放分配给该事务的主节点的资源,并允许针对第一地址处的数据的监听消息到请求节点。
12.一种数据处理网络,包括:经由相干互连而耦合的请求节点、主节点和从节点,其中,请求节点被配置为执行包括以下各项的方法:发送用于读取与第一地址相关联的数据的读取请求,其中,读取请求经由相干互连被发送到主节点,其中,主节点为与第一地址相关联的数据提供点相干性;接收响应于读取请求而从主节点发送的第一响应消息,第一响应消息指示已经在主节点中对读取事务进行了排序,并且还指示在单独的数据响应中提供用于读取事务的数据;以及接收第二响应消息,该第二响应消息包括与第一地址相关联的数据,第二响应消息指示提供了数据,并且请求节点还将接收到来自主节点的单独响应;其中,当与第一地址相关联的数据存在于主节点的系统缓存中时,从主节点发送第二响应消息,并且其中,当与第一地址相关联的数据不存在于主节点的系统缓存中时,从从节点发送第二响应消息。
13.根据项目12所述的数据处理网络,其中,相干互连包括请求信道、响应信道和数据信道,并且其中,读取请求是在请求信道上发送的,第一响应消息是在响应信道上发送的以及第二响应消息是在数据信道上发送的。
14.根据项目12或项目13所述的数据处理网络,其中,由请求节点执行的方法还包括:响应于请求节点接收到来自主节点的第一响应消息,向主节点发送完成确认消息。
15.根据项目14所述的数据处理网络,其中,主节点被配置为执行包括以下各项的方法:响应于接收到来自请求节点的完成确认消息,在主节点中终止读取事务,其中,终止该读取事务包括释放分配给该事务的主节点的资源,并允许针对第一地址处的数据的监听消息到请求节点。
16.根据项目12至15中任一项所述的数据处理网络,其中,主节点被配置为执行包括以下各项的方法:响应于来自请求节点的读取请求,向从节点发送从读取请求,从读取请求指示从节点应当向请求节点发送仅数据响应,其中,从读取请求是在相干互连的请求信道上发送的;以及接收来自从节点的读取回执,读取回执是由从节点响应于从读取请求而生成的。
17.根据项目16所述的数据处理网络,其中,由主节点执行的方法还包括:响应于接收到来自从节点的读取回执,在主节点中终止读取事务,其中,终止该读取事务包括释放分配给该事务的主节点的资源,并允许针对第一地址处的数据的监听消息到请求节点。
18.根据项目12至17中任一项所述的数据处理网络,形成在单个芯片上。
19.一种非暂态计算机可读介质,包括描述根据项目12至18中任一项所述的数据处理网络的硬件描述语言的指令。
20.一种非暂态计算机可读介质,存储根据项目12至19中任一项所述的数据处理网络的组件和连接性的网表。

Claims (20)

1.一种用于在数据处理网络中执行读取事务的方法,所述方法包括:
所述数据处理网络的请求节点发送用于读取与第一地址相关联的数据的读取请求,其中,所述读取请求经由相干互连被发送到所述数据处理网络的主节点,其中,所述主节点为与所述第一地址相关联的数据提供点相干性;
所述请求节点接收响应于所述读取请求而从所述主节点发送的第一响应消息,所述第一响应消息指示已经在所述主节点中对读取事务进行了排序,并且还指示在单独的数据响应中提供用于所述读取事务的数据;以及
所述请求节点接收第二响应消息,所述第二响应消息包括与所述第一地址相关联的数据,所述第二响应消息指示仅提供所述数据并且所述请求节点还将接收来自主节点的单独响应,
其中,当与所述第一地址相关联的数据存在于所述主节点的系统缓存中时,从所述主节点发送所述第二响应消息,并且
其中,当与所述第一地址相关联的数据不存在于所述主节点的系统缓存中时,从从节点发送所述第二响应消息。
2.根据权利要求1所述的方法,其中:
将所述读取请求发送到所述主节点包括在所述相干互连的请求信道上发送所述读取请求,
接收所述第一响应消息包括在所述相干互连的响应信道上接收所述第一响应消息,以及
接收所述第二响应消息包括在所述相干互连的数据信道上接收所述第二响应消息。
3.根据权利要求1或权利要求2所述的方法,还包括:
响应于所述请求节点接收到来自所述主节点的所述第一响应消息,所述请求节点向所述主节点发送完成确认消息。
4.根据权利要求3所述的方法,还包括:
响应于接收到来自所述请求节点的所述完成确认消息,在所述主节点中终止所述读取事务,
其中,终止所述事务包括释放分配给所述事务的所述主节点的资源,并允许针对所述第一地址处的数据的监听消息到所述请求节点。
5.根据前述权利要求中任一项所述的方法,还包括:
响应于所述读取请求,所述主节点向所述从节点发送第一从读取请求,所述第一从读取请求指示所述从节点应当向所述请求节点发送仅数据响应,其中,在所述相干互连的请求信道上发送所述第一从读取请求;
响应于所述第一从读取请求,所述从节点向所述主节点发送读取回执。
6.根据权利要求5所述的方法,还包括:
响应于接收到来自所述从节点的所述读取回执,在所述主节点中终止所述读取事务,
其中,终止所述读取事务包括释放分配给所述事务的所述主节点的资源,并允许针对所述第一地址处的数据的监听消息到所述请求节点。
7.根据权利要求5或权利要求6所述的方法,其中,所述第一从读取请求包括源标识符和事务标识符,所述方法还包括:
所述从节点将所述第一从读取请求中的所述源标识符映射到所述读取回执中的目标标识符;以及
所述从节点将所述第一从读取请求中的目标标识符映射到所述读取回执中的事务标识符。
8.根据权利要求5至7中任一项所述的方法,还包括:
当所述第一从读取请求不能完成时,所述从节点向所述主节点发送否定确认消息;
当所述从节点支持第一从读取请求时,在已经接收到来自所述从节点的适当的信用时,所述主节点向所述从节点发送另一第一从读取请求,以及
当从所述节点不能处理所述第一从读取请求时,所述主节点向所述从节点发送第二从读取请求,所述第二从读取请求指示所述从节点不应当向所述请求节点发送单独响应消息。
9.根据权利要求5所述的方法,还包括:
所述从节点将所述从读取请求中的返回节点标识符映射到所述第二响应消息中的目标标识符;以及
所述从节点将所述从读取请求中的返回事务标识符映射到所述第二响应消息中的事务标识符。
10.一种用于在数据处理网络中执行读取事务的方法,所述方法包括:
所述数据处理网络的请求节点发送用于读取与第一地址相关联的数据的读取请求,其中,所述读取请求经由相干互连被发送到所述数据处理网络的主节点,其中,所述主节点为与所述第一地址相关联的数据提供点相干性;
响应于所述读取请求,所述主节点向从节点发送从读取请求,所述从读取请求指示所述从节点应当向所述请求节点发送仅数据响应,其中,在所述相干互连的请求信道上发送所述从读取请求;
响应于所述从读取请求,所述从节点向所述主节点发送读取回执;以及
所述从节点向所述请求节点发送数据完成消息,所述数据完成消息包括与所述第一地址相关联的数据,并指示所述读取事务的完成,其中,在所述相干互连的数据信道上发送所述数据完成消息。
11.根据权利要求10所述的方法,还包括:
响应于接收到来自所述从节点的所述读取回执,在所述主节点中终止所述读取事务,
其中,终止所述读取事务包括释放分配给所述事务的所述主节点的资源,并允许针对所述第一地址处的数据的监听消息到所述请求节点。
12.一种数据处理网络,包括:经由相干互连而耦合的请求节点、主节点和从节点,其中,所述请求节点被配置为执行包括以下各项的方法:
发送用于读取与第一地址相关联的数据的读取请求,其中,所述读取请求经由所述相干互连被发送到所述主节点,其中,所述主节点为与所述第一地址相关联的数据提供点相干性;
接收响应于所述读取请求而从所述主节点发送的第一响应消息,所述第一响应消息指示已经在所述主节点中对读取事务进行了排序,并且还指示在单独的数据响应中提供用于所述读取事务的数据;以及
接收第二响应消息,所述第二响应消息包括与所述第一地址相关联的数据,所述第二响应消息指示提供所述数据并且所述请求节点还将接收到来自所述主节点的单独响应;
其中,当与所述第一地址相关联的数据存在于所述主节点的系统缓存中时,从所述主节点发送所述第二响应消息,并且
其中,当与所述第一地址相关联的数据不存在于所述主节点的系统缓存中时,从从节点发送所述第二响应消息。
13.根据权利要求12所述的数据处理网络,其中,所述相干互连包括请求信道、响应信道和数据信道,并且其中,所述读取请求是在所述请求信道上发送的,所述第一响应消息是在所述响应信道上发送的,并且所述第二响应消息是在所述数据信道上发送的。
14.根据权利要求12或权利要求13所述的数据处理网络,其中,由所述请求节点执行的方法还包括:
响应于所述请求节点接收到来自所述主节点的所述第一响应消息,向所述主节点发送完成确认消息。
15.根据权利要求14所述的数据处理网络,其中,所述主节点被配置为执行包括以下各项的方法:
响应于接收到来自所述请求节点的所述完成确认消息,在所述主节点中终止所述读取事务,
其中,终止所述读取事务包括释放分配给所述事务的所述主节点的资源,并允许针对所述第一地址处的数据的监听消息到所述请求节点。
16.根据权利要求12至15中任一项所述的数据处理网络,其中,所述主节点被配置为执行包括以下各项的方法:
响应于来自所述请求节点的所述读取请求,向所述从节点发送从读取请求,所述从读取请求指示所述从节点应当向所述请求节点发送仅数据响应,其中,所述从读取请求是在所述相干互连的请求信道上发送的;以及
接收来自所述从节点的读取回执,所述读取回执是由所述从节点响应于所述从读取请求而生成的。
17.根据权利要求16所述的数据处理网络,其中,由所述主节点执行的方法还包括:
响应于接收到来自所述从节点的所述读取回执,在所述主节点中终止所述读取事务,
其中,终止所述读取事务包括释放分配给所述事务的所述主节点的资源,并允许针对所述第一地址处的数据的监听消息到所述请求节点。
18.根据权利要求12至17中任一项所述的数据处理网络,形成在单个芯片上。
19.一种非暂态计算机可读介质,包括描述根据权利要求12至18中任一项所述的数据处理网络的硬件描述语言的指令。
20.一种非暂态计算机可读介质,存储根据权利要求12至19中任一项所述的数据处理网络的组件和连接性的网表。
CN201980029895.2A 2018-05-03 2019-05-02 在数据处理网络中执行读取事务的方法、装置和介质 Active CN112074821B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862666264P 2018-05-03 2018-05-03
US62/666,264 2018-05-03
US16/027,929 US10613996B2 (en) 2018-05-03 2018-07-05 Separating completion and data responses for higher read throughput and lower link utilization in a data processing network
US16/027,929 2018-07-05
PCT/GB2019/051214 WO2019211608A1 (en) 2018-05-03 2019-05-02 Separating completion and data responses for higher read throughput and lower link utilization in a data processing network

Publications (2)

Publication Number Publication Date
CN112074821A true CN112074821A (zh) 2020-12-11
CN112074821B CN112074821B (zh) 2023-08-22

Family

ID=68385234

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980029895.2A Active CN112074821B (zh) 2018-05-03 2019-05-02 在数据处理网络中执行读取事务的方法、装置和介质

Country Status (5)

Country Link
US (1) US10613996B2 (zh)
EP (1) EP3788492B1 (zh)
KR (1) KR20210002668A (zh)
CN (1) CN112074821B (zh)
WO (1) WO2019211608A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115297144A (zh) * 2022-07-29 2022-11-04 中汽创智科技有限公司 节点数据交互方法和装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GR20180100189A (el) 2018-05-03 2020-01-22 Arm Limited Δικτυο επεξεργασιας δεδομενων με συμπυκνωση ροης για μεταφορα δεδομενων μεσω streaming
US11256646B2 (en) * 2019-11-15 2022-02-22 Arm Limited Apparatus and method for handling ordered transactions

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0817076A1 (en) * 1996-07-01 1998-01-07 Sun Microsystems, Inc. A multiprocessing computer system employing local and global address spaces and multiple access modes
EP0818732A2 (en) * 1996-07-01 1998-01-14 Sun Microsystems, Inc. Hybrid memory access protocol in a distributed shared memory computer system
CN1264080A (zh) * 1998-12-17 2000-08-23 国际商业机器公司 具有共享干预支持的非均匀存贮器存取(numa)数据处理系统
DE69826016D1 (de) * 1997-09-24 2004-10-07 Bell Canada Montreal Verfahren und gerät zur dynamischen routing von anrufen in einem intelligenten netzwerk
US20050160132A1 (en) * 2004-01-15 2005-07-21 Van Doren Stephen R. Transaction references for requests in a multi-processor network
CN1703878A (zh) * 2002-11-29 2005-11-30 国际商业机器公司 数据处理系统
CN1778090A (zh) * 2003-06-19 2006-05-24 思科技术公司 用于在cdma2000无线ip网络中优化资源管理的方法和装置
US20100005246A1 (en) * 2008-07-07 2010-01-07 Beers Robert H Satisfying memory ordering requirements between partial reads and non-snoop accesses
CN104620231A (zh) * 2012-08-17 2015-05-13 华为技术有限公司 有序和无序网络的缓存相干握手协议

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7234029B2 (en) * 2000-12-28 2007-06-19 Intel Corporation Method and apparatus for reducing memory latency in a cache coherent multi-node architecture
US6654857B2 (en) * 2001-06-21 2003-11-25 International Business Machines Corporation Non-uniform memory access (NUMA) computer system having distributed global coherency management
GB2525577A (en) * 2014-01-31 2015-11-04 Ibm Bridge and method for coupling a requesting interconnect and a serving interconnect in a computer system

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0817076A1 (en) * 1996-07-01 1998-01-07 Sun Microsystems, Inc. A multiprocessing computer system employing local and global address spaces and multiple access modes
EP0818732A2 (en) * 1996-07-01 1998-01-14 Sun Microsystems, Inc. Hybrid memory access protocol in a distributed shared memory computer system
DE69826016D1 (de) * 1997-09-24 2004-10-07 Bell Canada Montreal Verfahren und gerät zur dynamischen routing von anrufen in einem intelligenten netzwerk
CN1264080A (zh) * 1998-12-17 2000-08-23 国际商业机器公司 具有共享干预支持的非均匀存贮器存取(numa)数据处理系统
CN1703878A (zh) * 2002-11-29 2005-11-30 国际商业机器公司 数据处理系统
CN1778090A (zh) * 2003-06-19 2006-05-24 思科技术公司 用于在cdma2000无线ip网络中优化资源管理的方法和装置
US20050160132A1 (en) * 2004-01-15 2005-07-21 Van Doren Stephen R. Transaction references for requests in a multi-processor network
US20100005246A1 (en) * 2008-07-07 2010-01-07 Beers Robert H Satisfying memory ordering requirements between partial reads and non-snoop accesses
CN104620231A (zh) * 2012-08-17 2015-05-13 华为技术有限公司 有序和无序网络的缓存相干握手协议

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115297144A (zh) * 2022-07-29 2022-11-04 中汽创智科技有限公司 节点数据交互方法和装置
CN115297144B (zh) * 2022-07-29 2024-03-08 中汽创智科技有限公司 节点数据交互方法和装置

Also Published As

Publication number Publication date
EP3788492A1 (en) 2021-03-10
WO2019211608A1 (en) 2019-11-07
KR20210002668A (ko) 2021-01-08
US20190340138A1 (en) 2019-11-07
CN112074821B (zh) 2023-08-22
US10613996B2 (en) 2020-04-07
EP3788492B1 (en) 2024-01-10

Similar Documents

Publication Publication Date Title
CN108885583B (zh) 高速缓存存储器访问
US10169080B2 (en) Method for work scheduling in a multi-chip system
US9529532B2 (en) Method and apparatus for memory allocation in a multi-node system
CN101625664B (zh) 满足部分写和非监听存取之间的存储器排序要求
JP7153441B2 (ja) データ処理
CN112074821B (zh) 在数据处理网络中执行读取事务的方法、装置和介质
JPH11282821A (ja) 同時トランザクションを依存性で管理するための低占有度プロトコル
TW200534110A (en) A method for supporting improved burst transfers on a coherent bus
US9372800B2 (en) Inter-chip interconnect protocol for a multi-chip system
US20150254207A1 (en) Method and system for ordering i/o access in a multi-node environment
US7474658B2 (en) Data processing system, method and interconnect fabric supporting concurrent operations of varying broadcast scope
CN112955876B (zh) 用于在数据处理网络中传输数据的方法和装置
JP7419261B2 (ja) ストリーミングデータ転送のためのフロー圧縮を用いたデータ処理ネットワーク
EP3788494B1 (en) Transfer protocol in a data processing network
US7809004B2 (en) Data processing system and processing unit having an address-based launch governor
US7483428B2 (en) Data processing system, method and interconnect fabric supporting a node-only broadcast
US10642760B2 (en) Techniques for command arbitation in symmetric multiprocessor systems

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant