CN115129241A - 用于数据处理网络的分布式虚拟存储器管理 - Google Patents
用于数据处理网络的分布式虚拟存储器管理 Download PDFInfo
- Publication number
- CN115129241A CN115129241A CN202210262902.7A CN202210262902A CN115129241A CN 115129241 A CN115129241 A CN 115129241A CN 202210262902 A CN202210262902 A CN 202210262902A CN 115129241 A CN115129241 A CN 115129241A
- Authority
- CN
- China
- Prior art keywords
- dvm
- node
- requesting
- nodes
- message
- 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.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 67
- 238000012545 processing Methods 0.000 title claims abstract description 60
- 230000004044 response Effects 0.000 claims abstract description 57
- 239000004744 fabric Substances 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 25
- 239000000872 buffer Substances 0.000 claims description 23
- 239000012634 fragment Substances 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 238000013519 translation Methods 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 18
- 230000007246 mechanism Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 101000596093 Homo sapiens Transcription initiation factor TFIID subunit 1 Proteins 0.000 description 3
- 102100035222 Transcription initiation factor TFIID subunit 1 Human genes 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0833—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means in combination with broadcast means (e.g. for invalidation or updating)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明题为用于数据处理网络的分布式虚拟存储器管理。一种数据处理网络包括具有能够作为分布式虚拟存储器(DVM)访问的本地存储器并由互连结构耦接的请求节点。分派多个DVM域,每个域包含用于处理来自该域中请求节点的DVM操作请求的DVM节点。在接收到请求时,DVM节点向其域中的其它请求节点发送监听消息,并且向其它DVM域中的一个或多个对等DVM节点发送监听消息。DVM节点从请求节点以及从所述一个或多个对等DVM节点接收监听响应,并且向第一请求节点发送完成消息。每个对等DVM节点向其域中的请求节点发送监听消息,收集监听响应,并发送单个响应给始发DVM节点。以此方式,并行地执行DVM操作。
Description
背景技术
数据处理网络可包括引发数据事务的多个请求节点,诸如处理内核。请求节点由互连结构耦接。请求节点可具有对共享存储器诸如系统存储器的访问,并且可包括本地存储器,诸如一个或多个高速缓存。数据处理系统还可包括为请求节点引发的事务提供端点的多个从节点。从单元可以是例如访问系统存储器的系统存储器管理单元(SMMU)或耦接到输入/输出(I/O)设备的节点。
为了效率,提供一种机制,通过该机制,存储在一个请求节点的本地存储器中的数据能够被其它请求节点访问。通过使用逻辑抽象层,本地存储器与其它存储器诸如系统存储器一起可作为分布式虚拟存储器(DVM)被访问。这减少了处理器访问更慢的存储器或存储装置的需要,并提高系统性能。
由于数据可共享并且数据的副本可存储在数据处理网络中的不同位置处,因此实施一致性协议以确保数据以一致的顺序处理并且不使用数据的过时副本。为此,使用一个或多个归属节点。对特定一组存储器地址的所有访问都通过指定的归属节点进行,使得归属节点能够充当分布式虚拟存储器的一致性和序列化的点。
经由互连结构发送消息。用于与DVM的管理相关的操作(除了读/写操作之外)的消息可由DVM节点处理。DVM节点从请求节点接收DVM消息,完成所请求的动作,并且向始发请求节点返回响应。
随着网络中请求节点的数量增加,DVM节点可能成为网络中消息的拥塞点。此外,由于串行处理请求,因此完成DVM事务所花费的时间随着节点数量增加而增加,从而导致网络中不期望的延迟。
附图说明
附图提供了视觉表示,这些视觉表示将用于更全面地描述各种代表性实施方案,并且可由本领域的技术人员使用以更好地理解所公开的代表性实施方案及其固有优点。在这些附图中,类似的附图标号表示对应或相似的元件。
图1是数据处理网络的框图。
图2是具有单个DVM节点的数据处理网络中的节点的逻辑布置的框图。
图3是具有单个DVM节点的数据处理网络中DVM消息流的事务图。
图4是根据各种代表性实施方案的数据处理网络的框图。
图5是根据各种代表性实施方案的具有多个DVM节点的数据处理网络中的DVM消息流的事务图。
图6是根据各种代表性实施方案的数据处理网络的框图。
图7是根据各种代表性实施方案的包括两个芯片的数据处理网络的框图。
图8是根据各种代表性实施方案的用于DVM管理的方法的流程图。
图9是根据各种代表性实施方案的数据处理网络的框图。
具体实施方式
本文描述的各种装置和设备提供数据处理网络的互连结构中处理DVM消息的机制。
虽然本公开能够具有许多不同形式的实施方案,但在附图中示出并将在本文详细描述具体实施方案,应当理解,本文所示和所述的实施方案应被视为提供本公开的原理的示例,而并非旨在将本公开限制于所示和所述的具体实施方案。在下面的描述中,类似的附图标号用于描述附图的若干视图中的相同、类似或对应的部件。为了简化和清楚地说明,可在附图中重复附图标号以指示对应的或类似的元件。
图1是数据处理网络100的框图。在数据处理网络中,多个节点由互连结构104(也简称为“互连”)耦接。网络节点包括引发数据事务的请求节点102(RN)。所示示例包括三个请求节点,表示为RN-0、RN-1和RN-2。请求节点102可以是处理器内核、处理器集群、加速器或其它设备。例如,请求节点可以是完全一致的主设备。
请求节点102可具有对共享存储器诸如系统存储器106的访问。请求节点可包括本地存储器108,诸如一个或多个高速缓存或随机存取存储器(RAM)。数据处理网络还可包括其它节点,诸如耦接到输入/输出(I/O)设备112的请求节点RN-I节点110、以及访问系统存储器106的系统存储器管理单元(SMMU)114。
为了效率,提供一种机制,通过该机制,存储在一个请求节点的本地存储器中的数据能够被其它请求节点访问。通过使用逻辑抽象层,本地存储器与其它存储器诸如系统存储器一起可作为分布式虚拟存储器(DVM)被访问。这减少了处理器访问更慢的存储器或存储装置的需要,并提高系统性能。分布式虚拟存储器(DVM)表示为116。
由于数据可共享并且数据的副本可存储在数据处理网络中的不同位置处,因此实施一致性协议以确保数据以一致的顺序处理并且不使用数据的过时副本。为此,使用一个或多个归属节点118。对特定一组存储器地址的所有访问都通过指定的归属节点进行,使得归属节点能够充当分布式虚拟存储器的一致性和序列化的点。
经由互连结构发送消息。用于与DVM的管理相关的操作(除了读/写操作之外)的消息可由DVM节点120处理。此类操作包括例如无效转译后备缓冲器(TLB)条目、无效分支预测、无效用于物理指令的高速缓存中的条目、无效用于虚拟指令的高速缓存中的条目、以及操作的同步。DVM节点120从请求节点接收DVM消息,完成所请求的动作,并且向请求节点返回响应。
图2是数据处理网络200中的节点的逻辑布置的框图。单个DVM节点202负责接收来自所有请求节点204(RN-0、RN-1、…、RN-7)的请求、对请求进行排序、并将请求作为监听消息分配给网络中的所有其它请求节点和存储器管理单元。虽然在图2中示出了八个请求节点,但系统可包含任何数量的请求节点。因此,DVM节点202产生消息收发瓶颈,其随着请求节点的数量增加而变得更严重。
图3是具有单个DVM节点的数据处理网络中DVM消息流的方法的事务图300。图3示出了用于请求节点RN-0、RN-1、…、RN-7的时间线302和用于DVM节点DN0的时间线304,其中时间向下流动。在由箭头(1)表示的DVM消息中,RN3向DVM节点DN0发送消息。该消息指示RN3希望请求DVM操作。如箭头(2)所示,DVM节点向RN3发送消息以指示资源可用于接收DVM消息。在箭头(3)表示的消息中,RN3完成对DVM操作的请求。然后,DVM节点DN0发送监听消息,向网络中的其它请求节点指定对DVM操作的请求,如箭头306所示。箭头306指示的监听消息可作为监听信道上的一个或多个片段发送。例如,当监听片段中的地址字段不足够宽时,可利用监听信道上的两个片段在两个部分中发送监听消息。
每个请求节点通过向DVM节点DN0发送监听响应来对监听消息进行响应,如虚线箭头308所示。最后,DVM节点DN0发送消息(4)给始发请求节点(RN3)以指示所请求的DVM消息的完成。
具有单个节点用于处理对DVM操作的请求导致以下性能问题:
I.芯片中的所有请求节点将DVM消息发送给单个DVM节点,在请求信道上产生瓶颈并使DVM节点结构资源紧张。
II.单个DVM节点负责将监听消息发送给所有其它请求节点。这在监听接口中产生拥塞。
III.所有监听消息被序列化,增加DVM操作的持续时间,如RN3的时间线的加粗部分310所示。
IV.DVM节点被使用长的持续时间,如DVM节点DN0的时间线的加厚部分312所指示。
例如,在具有64个请求节点和仅一个DVM节点的系统中,需要126个循环来发送监听消息,假设每个消息需要两个片段(两个循环)的话。
根据本公开的实施方案,提供了一种数据处理网络,其包括具有能够作为分布式虚拟存储器(DVM)访问的本地存储器并由互连结构耦接的请求节点。分派多个DVM域,每个域包含用于处理来自被分派给该域的请求节点的DVM操作请求的DVM节点。在接收到请求时,DVM节点向其域中的其它请求节点发送监听消息,并且向其它DVM域中的一个或多个对等DVM节点发送监听消息。DVM节点从请求节点以及从所述一个或多个对等DVM节点接收监听响应,并且向第一请求节点发送完成消息。每个对等DVM节点向其自身域中的请求节点发送监听消息,收集监听响应,并发送单个响应给始发DVM节点。以此方式,并行地执行DVM操作。
图4是根据本公开各种实施方案的数据处理网络的框图。数据处理网络在芯片400中实施,并且包括多个DVM节点。每个DVM节点与芯片中的一组请求节点相关联。该组请求节点是芯片中的请求节点的子集。包含请求节点和相关联DVM节点的逻辑组在本文中被称为DVM域。DVM域中的所有请求节点向该域中的DVM节点发送DVM消息。DVM域是元素的逻辑或操作分组。DVM域中的请求节点不需要被物理分组。请求节点与DVM节点之间的关联可以是完全可编程的,使系统能够针对不同工作负载进行优化(如果需要的话)。
在图4所示的示例中,网络包括DVM节点402(DN0)和DVM节点404(DN1)。DVM节点402与一起形成第一DVM域406的请求节点RN-0、RN-1、RN-2和RN-3相关联。DVM节点404与一起形成第二DVM域408的请求节点RN-4、RN-5、RN-6和RN-7相关联。DN0负责处理来自第一DVM域中请求节点的DVM消息,而DN1负责处理来自第二DVM域中请求节点的DVM消息。每个DVM节点负责接收来自其域中的请求节点的DVM消息、对它们进行排序、以及将它们分配给域中的其它请求节点。以此方式,并行地执行DVM操作。与使用单个DVM节点的网络相比,这提供了增大的吞吐量和减小的延迟。该方法可缩放以用于较大系统。
图5是根据本公开的各种实施方案的具有多个DVM节点的数据处理网络中的DVM消息流的方法的事务图500。在该简化示例中,数据处理网络被配置如图4所示,具有两个DVM域,每个域具有DVM节点和四个请求节点。图5示出了用于请求节点RN-0、RN-1、…、RN-7的时间线502、用于第一DVM节点DN0的时间线504、和用于第二DVM节点DN1的时间线506,其中时间向下流动。在所示的示例事务中,RN3向DVM节点DN0发送由箭头(1)表示的消息,因为RN-3在DN0的域中。该消息指示RN3希望请求DVM操作。如箭头(2)所示,DVM节点向RN3发送消息(例如,表示为DataBufferID)以指示资源可用于接收DVM消息。在箭头(3)表示的消息中,RN3完成对DVM操作的请求。
消息(1)可包括在请求信道上发送的DVM消息的第一部分。例如,DVM消息的第一部分可包括具有相关联属性的DVM请求。消息(3)可包括在数据信道上作为数据片段发送的DVM消息的第二部分。DVM消息的第二部分可包括DVM操作的目标地址。该第二部分可以是例如“NonCopyBackWriteData”指令,指示数据不应被写回到存储器。DVM节点DN0然后发送监听消息,向其DVM域中的其它请求节点(RN0、RN1和RN2)指定请求DVM操作,如箭头508所示。监听消息(称为“SnpDVM”消息)可作为一个或多个片段被发送,具体取决于消息的大小和互连中监听请求信道的大小。DN0收集来自其域中的请求节点的监听响应512。
DVM节点DN0还将DVM消息转发给芯片中的其它DVM节点。这些节点在本文中被称为“对等DVM节点”。在图5所示的示例中,DVM消息被转发给对等DVM节点DN1,如箭头(4)所示。对等DVM节点DN1向其DVM域中的请求节点(RN4、RN5、RN6和RN7)发送监听消息,如箭头510所指示,并收集所得的监听响应514。
对等DVM节点DN1然后将由箭头(5)指示的单个监听响应发送给进行引发的DVM节点DN0。最后,进行引发的DVM节点DN0发送消息(6)给始发请求节点(RN3)以指示所请求的DVM操作消息的完成。
始发节点RN3所看到的事务的持续时间由框516指示。该持续时间比对应的持续时间短由框518指示的量。虽然这个节省在所示的简单示例中相对较小,但是随着网络的大小增大,节省增大。另外,也缩短了DVM节点所看到的事务的持续时间(由时间线的加粗部分指示)。由于DVM节点中更好的跟踪器利用(即,DVM节点需要跟踪事务更短的时间),这导致更高的吞吐量。
表1显示具有32个请求节点的数据处理网络中DVM节点中DVM消息的平均寿命。该表格表明与使用单个DVM节点相比,在使用多个DVM节点时实现显著的资源节省。
表1
表2显示对于DVM消息是指令高速缓存无效(ICI)请求的示例的性能改善。该示例假设每个ICI用于64个字节,互连结构操作于2GHz,并且网络包括32个请求节点。
表2
图6是根据本公开各种实施方案的数据处理网络的框图。数据处理网络在芯片600中实施,并且包括多个DVM节点。网络包括四个DVM节点:602(DN0)、604(DN1)、606(DN2)和608(DN3)。DVM节点602与一起形成第一DVM域610的请求节点RN-0、RN-1和RN-2相关联。DVM节点604与一起形成第二DVM域612的请求节点RN-3、RN-4和RN-5相关联。DVM节点606与一起形成第三DVM域614的请求节点RN-6、RN-7和RN-8相关联。DVM节点608与一起形成第四DVM域616的请求节点RN-9、RN-10和RN-11相关联。处理来自每个DVM域中请求节点的DVM消息是由该域的DVM节点负责。每个DVM节点负责接收来自其域中的请求节点的DVM消息、对它们进行排序、以及将它们分配给域中的其它请求节点。以此方式,并行地执行DVM操作。
DVM节点操作地彼此耦接。当第一DVM节点接收到来自其域中的请求节点的DVM消息时,其将该消息转发给三个其它DVM节点(其对等DVM节点)。对等DVM节点监听其相应域中的请求节点,收集监听响应,并且每个对等DVM节点将单个响应发送给始发DVM节点。
DVM节点可接收从任何或所有其对等DVM节点转发的DVM消息。在一个实施方案中,为了避免拥塞,DVM节点在任何时间可具有的未决DVM消息的数量被限于指定的最大值。此外,DVM节点被提供有足够的资源以能够接收或容接从所有其对等DVM节点接收的DVM消息。每个DVM节点被配置为具有足够的资源以保证来自对等DVM节点的至少一个同步DVM消息和一个非同步DVM消息的转发进展。
为了避免由于存在多个DVM节点而导致的死锁,DVM节点可阻拦来自其它DVM节点的同步请求。在一个实施方案中,当多个请求节点向其相应域中的DVM节点发送DVM同步请求时,DVM节点被配置为将不超过一个同步请求调度给其域中的请求节点以及调度给其它DVM节点。所述其它DVM节点中的每一者在其接收到来自其它DVM节点以及来自其自身域中请求节点的同步请求DVMSYNC时被配置为将不超过一个同步请求调度给其域。
在本公开的另一实施方案中,上述机制被延伸以用于多芯片系统。多芯片系统使用被称为芯片到芯片网关(CCG)的节点将事务请求发送给其它芯片以及接收来自其的事务请求。为了使能芯片到芯片DVM消息收发,CCG被分派给DVM域之一。
图7是根据本公开各种实施方案的包括两个芯片的数据处理系统700的框图。芯片0(702)被配置为具有两个DVM域,具有DVM节点DN00和请求节点RN-00、RN-01、RN-02和RN-03的DVM域704,以及具有DVM节点DN01和请求节点RN-04、RN-05、RN-06和RN-07的DVM域706。芯片1(708)被配置为具有两个DVM域,具有DVM节点DN10和请求节点RN-10、RN-11、RN-12和RN-13的DVM域710,以及具有DVM节点DN11和请求节点RN-14、RN-15、RN-16和RN-17的DVM域712。
芯片0(702)还包括被分派给DVM域706的芯片到芯片网关CCG0(714)。芯片1(708)还包括被分派给DVM域712的芯片到芯片网关CCG1(716)。
在所示的示例DVM操作中,请求节点RN-00向其域中的DVM节点DN00发送DVM请求。DN00发送监听请求给域中的所有请求节点和任何CCG(在此示例中是RN-01、RN-02和RN-03)并且给对等DVM节点DN01。DN01发送监听请求给其域中的所有请求节点和任何CCG(在此示例中是RN-05、RN-06、RN-07、RN-08和CCG0(714))。芯片到芯片网关CCG0(714)经由链路718将该请求转发给芯片1(708)上的芯片到芯片网关节点CCG1(716),并且CCG1(716)将该请求传递给其域中的DVM节点(DN11)。DVM节点以与来自请求节点的请求相同的方式对待其,并且监听请求被传播到芯片1(708)上的所有请求节点,如上所述。对监听请求的响应被收集并经由CCG 716和714以及DVM节点返回给始发请求节点。
如上文所描述的示例所示,本公开提供了一种用于管理具有多个请求节点和多个DVM节点的数据处理网络中的分布式虚拟存储器(DVM)的方法。分布式虚拟存储器可包括系统存储器和与所述多个请求节点相关联的本地存储器。所述方法包括分派多个DVM域,每个DVM域包括DVM节点和一个或多个请求节点。在操作中,分派给包括第一DVM节点的第一DVM域的第一请求节点发送请求DVM操作的DVM消息给第一DVM节点。第一DVM节点发送监听消息给第一DVM域中除了第一请求节点之外的请求节点,并且还发送监听消息给除了第一DVM域之外的DVM域中的对等DVM节点。第一DVM节点收集来自第一DVM域中请求节点(除了第一请求节点之外)的监听响应和来自每个对等DVM节点的监听响应,并发送完成消息给第一请求节点。
每个对等DVM节点发送监听消息给对等DVM节点的DVM域中的节点,收集来自对等DVM节点的DVM域中请求节点的监听响应,并发送监听响应给第一DVM节点。接收监听消息的请求节点可例如作为响应而使请求节点的其本地存储器中的数据无效。更一般地,第一DVM域中的请求节点从第一DVM节点接收指定DVM操作的监听消息,然后执行所请求的DVM操作。如果请求是针对异步DVM操作,则监听响应可在完成所请求的DVM操作之前被发送给第一DVM节点。对于同步DVM操作,监听响应在完成所请求的DVM操作之后被发送给第一DVM节点。
DVM操作包括例如无效地址转换表中条目、无效指令高速缓存中条目、无效预测器、DVM同步等。
在一个实施方案中,第一DVM节点响应于接收到来自第一请求节点的DVM消息而发送缓冲器标识符消息(DBID消息)给第一请求节点。缓冲器标识符消息标识用于存储DVM消息的第一DVM节点的可用缓冲器。然后,第一请求节点发送分布式虚拟存储器中的目标地址给DVM节点。发送给第一DVM节点的DVM域中的请求节点和发送给每个对等DVM节点的监听消息包括该目标地址。
第一请求节点发送的消息可包括在请求信道上的地址片段中发送的DVM消息的第一部分。DVM消息的第一部分包括DVM操作码和相关联属性。响应于接收到消息的第一部分,第一DVM节点利用标识第一DVM节点的可用消息缓冲器的消息来回复。然后,第一请求节点在数据信道上的数据片段中发送DVM消息的第二部分。DVM消息的第二部分包括DVM操作的目标地址。
监听消息可在两个部分中发送。监听消息的第一部分在监听信道上发送并且包括事务标识符(TXID)、用于DVM操作的DVM操作码和用于DVM操作的目标地址的第一部分。也在监听信道上发送的监听消息的第二部分包括TXID和用于DVM操作的目标地址的第二部分。监听消息的部分可能乱序到达。
因此,如上所述,第一集成电路的第一DVM域中的DVM节点被配置为发送用于DVM操作的监听消息给第二集成电路的DVM节点,其中监听消息经由第一集成电路的第一芯片到芯片网关和第二集成电路的第二芯片到芯片网关被发送。第一集成电路的DVM节点还被配置为经由第二芯片到芯片网关和第一芯片到芯片网关接收来自第二集成电路的DVM节点的监听响应,以指示DVM操作被第二集成电路中的请求节点完成。
第二域的DVM节点被配置为接收来自第一集成电路的DVM节点的监听消息,发送用于DVM操作的监听消息给第二集成电路的第二请求节点,收集来自第二集成电路的第二请求节点的监听响应,并且经由第二芯片到芯片网关和第一芯片到芯片网关发送单个监听响应给第一集成电路的DVM节点,以指示DVM操作由第二集成电路中的第二请求节点完成。
图8是根据各种代表性实施方案的用于DVM管理的方法的流程图800。在图8中的开始框802之后,在框804处,请求节点(RN)和DVM节点被分派给DVM域。例如,所述分派可由用户编程。在示例性DVM操作中,第一请求节点在框806处发送DVM消息给被分派给其域的DVM节点(称为第一DVM节点)。例如,该消息可在互连结构的请求信道上发送。在框808处,第一DVM节点例如用缓冲器ID进行响应,指示其准备好接收来自第一请求节点的数据。在框810处,第一请求节点发送DVM操作的数据给第一DVM节点。所述数据可包括例如DVM操作的存储器地址,并且可在互连结构的数据信道上发送。在框812处,第一DVM节点发送DVM监听消息给其域中的请求节点(除了第一请求节点之外)。在框814处,第一DVM节点将DVM消息转发给其它域中的DVM节点。继而,在框816处,其它DVM节点发送DVM监听消息给其域中的请求节点。其它DVM节点在框818处收集对DVM监听消息的响应,并发送单个完成消息回到第一DVM节点。在框820处,第一DVM节点收集来自其它DVM节点以及来自其域中请求节点的响应,并发送完成消息给第一请求节点。这完成DVM操作,如终止框822所指示。
多个DVM域的使用就通过在同一循环中处理多个DVM消息以及并行地发送DVM监听消息而提供增大的DVM消息吞吐量。另外,减小DVM操作延迟。数据处理系统可在互连结构中具有任何数量的DVM节点。可将任何数量的请求节点、存储器管理单元和芯片到芯片网关分派给DVM域。由于更少的请求节点发送消息给DVM节点中的每一者,因此减小了每个DVM节点处请求信道上的压力。进而,这减少监听消息接口中的拥塞,因为DVM节点仅发送监听消息给其域中的请求节点以及给其它DVM节点。
图9是根据本公开实施方案的数据处理网络900的框图。网络900包括多个请求节点,所述多个请求节点包括第一请求节点902和其它请求节点RN3、RN4、RN11、RN8和RN6。每个请求节点包括本地存储器,诸如例如高速缓存。请求节点的本地存储器加上任何共享存储器能够作为分布式虚拟存储器(DVM)访问。网络900还包括多个DVM节点,诸如第一DVM节点904和第二DVM节点906。请求节点的本地存储器能够被其它请求节点经由一个或多个DVM节点访问。网络900包含分派逻辑部件908,其被配置为将一个或多个请求节点分派给每个DVN节点以形成每个DVM节点的DVM域。在所示的示例中,第一请求节点和请求节点RN3和RN4被分派给第一DVM节点904。因此,请求节点910和第一DVM节点904的分组形成第一DVM域。请求节点RN6、RN8和RN11被分派给第二DVM节点906。因此,请求节点912和第二DVM节点906的分组形成第二DVM域。域分派可被记录在DVM域配置表909中。该表可被请求节点和DVM节点访问以标识其域的其它成员。
网络900还包括互连结构914,其将每个DVM域中的所述一个或多个请求节点耦接到DVM域中的DVM节点。互连结构还耦接DVM节点。在一个实施方案中,互连结构914包括请求信道916、数据信道918和监听信道920。
当第一请求节点902发送DVM消息给第一DVM节点904请求DVM操作时,第一DVM节点904发送监听消息给请求节点910,并在监听信道920上发送监听消息给第二DVM节点906(和网络中的任何其它对等DVM节点)。第一DVM节点904接收来自请求节点910的监听响应并接收来自第二DVM节点906(和网络中任何其它DVM节点)的监听响应。然后,第一DVM节点904发送完成消息给第一请求节点902。
监听消息在第一DVM节点904中由监听控制器922处理。
第一DVM节点904包括用于存储从其DVM域中的请求节点接收的一个或多个DVM消息的第一消息缓冲器924、以及用于存储从其它DVM域中的对等DVM节点接收的监听消息的第二消息缓冲器926。DVM节点的资源(诸如第一和第二消息缓冲器924、926)由资源管理器928管理。第一DVM节点904被配置为响应于接收到请求信道916上来自第一请求节点902的DVM消息而发送缓冲器标识符消息给第一请求节点902。缓冲器标识符消息标识第一DVM节点904的可用第一缓冲器。
第一请求节点902被配置为响应于接收到来自DVM节点904的缓冲器标识符消息而发送分布式虚拟存储器中的目标地址给DVM节点904。目标地址可在数据信道918上发送。发送给第一DVM域中的请求节点和发送给第二DVM节点906的监听消息包括目标地址。
作为对等DVM节点的第二DVM节点906被配置为发送监听消息给其域中的请求节点。在所示的示例中,请求节点RN6、RN8和RN11在第二DVM节点906的域中。第二DVM节点906收集来自其DVM域中请求节点的监听响应,并发送监听响应给第一DVM节点904。
在一个实施方案中,在第一集成电路中构造请求节点、DVM节点、分派逻辑部件908和互连结构914。例如,第一集成电路可包括第一芯片到芯片网关,如图7所示。
为了避免数据处理网络中的死锁或拥塞,DVM节点可被配置为限制发送给对等DVM节点的未决监听消息的数量。另外,DVM节点可被配置为从第一DVM域中的多个请求节点接收用于同步DVM操作的DVM消息,但限制为一次一个地向请求节点和对等DVM节点发送用于同步DVM操作的监听消息。
在本文档中,关系术语,诸如第一和第二、顶部和底部等可仅用于将一个实体或动作与另一个实体或动作区分开,而不一定要求或暗示此类实体或动作之间的任何实际的此类关系或次序。术语“包括”、“包含”、“含有”、“具有”或它们的任何其他变型旨在涵盖非排他性的包括,使得包括一系列元素的过程、方法、制品或装置不仅包括那些要素,而且可包括未明确列出的或此类过程、方法、制品或装置固有的其他元素。前面带有“包括…一个”的元件在没有更多限制的情况下不排除在包括该元件的过程、方法、制品或装置中存在另外的相同元件。
贯穿本文档提及的“一个实施方案”、“某些实施方案”、“实施方案”、“具体实施”、“方面”或类似术语意指结合该实施方案描述的特定特征、结构或特性包括在本公开的至少一个实施方案中。因此,此类短语在本说明书内各个地方的出现不一定都是指相同的实施方案。此外,具体特征、结构或特性可以任何合适的方式无限制地组合在一个或多个实施方案中。
如本文所用,术语“或”将被解释为包含性的或意指任何一种或任何组合。因此,“A、B或C”意指“以下中的任一者:A;B;C;A和B;A和C;B和C;A、B和C”。只有当元件、功能、步骤或动作的组合以某种方式固有地相互排斥时,才会出现该定义的例外。
如本文所用,当应用于元件时,术语“被配置为”意味着该元件可被设计或构造为执行指定功能,或者具有使其能够重新配置或适于执行该功能的所需结构。
阐述了许多细节以提供对本文所述的实施方案的理解。可以在没有这些细节的情况下实践实施方案。在其它情况下,未详细描述熟知的方法、程序和部件以避免模糊所述实施方案。本公开不应被视为限于本文所述的实施方案的范围。
本领域的技术人员将认识到,已借助于示例描述了本公开。本公开可使用硬件部件等效物诸如专用硬件和/或专用处理器来实现,该专用硬件和/或专用处理器是如所描述和要求保护的本公开的等效物。类似地,专用处理器和/或专用硬连线逻辑可用于构造本公开的另选等效实施方案。
用于实施所公开机制的专用或可重新配置硬件部件可例如通过硬件描述语言(HDL)的指令来描述,诸如VHDL、Verilog或RTL(寄存器传输语言),或者通过部件和连接性的网表来描述。指令可处于功能级或逻辑级或其组合。指令或网表可被输入到自动化设计或制造过程(有时称为高级综合),其解释指令并创建实施所描述功能或逻辑的数字硬件。
HDL指令或网表可存储在非暂态计算机可读介质上,诸如电可擦除可编程只读存储器(EEPROM);非易失性存储器(NVM);海量存储装置,诸如硬盘驱动器、软盘驱动器、光盘驱动器;在不脱离本公开的情况下,光存储元件、磁存储元件、磁光存储元件、闪存存储器、磁芯存储器和/或其他等效存储技术。此类可供选择的存储装置应被视为等同物。
使用专用硬件、可配置硬件或被编程处理器执行编程指令来实现本文所述的各种实施方案,该编程指令以流程图形式广义描述,该编程指令可存储在任何合适的电子存储介质上或通过任何合适的电子通信介质传输。可使用这些元件的组合。本领域的技术人员应当理解,在不脱离本公开的情况下,上述过程和机制可以任何数量的变型来实现。例如,在不脱离本公开的情况下,执行的某些操作的顺序通常可以改变,可以添加附加操作或者可以删除操作。此类变型是可设想的并且被认为是等同的。
已在本文中详细描述的各种代表性实施方案以举例的方式而非限制的方式给出。本领域的技术人员应当理解,可对所述实施方案的形式和细节进行各种改变,从而得到保持在所附权利要求的范围内的等同实施方案。
Claims (20)
1.一种用于管理数据处理网络中的分布式虚拟存储器(DVM)的方法,所述数据处理网络具有多个请求节点和多个DVM节点,所述分布式虚拟存储器与所述多个请求节点的本地存储器相关联,所述方法包括:
分派多个DVM域,每个DVM域包括所述多个DVM节点中的DVM节点和所述多个请求节点中的一个或多个请求节点,所述多个DVM节点包括第一DVM域中的第一DVM节点;
所述第一DVM域中的第一请求节点向所述第一DVM节点发送DVM消息以请求DVM操作;
响应于接收到所述DVM消息,所述第一DVM节点:
发送监听消息给所述第一DVM域中除了所述第一请求节点之外的请求节点;
发送监听消息给除了所述第一DVM域之外的DVM域中的对等DVM节点;并且
响应于接收到来自所述第一DVM域中除了所述第一请求节点之外的所述请求节点的监听响应以及接收到来自每个对等DVM节点的监听响应,发送完成消息给所述第一请求节点。
2.根据权利要求1所述的方法,还包括每个对等DVM节点:
发送监听消息给所述对等DVM节点中的请求节点;
收集来自所述对等DVM节点的所述DVM域中的所述请求节点的监听响应;并且
发送监听响应给所述第一DVM节点。
3.根据权利要求1所述的方法,还包括:
除了所述第一请求节点之外的请求节点响应于接收到监听消息而使所述请求节点的本地存储器中的数据无效。
4.根据权利要求1所述的方法,还包括所述第一DVM域中的请求节点:
接收指定所述DVM操作的来自所述第一DVM节点的监听消息;
执行所述DVM操作;
对于异步DVM操作:
在完成所请求的所述DVM操作之前,发送监听响应给所述第一DVM节点;并且
对于同步DVM操作:
在完成所请求的所述DVM操作之后,发送监听响应给所述第一DVM节点。
5.根据权利要求1所述的方法,其中所述DVM操作包括:
无效地址转换表中的条目;
无效指令高速缓存中的条目;
无效预测器;或者
DVM同步。
6.根据权利要求1所述的方法,还包括:
所述第一DVM节点响应于接收到来自所述第一请求节点的所述DVM消息而发送缓冲器标识符消息给所述第一请求节点,所述缓冲器标识符消息标识用于存储所述DVM消息的所述第一DVM节点的可用缓冲器;并且
所述第一请求节点发送所述分布式虚拟存储器中的目标地址给所述DVM节点,
其中发送给所述请求节点的所述监听消息和发送给每个对等DVM节点的所述监听消息包括所述目标地址。
7.根据权利要求1所述的方法,其中所述第一请求节点发送所述DVM消息包括所述第一请求节点:
在请求信道上的地址片段中发送所述DVM消息的第一部分,所述DVM消息的所述第一部分包括DVM操作码和相关联属性;
从所述第一DVM节点接收标识所述第一DVM节点的可用消息缓冲器的消息;并且
在数据信道上的数据片段中发送所述DVM消息的第二部分,所述DVM消息的所述第二部分包括所述DVM操作的目标地址。
8.根据权利要求1所述的方法,其中发送监听消息包括:
在监听信道上发送所述监听消息的第一部分,所述第一部分包括事务标识符(TXID)、所述DVM操作的DVM操作码、以及所述DVM操作的目标地址的第一部分;并且
在所述监听信道上发送所述监听消息的第二部分,所述第二部分包括所述TXID和所述DVM操作的所述目标地址的第二部分。
9.一种数据处理网络,所述数据处理网络包括:
多个请求节点,每个请求节点包括本地存储器,所述多个请求节点的所述本地存储器能够作为分布式虚拟存储器(DVM)访问;
多个DVM节点,其中请求节点的所述本地存储器能够被其它请求节点经由所述多个DVM节点中的一个或多个DVM节点访问;
分派逻辑部件,所述分派逻辑部件被配置为分派所述多个请求节点中的一个或多个请求节点给所述多个DVM节点中的每个DVM节点以形成每个DVM节点的DVM域;和
互连结构,所述互连结构将DVM域中的所述一个或多个请求节点操作地耦接到所述DVM域中的所述DVM节点且操作地耦接在所述DVM节点之间,
其中第一DVM域中的第一请求节点被配置为发送DVM消息给所述第一DVM域的所述DVM节点以请求DVM操作,并且
其中所述第一DVM域的所述DVM节点被配置为:
响应于接收到来自所述第一请求节点的所述DVM消息,发送监听消息给所述第一DVM域中除了所述第一请求节点之外的请求节点;
响应于接收到来自所述第一请求节点的所述DVM消息,发送监听消息给除了所述第一DVM域之外的DVM域中的一个或多个对等DVM节点;并且
响应于接收到来自所述第一DVM域中除了所述第一请求节点之外的所述请求节点的监听响应以及接收到来自所述一个或多个对等DVM节点的监听响应,发送完成消息给所述第一请求节点。
10.根据权利要求9所述的数据处理网络,其中所述多个DVM节点中的DVM节点包括:
用于从所述DVM节点的所述DVM域中的请求节点接收的一个或多个DVM消息的第一消息缓冲器;并且
用于从其它DVM域的DVM节点接收的监听消息的第二消息缓冲器,
其中所述DVM节点被配置为响应于接收到来自所述第一请求节点的所述DVM消息而发送缓冲器标识符消息给所述第一请求节点,所述缓冲器标识符消息标识所述DVM节点的可用第一缓冲器,并且其中所述第一请求节点被配置为响应于接收到来自所述DVM节点的所述缓冲器标识符消息而发送所述分布式虚拟存储器中的目标地址给所述DVM节点。
11.根据权利要求10所述的数据处理网络,其中发送给所述第一DVM域中除了所述第一请求节点之外的所述请求节点的所述监听消息和发送给对等DVM节点的所述监听消息包括所述目标地址。
12.根据权利要求11所述的数据处理网络,其中对等DVM节点被配置为:
发送监听消息给所述对等DVM节点的所述DVM域中的请求节点;
收集来自所述对等DVM节点的所述DVM域中的所述请求节点的监听响应;并且
发送监听响应给所述第一DVM域的所述DVM节点。
13.根据权利要求9所述的数据处理网络,其中所述多个请求节点、所述多个DVM节点、所述分派逻辑部件和所述互连结构在第一集成电路中构造。
14.根据权利要求13所述的数据处理网络,其中所述第一集成电路还包括操作地耦接到所述多个DVM节点中的第一DVM节点的第一芯片到芯片网关。
15.根据权利要求14所述的数据处理网络,其中所述第一集成电路的所述第一DVM域的所述DVM节点被配置为:
发送用于所述DVM操作的监听消息给第二集成电路的DVM节点,其中所述监听消息经由所述第一集成电路的所述第一芯片到芯片网关和所述第二集成电路的第二芯片到芯片网关被发送;并且
经由所述第二芯片到芯片网关和所述第一芯片到芯片网关接收来自所述第二集成电路的所述DVM节点的监听响应,以指示所述DVM操作被所述第二集成电路中的请求节点完成。
16.根据权利要求15所述的数据处理网络,还包括第二集成电路,所述第二集成电路包括:
多个第二请求节点,每个第二请求节点包括本地存储器,所述第一集成电路的所述多个请求节点和所述第二集成电路的所述多个第二请求节点的所述本地存储器能够作为分布式虚拟存储器访问;
多个第二DVM节点;
第二分派逻辑部件;
第二互连结构,和
第二芯片到芯片网关,所述第二芯片到芯片网关操作地耦接到所述多个第二DVM节点中的第二DVM节点并且操作地耦接到所述第一集成电路的所述第一芯片到芯片网关,
其中所述第一集成电路的所述第一DVM域中的所述DVM节点被配置为经由所述第一芯片到芯片网关和所述第二芯片到芯片网关发送用于所述DVM操作的监听消息给所述第二集成电路的所述第二DVM节点,并且
其中第二第一集成电路的所述第二DVM节点被配置为:
接收来自所述第一集成电路的所述第一DVM域的所述DVM节点的所述监听消息,
发送用于所述DVM操作的监听消息给所述第二集成电路的第二请求节点,
收集来自所述第二集成电路的所述第二请求节点的监听响应,以及
经由所述第二芯片到芯片网关和所述第一芯片到芯片网关发送单个监听响应给所述第一集成电路的所述DVM节点,以指示所述DVM操作被所述第二集成电路中的所述第二请求节点完成。
17.根据权利要求9所述的数据处理网络,其中所述多个请求节点中的请求节点包括:
完全一致的主设备;或者
输入/输出一致的主设备。
18.根据权利要求9所述的数据处理网络,其中第一DVM节点被配置为限制发送给对等DVM节点的未决监听消息的数量。
19.根据权利要求9所述的数据处理网络,其中第一DVM节点被配置为:
接收来自所述第一DVM域中的多个请求节点的用于同步DVM操作的DVM消息。
20.根据权利要求19所述的数据处理网络,其中所述第一DVM节点还被配置为:
一次一个地发送用于所述同步DVM操作的监听消息给请求节点和对等DVM节点。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/212,804 US11531620B2 (en) | 2021-03-25 | 2021-03-25 | Distributed virtual memory management for data processing network |
US17/212,804 | 2021-03-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115129241A true CN115129241A (zh) | 2022-09-30 |
Family
ID=83364649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210262902.7A Pending CN115129241A (zh) | 2021-03-25 | 2022-03-17 | 用于数据处理网络的分布式虚拟存储器管理 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11531620B2 (zh) |
CN (1) | CN115129241A (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6615322B2 (en) * | 2001-06-21 | 2003-09-02 | International Business Machines Corporation | Two-stage request protocol for accessing remote memory data in a NUMA data processing system |
US7296121B2 (en) * | 2002-11-04 | 2007-11-13 | Newisys, Inc. | Reducing probe traffic in multiprocessor systems |
JP5505516B2 (ja) * | 2010-12-06 | 2014-05-28 | 富士通株式会社 | 情報処理システムおよび情報送信方法 |
CN109661650B (zh) * | 2016-09-30 | 2023-06-23 | 英特尔公司 | 分布式共享存储器系统中的对象一致性 |
US10877836B2 (en) * | 2018-08-29 | 2020-12-29 | Arm Limited | Method and apparatus for coherent interconnect recovery with protocol layer re-transmission |
US11360891B2 (en) * | 2019-03-15 | 2022-06-14 | Advanced Micro Devices, Inc. | Adaptive cache reconfiguration via clustering |
US11507517B2 (en) * | 2020-09-25 | 2022-11-22 | Advanced Micro Devices, Inc. | Scalable region-based directory |
-
2021
- 2021-03-25 US US17/212,804 patent/US11531620B2/en active Active
-
2022
- 2022-03-17 CN CN202210262902.7A patent/CN115129241A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220308997A1 (en) | 2022-09-29 |
US11531620B2 (en) | 2022-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108885583B (zh) | 高速缓存存储器访问 | |
TWI519958B (zh) | 用於多節點系統中的記憶體分配的方法和裝置 | |
US7395379B2 (en) | Methods and apparatus for responding to a request cluster | |
Daneshtalab et al. | Memory-efficient on-chip network with adaptive interfaces | |
US9575921B2 (en) | Command rate configuration in data processing system | |
JP7419261B2 (ja) | ストリーミングデータ転送のためのフロー圧縮を用いたデータ処理ネットワーク | |
US20170293559A1 (en) | Early freeing of a snoop machine of a data processing system prior to completion of snoop processing for an interconnect operation | |
CA2505259A1 (en) | Methods and apparatus for multiple cluster locking | |
US10102130B2 (en) | Decreasing the data handoff interval in a multiprocessor data processing system based on an early indication of a systemwide coherence response | |
US10437725B2 (en) | Master requesting missing segments of a cache line for which the master has coherence ownership | |
CN111406251B (zh) | 数据预取方法及装置 | |
CN112074821A (zh) | 在数据处理网络中分离完成和数据响应,以实现更高的读取吞吐量和更低的链接利用率 | |
US11449489B2 (en) | Split transaction coherency protocol in a data processing system | |
EP3788494B1 (en) | Transfer protocol in a data processing network | |
CN115129241A (zh) | 用于数据处理网络的分布式虚拟存储器管理 | |
US10642760B2 (en) | Techniques for command arbitation in symmetric multiprocessor systems | |
US20190042342A1 (en) | Techniques for managing a hang condition in a data processing system with shared memory |
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 |