CN104508639B - 使用一致性域表的一致性管理 - Google Patents
使用一致性域表的一致性管理 Download PDFInfo
- Publication number
- CN104508639B CN104508639B CN201380039971.0A CN201380039971A CN104508639B CN 104508639 B CN104508639 B CN 104508639B CN 201380039971 A CN201380039971 A CN 201380039971A CN 104508639 B CN104508639 B CN 104508639B
- Authority
- CN
- China
- Prior art keywords
- coherency domains
- coherency
- resource
- domains
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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
- G06F12/0837—Cache consistency protocols with software control, e.g. non-cacheable data
-
- 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
- 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/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种计算机程序产品,包括存储在非瞬时介质上的计算机可执行指令,其特征在于,当处理器执行所述指令时,处理器执行如下操作:将第一、第二、第三和第四一致性域地址分配给缓存数据,其中所述第一和第二地址为第一一致性域提供所述边界,所述第三和第四地址为第二一致性域提供所述边界;在所述第一资源执行第一任务前将所述第一一致性域告知给第一资源;以及在所述第二资源执行第二任务前将所述第二一致性域告知给第二资源。
Description
相关申请案的交叉参考
本发明要求2012年7月30日由Iulin Lih等人递交的发明名称为“一致性域(Coherence Domain)”的第61/677293号美国临时专利申请案,以及2013年7月23日由IulinLih等人递交的发明名称为“使用一致性域表的一致性管理(Coherence Management Usinga Coherent Domain Table)的第13/948632号美国专利申请案的在先申请优先权,这两个在先申请的内容以引用的方式并入本文本中,如全文再现一般。
关于由联邦政府赞助
研究或开发的声明
不适用。
参考缩微胶片附录
不适用。
背景技术
随着多核和其它多任务系统越来越受欢迎,有效缓存管理是未来计算机架构的重要方面。缓存可存储最近使用的数据以提高有效的存储器传输率,从而改善系统性能。缓存可由具有与处理器的速度相当的存储器设备实施。由于特定数据的两个或两个以上副本可以存在于基于缓存的计算机系统内的不止一个存储位置中,所以数据一致性是必需的。为了执行并行数据处理,部件可使用各种方法来保持缓存一致性并同步数据操作,例如对共享文件的读/写。一些系统可通过使用多个缓存来管理缓存一致性,其中每个缓存与多核系统的特定处理核关联,而其它系统可使用共享缓存。然而,维持独立缓存可能会利用不必要的带宽并可能降低处理速度。此外,某些程序可能需要多个处理器和/或资源对存储器中存储器的数据进行顺序(sequenced)或有序(ordered)访问。因此,需要缓存一致性方法,该方法降低了带宽要求和/或允许对存储器中存储的数据进行顺序或有序访问。
发明内容
在一项实施例中,本发明包括计算机程序产品,所述计算机程序产品包括存储在非瞬时介质上的计算机可执行指令,当处理器执行所述指令时,处理器执行如下操作:将第一、第二、第三和第四一致性域地址分配给缓存数据,其中所述第一和第二地址为第一一致性域提供所述边界,所述第三和第四地址为第二一致性域提供所述边界;在所述第一资源执行第一任务前将所述第一一致性域告知给第一资源;以及在所述第二资源执行第二任务前将所述第二一致性域告知给第二资源。
在另一项实施例中,本发明包括一种用于管理一致性域的装置,所述装置包括存储器和耦合到所述存储器的处理器,其中所述存储器包括指令,当所述处理器执行所述指令时,所述装置执行如下操作:细分缓存数据,其中细分包括将多个一致性域映射到所述缓存数据,每个一致性域包括至少一个地址范围;将第一一致性域分配给第一资源;将第二一致性域分配给第二资源,其中所述第一和第二一致性域不同;以及使用标识所述第一一致性域、所述第二一致性域、所述第一资源和所述第二资源的信息填充一致性域表。
在另一实施例中,本发明包括一种管理一致性域的方法,所述方法包括在一致性域表中将第一一致性域分配给第一资源,其中所述第一一致性域包括第一地址范围,所述第一地址范围指向缓存数据的第一部分;在所述一致性域表中将第二一致性域分配给第二资源,其中所述第二一致性域包括第二地址范围,所述第二地址范围指向所述缓存数据的第二部分;向第一资源提供所述第一一致性域;向第二资源提供所述第二一致性域;接收所述第一资源已完成第一任务的指示;接收所述第二资源已完成第二任务的指示;以及在所述一致性域表中修改与所述第一一致性域和所述第二一致性域的所述第一地址范围和所述第二地址关联的所述一致性域表条目。
结合附图和权利要求书,可从以下的详细描述中更清楚地理解这些和其它特征。
附图说明
为了更完整地理解本发明,现在参考以下结合附图和详细描述进行的简要描述,其中相同参考标号表示相同部分。
图1是多核处理器芯片的示意图。
图2是使用一致性域表进行一致性管理的示例实施例的一致性域表。
图3是使用一致性域表进行一致性管理的另一示例实施例的一致性域表。
图4是图示利用缓存一致性域模型进行缓存一致性管理的系统的一致性域管理过程的示例实施例的流程图。
具体实施方式
最初应理解,尽管下文提供一个或多个实施例的说明性实施方案,但可使用任意数目的当前已知或现有的技术来实施所公开的系统和/或方法。本发明决不应限于下文所说明的所述说明性实施方案、图式和技术,包含本文所说明并描述的示范性设计和实施方案,而是可以在所附权利要求书的范围以及其均等物的完整范围内修改。
本发明包括使用一系列地址范围(或其指针)将一个存储器对象细分、划分或分隔为多个一致性域。一致性域可用于确保多个处理器之间的缓存一致性和/或按序排列进程、任务等。通过为资源提供较小部分的共享数据,例如仅提供线程的某些部分,扩展量与传统缓存一致性模型相比可以降低。使用一致性域可使得一致性消息仅在特定一致性域中进行分发。这种数据本地化(data localization)可减少一致性域中产生的消息流量。使用一致性域可提升性能(例如,由于数据流量和延迟的减少,所以性能提高)、减少用电量(例如,流量减少可降低功率要求)和降低成本(例如,由于带宽要求更低所以成本降低)。
图1是多核处理器芯片100的示意图。本领域技术人员知道,多核处理器芯片100可实施为单个集成电路芯片或具有多个芯片的单个芯片封装。多核处理器芯片100可包括多个处理器110至116(例如,核),其可联合或独立操作以大体上同时执行某些功能、访问和执行程序等。虽然图1显示了4个处理器,但是本领域技术人员应理解,更多或更少处理器可包括在合适的替代架构中。如图1所示,每个处理器110至116可与对应的主或一级(L1)缓存120至126关联。每个L1缓存120至126可包括L1缓存控制器128。L1缓存120至126可与辅助或二级(L2)缓存130和132通信。L2缓存130和132可包括比L1缓存120更多的存储容量并且可由多于一个L1缓存120至126共享。每个L2缓存130和132可包括目录134和/或L2缓存控制器136。目录134可动态跟踪各缓存线的共享者(sharer)以强化一致性,例如,通过在每个节点上保存缓存块共享信息。L2缓存控制器136可执行某些其它功能,例如,为缓存生成时钟,监视地址和数据以在第二装置修改主存储器或更高级别缓存副本等时更新存储器位置的本地副本。L2缓存130和132可与第三级或三级(L3)缓存140通信。L3缓存140可包括比L2缓存130和132更多的存储容量并且可由多于一个L2缓存130和132共享。L3缓存140可包括目录142和/或L3缓存控制器144,L3缓存140可为L3缓存140执行与目录134和/或L2缓存控制器136大体相同的功能。多核处理器芯片100的各个部件可通过所示方式以可通信方式耦合。虽然各缓存描绘为复数和/或单数,但是描述是不作限制的并且本领域技术人员将认识到共享缓存可在一些应用中适当地利用并且单独或独立缓存可在其它应用中适当地利用。类似地,各种类型的缓存,例如指令缓存(i-缓存)、数据缓存(d-缓存)等,可根据架构需要适当地利用。此外,各缓存可根据眼前需求的要求设计或实施为,例如统一或集成缓存或将数据与指令分离的缓存。尽管未在图1中示出,该架构还可包括其它部件,例如,代表I/O设备参与或见证事务的输入/输出(I/O)中心。
通常,处理器110至116可从只读存储器(ROM)、随机存取存储器(RAM)和/或其它存储设备(统称为“主存储器”)接收指令和数据。为了缩短传输时间并增加对主存储器中存储的数据的访问速度,多核处理器芯片100可包括一个或多个缓存,例如L1缓存120至126、L2缓存130和132,和L3缓存140,以提供临时的数据存储设备,其中代码或数据活动块(例如,程序数据或微处理器指令)可临时存储在该数据存储设备中。缓存可包括存储在主存储器中的数据副本,且对缓存数据的修改必须在主存储器中反映。多核处理器芯片100可通过将单独的程序执行或任务线程分配给各处理器110至116来管理缓存一致性。每个线程可分配有独占存储器(exclusive memory),每个线程可对独占存储器进行读写而无需关心分配给任意其它线程的存储器的状态。然而,相关线程可共享某些数据,因此,每个线程可分配有具有共享属性的一个或多个公共页面。共享存储器的更新必须对所有共享该共享存储器的处理器可见,这便产生了缓存一致性问题。可采用不同的一致性模型解决缓存一致性问题。
两种类型的一致性模型为侦听和基于目录的一致性。侦听可理解为一种各缓存监控访问缓存存储器位置的地址线的过程。当观察到对包含缓存副本的位置(例如,L2缓存130)进行写操作时,缓存控制器136可使其自身对侦听到的存储器位置的副本失效。在缓存控制器136处实施的侦听过滤器可通过保存多个条目减少侦听流量,每个条目表示一个或多个节点(例如,L1缓存120和L1缓存122)所拥有的缓存线。当需要替换其中一个条目时,侦听过滤器可选择一个条目用于替换,其中该条目表示通过每个条目中的存在矢量(presence vector)所确定的最少节点所拥有的缓存线。如果最少数目的节点拥有多于一条缓存线,那么时间或其它类型的算法可用于精选。
基于目录的一致性可指基于目录的系统,其中公共目录(例如,L3目录142)动态保持缓存(例如,L2缓存130和132)之间的一致性并保存被共享的数据。目录可作为过滤器,通过过滤器,处理器(例如,处理器110)必须请求允许将条目从主存储器加载到其缓存(例如,L1缓存120)。当保存的数据条目(例如,L1缓存120上的数据条目)被改变时,目录(例如,L3目录142)可用该条目更新其它缓存(L1缓存122至126和L2缓存130和132)或使其它缓存失效。
侦听和基于目录的一致性均有利有弊。假设存在足够带宽,侦听协议将更快,因为所有事务都包括所有处理器可见的请求/响应。其中一个缺点在于侦听不具有可扩展性。每个请求都必须向系统中的所有节点广播,并且随着系统变大,逻辑和/或物理总线及所需带宽也必须变大。另一方面,例如,由于三跳请求/转发/响应序列,目录的延迟更长,但是目录使用的带宽小得多,因为消息是点到点的并且不进行广播。由此,许多大型系统(例如,具有多于64个处理器的系统)可使用这种类型的缓存一致性。
或者,可实施屏障结构(barrier construct)来进行并行数据处理的排序。屏障结构可阻止某些事务的进行,直至完成相关事务。屏障可包括等待和/或延迟(throttling)命令并且可用于例如事务和处理器中的同步和排序。屏障可使某些硬件部分在限定时长内保持特定状态,例如,直至满足某些条件。
虽然使用屏障可有利于同步数据操作,但是使用屏障可能过度保守且不准确。屏障可使硬件在不必要的时间段内保持等待状态,这可能会导致,例如系统性能和成本方面不必要的浪费。例如,系统可要求在所有屏障前事务完毕后发送屏障,并且还可要求仅在移除屏障后发送屏障后事务。在这些情况下,屏障扩展范围会以并行性为代价受到严格限制。再例如,系统可在屏障前事务完毕之前发送屏障,并且还可根据网络拓扑和全局观测点的位置广泛转发屏障。因此,存在能够更精确地标识和利用一致性域的需求。
图2是使用一致性域表进行一致性管理的示例实施例的一致性域表200。缓存一致性域可包括存储器(例如,L3缓存140的存储器)的一个或多个细分段,缓存一致性域使用一个或多个地址范围以隔离至少线程、程序、任务、指令或其它数据的一部分。这些数据对象可划分为线程并且划分的各部分可分配给资源。缓存一致性域可以任务依赖方式或数据依赖方式细分这些线程并将细分后的数据提供给这些资源。例如,线程可通过包括某个屏障模型处理排序功能的方式(例如将用于第一资源的第一一致性域排列在用于第二资源的第二一致性域之前)划分为一致性域。类似地,线程可通过包括共享数据最小化的方式划分为一致性域,从而提供需要管理缓存一致性的相对较窄范围的数据。缓存一致性域是可配置的并且可基于实施系统的需求和/或资源而改变,例如通过修改地址范围,通过改变一致性域中的地址范围数目等。在一些情况下,一致性域的映射发生在相关进程或任务开始之前,而在其它情况下,一致性域的映射与相关进程或任务同时发生。
表200可存储在缓存目录(例如,L3目录142)中。表200的顶行202包含多个缓存(例如,L1缓存120至126)的标签。右列204包含细分或划分例如,L3缓存140上的存储器地址的地址范围。表200由地址范围和资源的映射填充,示出了每个资源的一致性域。如图所示,缓存0可具有包括第一和第四地址范围的一致性域,缓存1可具有包括第一和第二地址范围的一致性域,缓存2可具有包括第一和第三地址范围的一致性域,以及缓存3可具有包括第三和第四地址范围的一致性域。如图所示,各资源的一致性域可包括重合的地址范围。在一些实施例中,多个资源可共享完全重合的一致性域。一旦已使用各资源的一致性域信息填充表200,缓存控制器(例如,L3缓存控制器144)可向相关资源(例如,L1缓存120至126)发送一致性消息,一致性域消息包括针对相关资源的缓存数据的一致性域信息,例如数据、地址范围、进程依赖关系、共享一致性域的对等资源等。一旦资源已映射到一致性域并且已传输了相关数据,一致性域表200可类似充当简单的侦听过滤器,例如通过映射和/或跟踪缓存数据资源分配并有选择性地生成侦听操作,例如,当请求的缓存线存在于特定缓存存储器中时,向特定缓存存储器广播广播侦听请求等。类似于传统屏障模型,一致性域可利用准确标识的存储器位置以排序或按序排列进程、任务或事务。如果在表200中接收到例如,由于相关进程或任务完成不再需要一致性域(或其一部分)的信息,表200中的相关条目可被删除并且一致性域的部分可被释放。
图3是使用一致性域表进行一致性管理的另一示例实施例的一致性域表300。表300在为由软件管理的侦听过滤器实施一致性管理中是有用的,其中软件根据任务标识(ID)和地址列出了可能的侦听对象。一旦侦听流量管理由软件配置,那么侦听流量管理可使用硬件实施。表300可存储在缓存目录(例如,L3目录142)中。列302包括任务ID,指示系统(例如,多核处理器芯片100)正在执行的特定任务。列304包括任务所需的地址范围,例如列204中所指示的地址范围。列306指示一个或多个缓存或存储器单元A、B、C、D和E,例如行202的缓存。如图所示,任务ID1可仅涉及地址范围0至1023之间的缓存或存储器单元A、B和C,同时可执行缓存或存储器单元D和E。类似地,任务ID2可涉及用于在地址范围0至4195之间操作的缓存或存储器单元A、C和E。所属领域技术人员将理解,可修改表300用于屏障范围管理,可联合使用或使用单独的专用表,并且这种实施例被视为在本发明的范围之内。
图4是图示利用缓存一致性域模型进行缓存一致性管理的系统(例如,多核处理器芯片100)的一致性域管理过程400的示例实施例的流程图。在402中,缓存(例如,L3缓存140)可从主存储器接收数据。在404中,缓存控制器(例如,L3缓存控制器144)可通过将数据划分或细分为两个或多个分隔的地址范围,例如使用指针指向特定存储器地址(地址范围可以是或不可以是连续的)创建一致性域。在一些实施例中,缓存控制器可为多个任务和/或多个资源创建多个一致性域,例如以确保任务的合适同步或排序。在一些实施例中,一致性域将包括至少部分相同的数据,而在其它实施例中,一致性域将完全不同,即不包括任何相同数据。在406中,每个一致性域可分配给特定资源,例如处理器110至116中的一个。一致性域的创建和分配可记入目录,例如,L3目录142中。在408中,一致性域可发送到关联资源,例如,与处理器关联的L1缓存。在一些实施例中,缓存域内的数据可发送到关联资源,而在其它实施例中,指针信息可发送到关联资源。在410中,资源可完成需要一致性域的任务并可发送不再需要一致性域或其子部分的指示。该指示可允许缓存控制器例如通过删除与一致性域关联的条目来释放目录中的一致性域。在一些实施例中,可修改或重配置一致性域条目,例如在相关条目中替换替代地址范围和/或分配新值,而不是删除条目。
本发明公开至少一项实施例,且所属领域的普通技术人员对所述实施例和/或所述实施例的特征作出的变化、组合和/或修改均在本发明公开的范围内。因组合、合并和/或省略所述实施例的特征而得到的替代性实施例也在本发明的范围内。应当理解的是,本发明已明确阐明了数值范围或限制,此类明确的范围或限制应包括涵盖在上述范围或限制(如从大约1至大约10的范围包括2、3、4等;大于0.10的范围包括0.11、0.12、0.13等)内的类似数量级的迭代范围或限制。例如,每当公开具有下限Rl和上限Ru的数值范围时,具体是公开落入所述范围内的任何数字。具体而言,特别公开所述范围内的以下数字:R=Rl+k*(Ru-Rl),其中k是从1%到100%以1%增量递增的变量,即,k是1%、2%、3%、4%、5%……50%、51%、52%……95%、96%、97%、98%、99%或100%。此外,还特此公开了,上文定义的两个R值所定义的任何数值范围。除非另行说明,术语“大约”表示其后数值的±10%的范围。相对于权利要求的某一要素,术语“可选地”的使用表示该要素可以是需要的,或者也可以是不需要的,二者均在所述权利要求的范围内。使用如包括、包含和具有等较广术语应被理解为提供对如……组成、基本上由……组成,以及大体上由……组成等较窄术语的支持。本文所述的所有文档都以引用的方式并入本文中。
虽然本发明中已提供若干实施例,但应理解,在不脱离本发明的精神或范围的情况下,本发明所公开的系统和方法可以以许多其它特定形式来体现。本发明的实例应被视为说明性而非限制性的,且本发明并不限于本文本所给出的细节。例如,各种元件或部件可以在另一系统中组合或合并,或者某些特征可以省略或不实施。
此外,在不脱离本发明的范围的情况下,各种实施例中描述和说明为离散或单独的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或合并。展示或论述为彼此耦合或直接耦合或通信的其它项也可以采用电方式、机械方式或其它方式通过某一接口、设备或中间部件间接地耦合或通信。其它变化、替代和改变的示例可以由本领域的技术人员在不脱离本文精神和所公开的范围的情况下确定。
Claims (13)
1.一种用于管理一致性域的装置,其特征在于,包括:
存储器;
耦合到所述存储器的处理器,其中所述存储器包括指令,当所述处理器执行所述指令时,所述装置执行如下操作:
细分缓存数据,其中细分包括在一致性域表中将多个一致性域映射到所述缓存数据,每个一致性域包括至少一个地址范围;所述一致性域表为屏障域表;
将第一一致性域分配给第一资源,其中所述第一一致性域包括第一地址范围,所述第一地址范围指向缓存数据的第一部分;
将第二一致性域分配给第二资源,其中,所述第二一致性域包括第二地址范围,所述第二地址范围指向缓存数据的第二部分,所述第一一致性域和所述第二一致性域不同;以及
使用标识所述第一一致性域、所述第二一致性域、所述第一资源和所述第二资源的信息填充所述一致性域表。
2.根据权利要求1所述的装置,其特征在于,所述指令还促使所述装置进行如下操作:将包括关于所述第一一致性域的信息的第一一致性消息发送给所述第一资源以及将包括关于所述第二一致性域的信息的第二一致性消息发送给所述第二资源。
3.根据权利要求2所述的装置,其特征在于,所述指令还促使所述装置进行如下操作:将所述第一一致性消息发送给第一多个资源以及将所述第二一致性消息发送给第二多个资源。
4.根据权利要求1所述的装置,其特征在于,所述第一一致性域至少包括所述第二一致性域引用的一部分缓存数据。
5.根据权利要求1所述的装置,其特征在于,相关进程开始之前映射所述第一一致性域。
6.根据权利要求1所述的装置,其特征在于,相关进程完成之后删除所述第一一致性域。
7.根据权利要求1所述的装置,其特征在于,所述第一一致性域和所述第二一致性域由单独的进程访问。
8.一种管理一致性域的方法,其特征在于,包括:
在一致性域表中将第一一致性域分配给第一资源,其中所述第一一致性域包括第一地址范围,所述第一地址范围指向缓存数据的第一部分;
所述一致性域表为屏障域表;
在所述一致性域表中将第二一致性域分配给第二资源,其中所述第二一致性域包括第二地址范围,所述第二地址范围指向所述缓存数据的第二部分;
向第一资源提供所述第一一致性域;
向第二资源提供所述第二一致性域;
接收所述第一资源已完成第一任务的指示;
接收所述第二资源已完成第二任务的指示;以及
在所述一致性域表中修改与所述第一一致性域和所述第二一致性域的所述第一地址范围和所述第二地址范围关联的所述一致性域表的条目。
9.根据权利要求8所述的方法,其特征在于,所述第一一致性域至少包括所述第二一致性域引用的一部分缓存数据。
10.根据权利要求8所述的方法,其特征在于,所述第一一致性域不包含所述第二一致性域引用的任意缓存数据。
11.根据权利要求8所述的方法,其特征在于,修改所述一致性域表条目包括删除与所述第一一致性域和所述第二一致性域的所述第一地址范围和所述第二地址范围关联的所述一致性域表条目。
12.根据权利要求8所述的方法,其特征在于,修改包括向与所述第一一致性域和所述第二一致性域的所述第一地址范围和所述第二地址范围关联的所述一致性域表条目分配新值。
13.根据权利要求8所述的方法,其特征在于,所述第一一致性域和所述第二一致性域均包括多个非连续的地址范围。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261677293P | 2012-07-30 | 2012-07-30 | |
US61/677,293 | 2012-07-30 | ||
US13/948,632 | 2013-07-23 | ||
US13/948,632 US20140032854A1 (en) | 2012-07-30 | 2013-07-23 | Coherence Management Using a Coherent Domain Table |
PCT/US2013/052736 WO2014022402A1 (en) | 2012-07-30 | 2013-07-30 | Coherence management using a coherent domain table |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104508639A CN104508639A (zh) | 2015-04-08 |
CN104508639B true CN104508639B (zh) | 2018-03-13 |
Family
ID=49996087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380039971.0A Active CN104508639B (zh) | 2012-07-30 | 2013-07-30 | 使用一致性域表的一致性管理 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140032854A1 (zh) |
CN (1) | CN104508639B (zh) |
WO (1) | WO2014022402A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9405691B2 (en) * | 2013-06-19 | 2016-08-02 | Empire Technology Development Llc | Locating cached data in a multi-core processor |
CN105740164B (zh) * | 2014-12-10 | 2020-03-17 | 阿里巴巴集团控股有限公司 | 支持缓存一致性的多核处理器、读写方法、装置及设备 |
GB2539383B (en) * | 2015-06-01 | 2017-08-16 | Advanced Risc Mach Ltd | Cache coherency |
US10430455B2 (en) | 2017-06-09 | 2019-10-01 | Adobe Inc. | Sketch and style based image retrieval |
US10956166B2 (en) * | 2019-03-08 | 2021-03-23 | Arm Limited | Instruction ordering |
US11010165B2 (en) | 2019-03-12 | 2021-05-18 | Marvell Asia Pte, Ltd. | Buffer allocation with memory-based configuration |
US10698825B1 (en) * | 2019-03-12 | 2020-06-30 | Arm Limited | Inter-chip communication in a multi-chip system |
US11093405B1 (en) | 2019-05-29 | 2021-08-17 | Marvell Asia Pte, Ltd. | Shared mid-level data cache |
US11513958B1 (en) | 2019-05-29 | 2022-11-29 | Marvell Asia Pte, Ltd. | Shared mid-level data cache |
US11327890B1 (en) | 2019-05-29 | 2022-05-10 | Marvell Asia Pte, Ltd. | Partitioning in a processor cache |
US11036643B1 (en) * | 2019-05-29 | 2021-06-15 | Marvell Asia Pte, Ltd. | Mid-level instruction cache |
US11379368B1 (en) | 2019-12-05 | 2022-07-05 | Marvell Asia Pte, Ltd. | External way allocation circuitry for processor cores |
US20230126322A1 (en) * | 2021-10-22 | 2023-04-27 | Qualcomm Incorporated | Memory transaction management |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101978359A (zh) * | 2008-03-28 | 2011-02-16 | 英特尔公司 | 在不同高速缓存一致性域之间共享信息的技术 |
CN102063391A (zh) * | 2009-10-13 | 2011-05-18 | Arm有限公司 | 互连中的数据存储维护请求 |
CN102103568A (zh) * | 2011-01-30 | 2011-06-22 | 中国科学院计算技术研究所 | 片上多核处理器系统的高速缓存一致性协议的实现方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4775955A (en) * | 1985-10-30 | 1988-10-04 | International Business Machines Corporation | Cache coherence mechanism based on locking |
US7469321B2 (en) * | 2003-06-25 | 2008-12-23 | International Business Machines Corporation | Software process migration between coherency regions without cache purges |
US20050120185A1 (en) * | 2003-12-01 | 2005-06-02 | Sony Computer Entertainment Inc. | Methods and apparatus for efficient multi-tasking |
US8131941B2 (en) * | 2007-09-21 | 2012-03-06 | Mips Technologies, Inc. | Support for multiple coherence domains |
US8392663B2 (en) * | 2007-12-12 | 2013-03-05 | Mips Technologies, Inc. | Coherent instruction cache utilizing cache-op execution resources |
US8484422B2 (en) * | 2009-12-08 | 2013-07-09 | International Business Machines Corporation | Maintaining data coherence by using data domains |
US8793439B2 (en) * | 2010-03-18 | 2014-07-29 | Oracle International Corporation | Accelerating memory operations using virtualization information |
US8543770B2 (en) * | 2010-05-26 | 2013-09-24 | International Business Machines Corporation | Assigning memory to on-chip coherence domains |
US20120124297A1 (en) * | 2010-11-12 | 2012-05-17 | Jaewoong Chung | Coherence domain support for multi-tenant environment |
-
2013
- 2013-07-23 US US13/948,632 patent/US20140032854A1/en not_active Abandoned
- 2013-07-30 CN CN201380039971.0A patent/CN104508639B/zh active Active
- 2013-07-30 WO PCT/US2013/052736 patent/WO2014022402A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101978359A (zh) * | 2008-03-28 | 2011-02-16 | 英特尔公司 | 在不同高速缓存一致性域之间共享信息的技术 |
CN102063391A (zh) * | 2009-10-13 | 2011-05-18 | Arm有限公司 | 互连中的数据存储维护请求 |
CN102103568A (zh) * | 2011-01-30 | 2011-06-22 | 中国科学院计算技术研究所 | 片上多核处理器系统的高速缓存一致性协议的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104508639A (zh) | 2015-04-08 |
WO2014022402A1 (en) | 2014-02-06 |
US20140032854A1 (en) | 2014-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104508639B (zh) | 使用一致性域表的一致性管理 | |
CN104135539B (zh) | 数据存储方法、sdn控制器和分布式网络存储系统 | |
CN104111804B (zh) | 一种分布式文件系统 | |
CN103595780B (zh) | 基于消重的云计算资源调度方法 | |
DE102011076895B4 (de) | Cachekohärenzprotokoll für persistente Speicher | |
CN102117338B (zh) | 一种数据库缓存的方法 | |
CN110447021A (zh) | 用于在数据中心之间维持元数据和数据的一致性的方法、装置和系统 | |
CN104113597A (zh) | 一种多数据中心的hdfs数据读写系统及方法 | |
WO2019085769A1 (zh) | 一种数据分层存储、分层查询方法及装置 | |
CN105138678A (zh) | 一种地图瓦片数据的读取、分发方法及读取、分发系统 | |
CN103530387A (zh) | 一种hdfs针对小文件的改进方法 | |
CN103716381A (zh) | 一种分布式系统的控制方法,及管理节点 | |
CN105518631B (zh) | 内存管理方法、装置和系统、以及片上网络 | |
CN103366016A (zh) | 基于hdfs的电子文件集中存储及优化方法 | |
CN109299056B (zh) | 一种基于分布式文件系统的数据同步方法和装置 | |
CN104778077A (zh) | 基于随机和连续磁盘访问的高速核外图处理方法及系统 | |
CN110188108A (zh) | 数据存储方法、装置、系统、计算机设备及存储介质 | |
CN106713250B (zh) | 基于分布式系统的数据访问方法和装置 | |
CN109582600A (zh) | 一种数据处理方法及装置 | |
CN102486753B (zh) | 构建及允许访问高速缓存的方法、设备及存储系统 | |
CN101800768B (zh) | 一种基于存储联盟子集划分的网格数据副本生成方法 | |
Xu et al. | Rethink the storage of virtual machine images in clouds | |
CN103297490B (zh) | 信息处理装置、分布式处理系统和分布式处理方法 | |
CN106055590A (zh) | 基于大数据及图数据库的电力网络数据处理方法和系统 | |
CN105677761A (zh) | 一种数据切分的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |