CN2569238Y - Remote node reads local memory maintenance device in distributed shared memory system - Google Patents
Remote node reads local memory maintenance device in distributed shared memory system Download PDFInfo
- Publication number
- CN2569238Y CN2569238Y CN 02240922 CN02240922U CN2569238Y CN 2569238 Y CN2569238 Y CN 2569238Y CN 02240922 CN02240922 CN 02240922 CN 02240922 U CN02240922 U CN 02240922U CN 2569238 Y CN2569238 Y CN 2569238Y
- Authority
- CN
- China
- Prior art keywords
- local memory
- local
- remote node
- data
- state
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims abstract description 294
- 238000012423 maintenance Methods 0.000 title claims description 21
- 238000000034 method Methods 0.000 abstract description 7
- 230000008859 change Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
技术领域technical field
本实用新型涉及一种分布式共享内存(Distributed Shared Memory,简称DSM)多处理器系统(multiprocessors system),且特别涉及一种在DSM系统架构下远程节点读取本地内存维护装置,尤其是一种分布式共享内存系统节点。The utility model relates to a distributed shared memory (DSM for short) multiprocessor system (multiprocessors system), and in particular to a remote node reading local memory maintenance device under the DSM system architecture, especially a Distributed shared memory system nodes.
背景技术Background technique
在科技日益发达的今日,各种日常事务及商业活动的信息化处理已成为增进处理速度的不二法门,也由于如此,导致系统的数据处理量日益庞大。为了分散数据,以达并行处理且能快速共享的目的,便得依赖一种称为分布式共享内存多处理器系统的架构。Today, with the development of science and technology, the information processing of various daily affairs and business activities has become the only way to increase the processing speed, and because of this, the data processing volume of the system is increasing day by day. In order to disperse data for parallel processing and fast sharing, it relies on an architecture called distributed shared memory multiprocessor system.
请参考图1所示,其为一种分布式共享内存(Distributed Shared Memory,以下简称DSM)系统节点架构。一般来说,每一计算机系统架构皆可视为一个DSM系统节点100。如图所示,此计算机系统架构可为多处理器的计算机系统架构(当然,一个处理器的计算机系统架构亦为可行)。其具有多个处理器110、120,经由一系统总线160可连接至一内存控制芯片130,并由内存控制芯片130来控制本地内存(Local Memory)150与多个处理器110、120间的存取动作。而内存控制芯片130更可以连接至其它装置来达成基本的输入/输出(I/O)控制。通常,内存控制芯片130为北桥芯片。Please refer to Figure 1, which is a distributed shared memory (Distributed Shared Memory, hereinafter referred to as DSM) system node architecture. In general, each computer system architecture can be regarded as a DSM
其中,本地内存150被区分为多个本地内存线(Local Memory Line),以供存放数据。而处理器110及120可发出存取本地内存线的数据存取请求至内存控制芯片130并由内存控制芯片130达成本地内存数据线的数据存取。Wherein, the
在DSM系统节点架构下,此节点(以下皆称之为本地节点,Local Node)100与其它节点(以下皆称之为远程节点,Remote Node)系经由一DSM控制器(以下简称DSM控制器)140来达成数据传送与接收。而DSM控制器140在此本地节点100内系连接至系统总线160并且以一内部总线135连接至内存控制芯片130。Under the DSM system node architecture, this node (hereinafter referred to as local node, Local Node) 100 and other nodes (hereinafter referred to as remote node, Remote Node) are connected via a DSM controller (hereinafter referred to as DSM controller) 140 to achieve data transmission and reception. The DSM
当处理器110、120需要读取远程节点的内存线的数据时,就必须利用本地节点100内的DSM控制器140来与远程节点内的DSM控制器(未绘示)沟通,进而达成存取远程节点内的内存线的数据。When the
由于每一个本地节点100均可与其它远程节点共享自己的本地内存150,故每一节点中必须具有一个储存区一致性对照表(Memory CoherencyDirectory)。此对照表系DSM控制器140用来记录本地内存中每一本地内存线的状态。当远程节点欲读取本地节点100的本地内存线的数据时,方可依据对照表中记录的本地内存线的状态,来决定读取动作如何进行,以确保读取正确数据。Since each
请参考图2所示,其为根据公知储存区一致性对照表中针对本地内存线的状态图。图中显示,公知对照表将本地内存线区分为4种状态,分别说明如下:Please refer to FIG. 2 , which is a state diagram for local memory lines according to a known storage area consistency comparison table. As shown in the figure, the known comparison table divides the local memory line into four states, which are described as follows:
HOME(本地):代表没有任何远程节点来读取此本地内存线的数据。HOME (local): means that there is no remote node to read the data of this local memory line.
SHARED(共享):代表已有其它远程节点已读取本地内存线的数据,且此本地内存线的数据尚未被更改。SHARED: It means that other remote nodes have read the data of the local memory line, and the data of this local memory line has not been changed.
GONE(已更改):代表已有一远程节点已读取本地内存线的数据,且此本地内存线的数据已被远程节点所更改。GONE (changed): It means that a remote node has read the data of the local memory line, and the data of the local memory line has been changed by the remote node.
WASH:被更改过的本地内存线的数据由远程节点回传到本地节点的过渡状态。WASH: The data of the changed local memory line is sent back from the remote node to the transition state of the local node.
接下来针对一个本地内存线的数据变化并配合这些状态的变动作一说明。在初始状态时,本地节点内的储存区一致性对照表中对应于此本地内存线的状态为HOME状态。在HOME状态下,此本地节点内的处理器可以任意的存取此本地内存线的数据,并且此本地内存线内的数据仅存在于此本地节点内。Next, we will describe the data changes of a local memory line and cooperate with these state changes. In the initial state, the state corresponding to the local memory line in the storage area consistency comparison table in the local node is the HOME state. In the HOME state, the processor in the local node can arbitrarily access the data in the local memory line, and the data in the local memory line exists only in the local node.
在HOME状态下,如路径1所示,当远程节点发出远程读取(remote readline),代表远程节点要读取本地内存线的数据。此时,本地内存线的数据会被传送至远程节点,因此,本地节点内的储存区一致性对照表会将此本地内存线的状态由HOME状态改为SHARED状态。亦即,在SHARED状态下,本地内存线的数据同时储存在本地节点以及远程节点。In the HOME state, as shown in
在SHARED状态下,如路径2所示,当本地节点发出本地读取无效(localread invalidate)或者本地无效(local invalidate)时,代表本地节点要更改本地内存线的数据。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由SHARED状态改为HOME状态。在HOME状态下,此本地节点内的处理器可以任意的存取此本地内存线的数据,并且此本地内存线内的数据仅存在于此本地节点内。而原储存于远程节点内的本地内存线的数据是非曲直旧的数据因此会变为无效。In the SHARED state, as shown in path 2, when the local node issues local read invalidate (local read invalidate) or local invalidate (local invalidate), it means that the local node wants to change the data of the local memory line. At this time, the storage area consistency comparison table in the local node will change the state of the local memory line from the SHARED state to the HOME state. In the HOME state, the processor in the local node can arbitrarily access the data in the local memory line, and the data in the local memory line exists only in the local node. However, the data originally stored in the local memory line in the remote node is not correct and the old data will become invalid.
在SHARED状态下,如路径4所示,当远程节点发出远程释放出此本地内存线的数据(Remote rollout of shared copy)时,代表远程节点放弃拥有此本地内存线的数据。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态也必须由SHARED状态改为HOME状态。在HOME状态下,此本地节点内的处理器可以任意的存取此本地内存线的数据,并且此本地内存线内的数据仅存在于此本地节点内。In the SHARED state, as shown in path 4, when the remote node sends out data that remotely releases the local memory line (Remote rollout of shared copy), it means that the remote node gives up the data that owns the local memory line. At this time, the storage area consistency comparison table in the local node will also change the state of the local memory line from the SHARED state to the HOME state. In the HOME state, the processor in the local node can arbitrarily access the data in the local memory line, and the data in the local memory line exists only in the local node.
在SHARED状态下,如路径7所示,当远程节点发出远程无效(Remoteinvalidate)时,代表远程节点要更改此本地内存线的数据。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由SHARED状态改为GONE状态。在GONE状态之下,代表本地节点内的本地内存线的数据为旧的不正确的数据,并且正确的更改的本地内存线的数据现在储存在远程节点。In the SHARED state, as shown in
在HOME状态下,如路径6所示,当远程节点发出远程读取无效(Remoteread invalidate)时,代表远程节点要读取并更改此本地内存线的数据。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由HOME状态改为GONE状态。在GONE状态之下,代表本地节点内的本地内存线的数据为旧的不正确的数据,并且正确的更改的本地内存线的数据现在储存在远程节点。In the HOME state, as shown in
在GONE状态下,如路径8所示,当远程节点发出释出此本地内存线的数据(Remote rollout of modified copy)时,代表远程节点要将修改过后的本地内存线的数据释回至本地节点。本地节点内的储存区一致性对照表会将此本地内存线的状态由GONE状态改为HOME状态。此时,更改过后的本地内存线的数据又重新回到本地节点。In the GONE state, as shown in
在GONE状态下,如路径5所示,当本地节点发出本地读取(Local readline)或者本地读取无效(Local read invalidate),代表本地节点要读取此本地内存数据线的数据或者读取之后要修改。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由GONE状态改为WASH状态。此WASH状态系代表本地内存线的数据由远程节点回传到本地节点的过渡状态。In the GONE state, as shown in
在WASH状态下,如路径9所示,当本地节点发出本地读取并完成本地内存线的数据的接收(Completion of local read line),代表本地节点仅要读取此本地内存数据线的数据并不作修改。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由WASH状态改为SHARE状态。亦即,在SHARE状态下,本地内存线的数据同时储存在本地节点以及远程节点。In the WASH state, as shown in
在WASH状态下,如路径10所示,当本地节点发出本地读取无效并完成本地内存线的数据的接收(Completion of local read invalidate)时,代表本地内存要读取此本地内存数据线的数据并作修改。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由WASH状态改为HOME状态。亦即,在HOME状态下,本地内存线的数据仅会储存在本地节点。In the WASH state, as shown in
以上的描述即为公知DSM系统节点之间共享本地内存(local memory)的流程。故每一节点的DSM控制器必须维护一储存区一致性对照表(memorycoherency directory),此对照表用来记录本地内存中每一本地内存线(localmemory line)的状态,当远程节点欲读取此本地节点的本地内存时,方可依据对照表中记录的本地内存线的状态,来决定读取动作如何进行,以确保读取正确数据。The above description is the process of sharing local memory (local memory) between known DSM system nodes. Therefore, the DSM controller of each node must maintain a storage area consistency comparison table (memorycoherency directory), which is used to record the state of each local memory line (localmemory line) in the local memory, when the remote node wants to read this When the local memory of the local node is selected, the state of the local memory line recorded in the comparison table can be used to determine how to perform the read operation, so as to ensure that the correct data is read.
然而,在公知的分布式共享内存多处理器系统中,在HOME状态下时。请参照图1,当远程节点要读取本地内存线的数据时,首先,本地节点100的DSM控制器140会在系统总线160发出一笔系统总线交易(System BusTransaction),用以询问此本地内存线的数据实际的位置所在。However, in the known distributed shared memory multiprocessor system, when in the HOME state. Please refer to Fig. 1, when the remote node wants to read the data of the local memory line, at first, the DSM
(I)假设此本地内存线的数据系存在处理器110或120的高速缓存(cachememory)中,则处理器110或120会发出一快取命中(Hit)命令,并送出此本地内存线的数据至系统总线160,并且由内存控制芯片130写回本地内存150,同时,DSM控制器140亦由系统总线160接收此本地内存线的数据并且送至远程节点。而此时本地节点内的储存区一致性对照表会将此本地内存线的状态为SHRAE状态。(1) Assuming that the data of the local memory line is stored in the cache (cachememory) of the
(II)假设此本地内存线的数据系储存于本地内存150内,则处理器110或120不会发出快取命中(Hit)命令,此时代表此内存数据线存在于本地内存150内。因此,DSM控制器140会利用内部总线135要求内存控制芯片130将本地内存线的数据送至DSM控制器140,之后送至远程节点。而此时本地节点内的储存区一致性对照表会将此本地内存线的状态为SHRAE状态。(II) Assuming that the data of the local memory line is stored in the
由于本地节点内的储存区一致性对照表内记录的HOME状态,在远程节点要求读取本地内存数据线的数据时,没有办法得知此本地内存数据线的数据的正确储存位置(可能存在本地内存内,高速缓存内,或者二者)。故DSM控制器140必须发出一系统总线交易询问此本地内存线的数据实际的位置所在。而在上述(II)状况时,由于本地内存数据线的数据已经存在本地内存150内,而DSM控制器140仍需要发出一系统总线交易来确认此本地内存数据线的数据的储存位置。因此,这个系统总线交易不仅会增加系统总线160的工作量,并且会延迟读取本地内存线的数据的时间。Due to the HOME state recorded in the storage area consistency comparison table in the local node, when the remote node requests to read the data of the local memory data line, there is no way to know the correct storage location of the data of the local memory data line (there may be a local memory, cache, or both). Therefore, the
发明内容Contents of the invention
有鉴于此,本实用新型的目的在于提供一种远程节点读取本地内存维护方法中的一种分布式共享内存系统节点,用于远程节点向本地节点要求读取一本地内存线,至少包括下列步骤:判断该本地内存线的最新数据是否位于本地节点的本地内存内;以及当最新数据位于本地内存内时,经由内部总线索取最新数据并送至远程节点。In view of this, the purpose of this utility model is to provide a distributed shared memory system node in a remote node reading local memory maintenance method, which is used for remote nodes to request local nodes to read a local memory line, at least including the following Step: judging whether the latest data of the local memory line is in the local memory of the local node; and when the latest data is in the local memory, fetching the latest data via the internal bus and sending it to the remote node.
为达上述及其它目的,本实用新型提供一种分布式共享内存系统中远程节点读取本地内存维护装置,包括:至少一处理器;一系统总线耦接至该至少一处理器;一内存控制芯片,耦接至该系统总线;一本地内存,耦接至该内存控制芯片,其中该本地内存区分为多个本地内存线;一DSM控制器,耦接至该系统总线;一内部总线耦接于该DSM控制器与该内存控制芯片;In order to achieve the above and other purposes, the utility model provides a remote node read local memory maintenance device in a distributed shared memory system, including: at least one processor; a system bus coupled to the at least one processor; a memory control chip, coupled to the system bus; a local memory, coupled to the memory control chip, wherein the local memory area is divided into a plurality of local memory lines; a DSM controller, coupled to the system bus; an internal bus coupled on the DSM controller and the memory control chip;
其中,所述处理器内设有一远程节点读取信号接受模块,该读取信号接受模块与所述DSM控制器相连,所述DSM控制器内有一判断模块,该判断模块向该本地内存内该特定本地内存线发出判断信号,位于该本地内存内的该最新数据,可经由该内部总线送至该远程节点,即:一远程节点向处理器发出读取该本地内存内的一特定本地内存线读取信号,该DSM控制器向该本地内存内发出该特定本地内存线的一最新数据是否位于该本地内存内判断信号,换言之,当一远程节点要求读取该本地内存内的一特定本地内存线时,该DSM控制器判断该特定本地内存线的一最新数据是否位于该本地内存内,并在该最新数据位于该本地内存内时,经由该内部总线索取该最新数据并送至该远程节点。Wherein, a remote node reading signal receiving module is provided in the processor, the reading signal receiving module is connected to the DSM controller, and there is a judging module in the DSM controller, and the judging module sends the data to the local memory. A specific local memory line sends a judgment signal, and the latest data located in the local memory can be sent to the remote node through the internal bus, that is, a remote node sends a processor to read a specific local memory line in the local memory Read signal, the DSM controller sends a judgment signal whether the latest data of the specific local memory line is located in the local memory to the local memory, in other words, when a remote node requests to read a specific local memory in the local memory line, the DSM controller judges whether a latest data of the specific local memory line is located in the local memory, and when the latest data is located in the local memory, retrieves the latest data via the internal bus and sends it to the remote node .
该最新数据不位于该本地内存内,该DSM控制器内的该判断模块向所述处理器发出判断信号,位于所述处理器内的该最新数据,可经由该系统总线送至该远程节点;换言之,该DSM控制器判断出该最新数据不位于该本地内存内时,可再判断该最新数据是否位于该至少一处理器内,并在该最新数据位于该至少一处理器内时,经由该系统总线发出一系统总线交易来索取该最新数据并送至该远程节点。The latest data is not located in the local memory, the judgment module in the DSM controller sends a judgment signal to the processor, and the latest data in the processor can be sent to the remote node via the system bus; In other words, when the DSM controller determines that the latest data is not located in the local memory, it can then determine whether the latest data is located in the at least one processor, and when the latest data is located in the at least one processor, through the The system bus issues a system bus transaction to request the latest data and send it to the remote node.
该DSM控制器内有一可维护一储存区一致性对照表的维护判断模块,用以判断该最新数据的位置。The DSM controller has a maintenance judging module capable of maintaining a storage area consistency comparison table for judging the position of the latest data.
为达上述及其它目的,本实用新型提供一种远程节点读取本地内存维护装置,用于第一远程节点向本地节点要求读取本地内存线,至少包括:该本地内存线的HOME状态可分为HOME-N、HOME-M两个状态,当该本地内存线在HOME-N或者SHARED状态时,直接向本地内存接收本地内存线的数据并送至第一远程节点;当该本地内存线在GONE状态时,直接向第二远程节点读取本地内存线的数据并送至第一远程节点;以及,当该本地内存线系在HOME-M状态时,则在系统总线上发起一交易用以读取该本地内存线的数据,并由系统总线接收本地内存线的数据并送至该第一远程节点。In order to achieve the above and other purposes, the utility model provides a remote node reading local memory maintenance device, which is used for the first remote node to request the local node to read the local memory line, at least including: the HOME state of the local memory line can be divided It is in the two states of HOME-N and HOME-M. When the local memory line is in the HOME-N or SHARED state, it directly receives the data of the local memory line from the local memory and sends it to the first remote node; when the local memory line is in the When in the GONE state, directly read the data of the local memory line to the second remote node and send it to the first remote node; and, when the local memory line is in the HOME-M state, initiate a transaction on the system bus for The data of the local memory line is read, and the data of the local memory line is received by the system bus and sent to the first remote node.
由上述的说明中可知,应用本实用新型所提供的分布式共享内存系统中远程节点读取本地内存维护方法及其应用装置,当远程节点发出本地内存线的读取请求时,DSM控制器可得知最新数据的储存位置,并在最短的时间之内将最新数据响应至远程节点,而无须再发出系统总线交易,以确认其实际储存位置,故可减少共享内存间的数据读取延迟。From the above description, it can be known that when the remote node reads the local memory maintenance method and its application device in the distributed shared memory system provided by the utility model, when the remote node sends a read request of the local memory line, the DSM controller can Know the storage location of the latest data, and respond to the latest data to the remote node in the shortest time without sending system bus transactions to confirm the actual storage location, so it can reduce the data reading delay between shared memories.
为让本实用新型的上述和其它目的、特征和优点能更明显易懂,下文特举一较佳实施例,并配合附图,作详细说明如下。In order to make the above and other objects, features and advantages of the present invention more comprehensible, a preferred embodiment will be described in detail below with accompanying drawings.
附图说明Description of drawings
图1为根据本实用新型较佳实施例的一种分布式共享内存多处理器系统节点方块示意图;Fig. 1 is a kind of distributed shared memory multiprocessor system node block schematic diagram according to preferred embodiment of the present invention;
图2为公知储存区一致性对照表中针对本地内存线的状态图;FIG. 2 is a state diagram for local memory lines in a known storage area consistency comparison table;
图3为根据本实用新型储存区一致性对照表中针对本地内存线的状态图;以及Fig. 3 is a state diagram for local memory lines in the storage area consistency comparison table according to the utility model; and
图4为根据本实用新型较佳实施例的一种远程节点读取本地内存维护方法流程图。标号说明:Fig. 4 is a flowchart of a remote node reading local memory maintenance method according to a preferred embodiment of the present invention. Label description:
100分布式共享内存多处理器系统节点100 distributed shared memory multiprocessor system nodes
110处理器110 processors
120处理器120 processors
130内存控制芯片130 memory control chip
135内部总线135 internal bus
140DSM控制器140DSM controller
150本地内存150 local memory
160系统总线160 system bus
具体实施方式Detailed ways
请参考图3所示,其为本实用新型储存区一致性对照表中针对本地内存的状态图。为了提升系统总线的效能,本实用新型提供HOME-M状态以及HOME-N来取代公知储存区一致性对照表中的HOME状态。其中:Please refer to FIG. 3 , which is a state diagram for the local memory in the storage area consistency comparison table of the present invention. In order to improve the performance of the system bus, the utility model provides the HOME-M state and the HOME-N to replace the HOME state in the conventional storage area consistency comparison table. in:
HOME-N:代表没有任何远程节点来读取此本地内存线,且最新的本地内存线的数据已经储存在本地内存内。HOME-N: It means that there is no remote node to read the local memory line, and the latest data of the local memory line has been stored in the local memory.
HOME-M:代表没有任何远程节点来读取此本地内存线,且最新的本地内存线的数据不在本地内存内,而是在处理器的高速缓存内。HOME-M: It means that there is no remote node to read this local memory line, and the data of the latest local memory line is not in the local memory, but in the cache of the processor.
接下来针对一个本地内存线数据的变化并配合这些状态的转换作一说明。在初始状态时,本地节点(local node)内的储存区一致性对照表中对应于此本地内存线的状态为HOME-N状态。在HOME-N状态之下,此本地节点内的本地内存拥有最新的本地内存线的数据。Next, an explanation will be given for the change of a local memory line data and the transition of these states. In the initial state, the state corresponding to this local memory line in the storage area consistency comparison table in the local node (local node) is the HOME-N state. In the HOME-N state, the local memory in this local node has the latest data of the local memory line.
在HOME-N状态之下,如路径1所示,当远程节点发出远程读取(Remoteread line),代表远程节点要读取本地内存线的数据。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由HOME-N状态改为SHARED状态。亦即,在HOME-N状态下,DSM控制器可直接经由内部总线来向内存控制芯片要求本地内存线的数据并送至远程节点。因此,DSM控制器并不用发出系统总线交易。再者,在SHARED状态下,本地内存线的数据同时储存在本地节点以及远程节点。In the HOME-N state, as shown in
在HOME-N状态之下,如路径2所示,当本地节点发出本地读取无效(Localread invalidate)或者本地无效(Local invalidate)时,代表本地节点的处理器要更改本地内存线的数据。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由HOME-N状态改为HOME-M状态。在HOME-M状态之下,此本地节点内的处理器可以更改此本地内存线的数据,并储存在高速缓存内。In the HOME-N state, as shown in path 2, when the local node issues a local read invalidation (Local read invalidate) or a local invalidation (Local invalidate), the processor representing the local node wants to change the data of the local memory line. At this time, the storage area consistency comparison table in the local node will change the state of the local memory line from the HOME-N state to the HOME-M state. In the HOME-M state, the processor in the local node can change the data of the local memory line and store it in the cache.
在HOME-N状态之下,如路径6所示,当远程节点发出远程读取无效(Remote read invalidate)时,代表远程节点要读取并更改此本地内存线的数据。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由HOME-N状态改为GONE状态。在GONE状态之下,代表本地节点内的本地内存线的数据为旧的不正确的数据,并且最新的本地内存线的数据现在储存在远程节点。而在HOME-N状态下,DSM控制器可直接经由内部总线来向内存控制芯片要求本地内存线的数据并送至远程节点供之修改。因此,DSM控制器并不用发出系统总线交易。In the HOME-N state, as shown in
在HOME-M状态之下,如路径1所示,当远程节点发出远程读取(Remoteread line),代表远程节点要读取本地内存线的数据。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由HOME-M状态改为SHARED状态。亦即,在SHARED状态下,本地内存线的数据同时储存在本地节点以及远程节点。而在HOME-M状态下,DSM控制器必须发出系统总线交易使得处理器发出快取命中(Hit)命令并提供最新的本地内存线的数据至系统总线,用以储存至本地内存,同时DSM控制器亦会接收并送至远程节点。In the HOME-M state, as shown in
在HOME-M状态之下,如路径6所示,当远程节点发出远程读取无效(Remote read invalidate)时,代表远程节点要读取并更改此本地内存线的数据。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由HOME-M状态改为GONE状态。在GONE状态之下,代表本地节点内的本地内存线的数据为旧的不正确的数据,并且最新的本地内存线的数据现在储存在远程节点。而在HOME-M状态下,DSM控制器必须发出系统总线交易使得处理器发出快去命中(Hit)命令并提供最新的本地内存线的数据至DSM控制器并送至远程节点供之更改。In the HOME-M state, as shown in
在HOME-M状态之下,如路径3所示,当本地节点发出本地读取(Local readline)时,代表本地内存线的数据由高速缓存写回本地内存。本地节点内的储存区一致性对照表会将此本地内存线的状态由HOME-M状态改为HOME-N状态。在HOME-N状态之下,此时,本地节点内的本地内存拥有最新的本地内存线的数据。In the HOME-M state, as shown in path 3, when the local node issues a local read (Local readline), the data representing the local memory line is written back to the local memory by the cache. The storage area consistency comparison table in the local node will change the state of the local memory line from the HOME-M state to the HOME-N state. In the HOME-N state, at this time, the local memory in the local node has the latest data of the local memory line.
在SHARED状态下,如路径2所示,当本地节点发出本地读取无效(Localread invalidate)或者本地无效(Local invalidate)时,代表本地节点要更改本地内存线的数据。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由SHARED状态改为HOME-M状态。在HOME-M状态下,此本地节点内的处理器可以更改此本地内存线的数据,并储存在高速缓存内。In the SHARED state, as shown in path 2, when the local node issues a local read invalidation (Local read invalidate) or a local invalidation (Local invalidate), it means that the local node wants to change the data of the local memory line. At this time, the storage area consistency comparison table in the local node will change the state of the local memory line from the SHARED state to the HOME-M state. In the HOME-M state, the processor in this local node can change the data of this local memory line and store it in the cache.
在SHARED状态下,如路径4所示,当远程节点发出远程释放出此本地内存线的数据(Remote rollout of shared copy)时,代表远程节点放弃拥有此本地内存线的数据。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态也必须由SHARED状态改为HOME-N状态。在此状态之下,本地内存线的数据系储存在本地节点的本地内存内。In the SHARED state, as shown in path 4, when the remote node sends out data that remotely releases the local memory line (Remote rollout of shared copy), it means that the remote node gives up the data that owns the local memory line. At this time, the storage area consistency comparison table in the local node will also change the state of the local memory line from the SHARED state to the HOME-N state. In this state, the data of the local memory line is stored in the local memory of the local node.
在GONE状态下,如路径8所示,当远程节点发出释出此本地内存线的数据(remote rollout of modified copy)时,代表远程节点要将修改过后的本地内存线的数据释回至本地节点。本地节点内的储存区一致性对照表会将此本地内存线的状态由GONE状态改为HOME-N状态。修改过后的本地内存线的数据又重新回到本地节点的本地内存内。In the GONE state, as shown in
在WASH状态下,如路径10所示当本地节点发出本地读取无效并完成本地内存线的数据的接收(Completion of local read invalidate)时,代表本地内存要读取此本地内存数据线的数据并作修改。此时,本地节点内的储存区一致性对照表会将此本地内存线的状态由WASH状态改为HOME-M状态。亦即,在HOME-M状态下,本地内存线的数据会被处理器更改并储存于高速缓存内。In the WASH state, as shown in
上述为本实用新型将公知HOME状态改为HOME-M状态以及HOME-N状态之后,这二个新的状态与SHARED状态、GONE状态、以及WASH状态之间的关系。在HOME-N状态时,不论要跳至SHARED状态或者GONE状态,DSM控制器可直接要求内存控制芯片经由内部总线直接提供本地内存线的数据,并不需要再额外的发出系统总线交易来询问此本地内存线的数据的储存位置,因此可降低系统总线的使用率,提升本地节点的工作效能。至于SHARED状态、GONE状态、以及WASH状态之间的转换关系,则与公知相同不再赘述。The above is the relationship between the two new states and the SHARED state, the GONE state, and the WASH state after the known HOME state is changed to the HOME-M state and the HOME-N state in the present invention. In the HOME-N state, whether to jump to the SHARED state or the GONE state, the DSM controller can directly request the memory control chip to directly provide the data of the local memory line through the internal bus, and there is no need to issue an additional system bus transaction to inquire about this The data storage location of the local memory line can reduce the utilization rate of the system bus and improve the working performance of the local node. As for the transition relationship between the SHARED state, the GONE state, and the WASH state, it is the same as the known ones and will not be repeated here.
上述为节点中的储存区一致性对照表状态变化维护说明,配合参考此储存区一致性对照表,则DSM控制器可发展出如图4所示的远程节点读取本地内存维护方法。首先,接收到来自远程节点发出的本地内存线的读取请求(S300)。然后判断对照表中的本地内存线状态是否为HOME-N状态或者SHARED状态(S305)。The above is the maintenance description of the status change of the storage area consistency comparison table in the node. With reference to the storage area consistency comparison table, the DSM controller can develop a remote node reading local memory maintenance method as shown in Figure 4. First, a read request of a local memory line from a remote node is received (S300). Then judge whether the local memory line state in the comparison table is the HOME-N state or the SHARED state (S305).
当在HOME-N状态或者SHARED状态时,代表本地内存线的数据正储存于本地内存中,因此,直接经由内部总线向本地内存要求此本地内存线的数据(S310)并响应远程节点此本地内存线的数据(S315)。When in the HOME-N state or the SHARED state, the data representing the local memory line is being stored in the local memory, therefore, directly request the data of the local memory line to the local memory via the internal bus (S310) and respond to the local memory of the remote node Line data (S315).
当现在并不在HOME-N状态或者SHARED状态时,则判断对照表中的本地内存线状态是否为GONE状态(S315)。当在GONE状态时,代表本地内存线的数据正储存于其它远程节点中,因此,直接向拥有本地内存线的数据的远程节点读取更改后的此本地内存线的数据并存回本地内存(S325),并响应远程节点此本地内存线的数据(S315)。When not in the HOME-N state or the SHARED state now, it is judged whether the local memory line state in the comparison table is the GONE state (S315). When in the GONE state, the data representing the local memory line is being stored in other remote nodes, therefore, directly read the data of this local memory line after the change to the remote node having the data of the local memory line and store it back into the local memory (S325 ), and respond to the data of the local memory line of the remote node (S315).
当现在并不在GONE状态时,则判断对照表中的本地内存线状态是否为HOME-M状态(S330)。当在HOME-M状态时,代表本地内存线的数据正储存于处理器的高速缓存内,因此,直接发出系统总线交易,当处理器响应此本地内存线的数据回本地内存时,撷取此本地内存线的数据(S335),并响应远程节点此本地内存线的数据(S315)。When it is not in the GONE state now, it is judged whether the local memory line state in the comparison table is the HOME-M state (S330). When in the HOME-M state, the data representing the local memory line is being stored in the processor's cache, so the system bus transaction is issued directly, and when the processor responds to the data of the local memory line back to the local memory, it fetches this The data of the local memory line (S335), and respond to the data of the local memory line of the remote node (S315).
当现在并不在HOME-M状态时,则判断对照表中的本地内存线状态为WASH状态(S340)。由于WASH状态代表被更改过的本地内存线的数据由远程节点回传到本地节点的过渡状态。因此回到S305步骤,重新判断其变更的状态,再依据其状态决定进行的读取动作程序。When it is not in the HOME-M state, it is judged that the state of the local memory line in the comparison table is the WASH state (S340). Because the WASH state represents the transition state in which the data of the changed local memory line is sent back from the remote node to the local node. Therefore, go back to step S305, re-judgment the status of the change, and then determine the read operation program according to the status.
综上所述,本实用新型至少具有以下的优点:In summary, the utility model has at least the following advantages:
1当远程节点欲读取本地内存时,在MOME-N的状态下无须重复经由系统总线发出确认本地内存线的数据位置的系统总线交易,可节省系统总线的负担,进而增进其效能。1 When the remote node wants to read the local memory, it is not necessary to repeatedly send the system bus transaction to confirm the data position of the local memory line through the system bus in the MOME-N state, which can save the burden of the system bus and improve its performance.
2可降低远程节点读取本地内存的读取延迟。2 It can reduce the reading delay of remote nodes reading local memory.
虽然本实用新型已以一较佳实施例公开如上,然其并非用以限定本实用新型,任何本领域普通技术人员,在不脱离本实用新型的精神和范围内,当可作各种等效变动与润饰,因此本实用新型的保护范围以权利要求为准。Although the utility model has been disclosed as above with a preferred embodiment, it is not intended to limit the utility model. Anyone skilled in the art can make various equivalents without departing from the spirit and scope of the utility model. Changes and retouching, so the scope of protection of the utility model shall be determined by the claims.
Claims (9)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 02240922 CN2569238Y (en) | 2002-07-01 | 2002-07-01 | Remote node reads local memory maintenance device in distributed shared memory system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 02240922 CN2569238Y (en) | 2002-07-01 | 2002-07-01 | Remote node reads local memory maintenance device in distributed shared memory system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN2569238Y true CN2569238Y (en) | 2003-08-27 |
Family
ID=33713890
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN 02240922 Expired - Fee Related CN2569238Y (en) | 2002-07-01 | 2002-07-01 | Remote node reads local memory maintenance device in distributed shared memory system |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN2569238Y (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100383763C (en) * | 2004-02-27 | 2008-04-23 | 中国人民解放军国防科学技术大学 | Page Migration and Copy Method Based on Reverse Page Table of Operating System |
| CN100486178C (en) * | 2006-12-06 | 2009-05-06 | 中国科学院计算技术研究所 | A remote internal memory sharing system and its realization method |
| CN102147740A (en) * | 2010-02-08 | 2011-08-10 | 微软公司 | Fast machine booting through streaming storage |
| US10025509B2 (en) | 2010-02-08 | 2018-07-17 | Microsoft Technology Licensing, Llc | Background migration of virtual storage |
-
2002
- 2002-07-01 CN CN 02240922 patent/CN2569238Y/en not_active Expired - Fee Related
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100383763C (en) * | 2004-02-27 | 2008-04-23 | 中国人民解放军国防科学技术大学 | Page Migration and Copy Method Based on Reverse Page Table of Operating System |
| CN100486178C (en) * | 2006-12-06 | 2009-05-06 | 中国科学院计算技术研究所 | A remote internal memory sharing system and its realization method |
| CN102147740A (en) * | 2010-02-08 | 2011-08-10 | 微软公司 | Fast machine booting through streaming storage |
| CN102147740B (en) * | 2010-02-08 | 2017-01-18 | 微软技术许可有限责任公司 | Fast machine booting through streaming storage |
| US10025509B2 (en) | 2010-02-08 | 2018-07-17 | Microsoft Technology Licensing, Llc | Background migration of virtual storage |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7814279B2 (en) | Low-cost cache coherency for accelerators | |
| CN1116643C (en) | Non-uniform memory reference data processing system with shared intervention support | |
| CN101430664B (en) | A kind of multiprocessor system and Cache consistent message transmission method | |
| US20090300289A1 (en) | Reducing back invalidation transactions from a snoop filter | |
| CN106843772A (en) | A kind of system and method based on uniformity bus extension nonvolatile memory | |
| WO1995025306A2 (en) | Distributed shared-cache for multi-processors | |
| CN103294611B (en) | Server node data cache method based on limited data consistency state | |
| US20030191906A1 (en) | Data-maintenance method of distributed shared memory system | |
| CN1474969A (en) | Method and apparatus for scalable coherency disambiguation in a shared memory architecture | |
| CN1860444A (en) | Inter-processor interrupts | |
| CN1320464C (en) | Method and equipment for maintenance of sharing consistency of cache memory | |
| CN1152330C (en) | Maintenance method for remote node to read local memory and application device thereof | |
| CN101088074B (en) | System and method for cache coherency in caches having different cache location lengths | |
| CN117290285A (en) | On-chip cache consistency maintenance device and method of multi-core chiplet architecture | |
| CN118519924B (en) | Cache control method and device, electronic equipment and readable storage medium | |
| CN1506845A (en) | Isomeric proxy cache memory consistency and method and apparatus for limiting transmission of data | |
| CN1545034A (en) | A double-loop monitoring method for local cache coherence of on-chip multiprocessors | |
| CN1658176A (en) | Method and equipment of data communication | |
| CN1860452A (en) | Methods and apparatus for providing early responses from a remote data cache | |
| KR20070048797A (en) | How to transfer data to the processor cache using the DMC controller in the processor | |
| CN2569238Y (en) | Remote node reads local memory maintenance device in distributed shared memory system | |
| CN102959529A (en) | Broadcast protocol for a network of caches | |
| CN1834942A (en) | Information processing device and data control method in information processing device | |
| CN119271618B (en) | A method and system for implementing an RDMA network card request queue | |
| CN120687382A (en) | Memory access method and electronic device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| CU01 | Correction of utility model |
Correction item: Priority Correct: 60/371,194 Number: 35 Volume: 19 |
|
| CU03 | Publication of corrected utility model |
Correction item: Priority Correct: 60/371,194 Number: 35 Volume: 19 |
|
| C19 | Lapse of patent right due to non-payment of the annual fee | ||
| CF01 | Termination of patent right due to non-payment of annual fee |