CN110727465B - 一种基于配置查找表的协议可重构一致性实现方法 - Google Patents

一种基于配置查找表的协议可重构一致性实现方法 Download PDF

Info

Publication number
CN110727465B
CN110727465B CN201910859911.2A CN201910859911A CN110727465B CN 110727465 B CN110727465 B CN 110727465B CN 201910859911 A CN201910859911 A CN 201910859911A CN 110727465 B CN110727465 B CN 110727465B
Authority
CN
China
Prior art keywords
consistency
lookup table
protocol
reconfigurable
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910859911.2A
Other languages
English (en)
Other versions
CN110727465A (zh
Inventor
陈庆强
张清波
王谛
李峰
吕晖
赵冠一
严忻恺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Jiangnan Computing Technology Institute
Original Assignee
Wuxi Jiangnan Computing Technology Institute
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 Wuxi Jiangnan Computing Technology Institute filed Critical Wuxi Jiangnan Computing Technology Institute
Priority to CN201910859911.2A priority Critical patent/CN110727465B/zh
Publication of CN110727465A publication Critical patent/CN110727465A/zh
Application granted granted Critical
Publication of CN110727465B publication Critical patent/CN110727465B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/3834Maintaining memory consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (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

本发明提供一种基于配置查找表的协议可重构一致性实现方法,涉及微处理器设计技术领域,该方法包括以下步骤:S1:在一致性处理逻辑中增加配套的一致性状态查找表;S2:判断是否修改一致性协议,若是则将参数写入查找表,并执行S3;反之直接执行S3;S3:在一致性流水线处理中读取当前地址请求的命中状态信息;S4:当前请求的请求类型和命中状态信息查询查找表;S5:根据查询结果进行一致性操作,并返回S2。本发明一种基于配置查找表的协议可重构一致性实现方法支持对一致性协议的修正或扩展,甚至不同的一致性协议,以适应不同需求,保证在不更改硬件设计,就可以实现协议的修正或扩展,甚至可以修改成更适用于当前课题需求的其他一致性协议。

Description

一种基于配置查找表的协议可重构一致性实现方法
技术领域
本发明涉及微处理器设计技术领域,
尤其是,本发明涉及一种基于配置查找表的协议可重构一致性实现方法。
背景技术
随着处理器制造工艺的不断进步及实际应用需要,多核结构已成为当前高性能微处理器的发展趋势,多核处理器***中出现的Cache一致性问题一直是当今计算机体系结构中研究的重点,如何解决Cache一致性问题,即如何保持数据在多个Cache和主存中的多个副本的一致性,是实现共享存储***的关键,Cache一致性问题的解决不仅决定***的正确性,而且对***的性能有重要影响,人们已经提出了若干Cache一致性协议来解决Cache一致性问题,Cache一致性协议的实质是把一个处理机新写的值传播给其他处理机的一种机制,为了实现高效的传播,一致性协议通常需要考虑以下几个方面:
1、如何传播新值:写使无效与写更新;
2、怎样产生新值:单写协议与多写协议;
3、何时传播新值:及时传播与延迟传播;
4、新值将传播到何处:侦听协议与目录协议;
由于一致性协议是多方协议的复杂特性,方案设计如果考虑不完备,在逻辑设计出现错误的情况下修正设计往往难度很大。
而针对不同应用场景的不同数据流访存特点,学术界提出了各种基于目录协议的一致性协议,以及针对各类协议优化方案所形成的一致性协议族,从不同角度提高了处理器中一致性协议的处理能力或处理速度。一般来说,硬件设计只能实现某种特定的一致性协议。
所以,如何设计一种合理的基于配置查找表的协议可重构一致性实现方法,成为我们当前急需要解决的问题。
发明内容
本发明的目的在于提供一种可以支持对一致性协议的修正或扩展,甚至不同的一致性协议,以适应应用课题的不同需求,保证在不更改硬件设计的前提下,就可以实现协议的修正或扩展,甚至可以修改成更适用于当前课题需求的其他一致性协议的基于配置查找表的协议可重构一致性实现方法。
为达到上述目的,本发明采用如下技术方案得以实现的:
一种基于配置查找表的协议可重构一致性实现方法,该方法包括以下步骤:
S1:在一致性处理逻辑中增加配套的一致性状态查找表;
S2:判断是否修改一致性协议,若是,则将需要使用的一致性协议转化为对应的查照表项值加载写入一致性状态查找表,并执行步骤S3;反之则直接执行步骤S3;
S3:在一致性流水线处理中读取当前地址请求的命中状态信息;
S4:以当前请求的请求类型和命中状态信息为查询索引直接查询一致性状态查找表;
S5:获取需要分配的资源及要转换的状态、生成需要的信号和数据,根据查询结果进行一致性操作,并返回执行步骤S2。
作为本发明的优选,执行步骤S1时,一致性状态查找表中详细配置了各类型请求在不同命中状态信息下的相关动作,包括需要预留的缓冲资源、是否修改目录及修改值,是否发送二次请求及二次请求类型,是否发送访存请求及访存请求类型以及是否阻塞后续相关的请求。
作为本发明的优选,执行步骤S1时,一致性状态查找表的结构设计需要适用于大部分通用一致性协议。
作为本发明的优选,执行步骤S2时,一致性协议的修改包括一致性协议的变化以及重构。
作为本发明的优选,执行步骤S2时,修改一致性协议的方式包括通过维护写操作修改以及更新初始值。
作为本发明的优选,执行步骤S2时,修改一致性协议时,需要存控和副本拥有者对一致性查找表内容所描述的各操作类型具备配套的硬件逻辑支持。
作为本发明的优选,执行步骤S1和S2时,一致性查找表需有足够的预留资源。
作为本发明的优选,执行步骤S3至步骤S5之间,一致性状态查找表不可进行修改。
本发明一种基于配置查找表的协议可重构一致性实现方法有益效果在于:可以支持对一致性协议的修正或扩展,甚至不同的一致性协议,以适应应用课题的不同需求, 保证在不更改硬件设计的前提下,就可以实现协议的修正或扩展,甚至可以修改成更适用于当前课题需求的其他一致性协议。
附图说明
图1为本发明一种基于配置查找表的协议可重构一致性实现方法的流程示意图。
具体实施方式
以下是本发明的具体实施例,对本发明的技术方案作进一步的描述,但本发明并不限于这些实施例。
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的模块和步骤的相对布置和步骤不限制本发明的范围。
同时,应当明白,为了便于描述,附图中的流程并不仅仅是单独进行,而是多个步骤相互交叉进行。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法及***可能不作详细讨论,但在适当情况下,技术、方法及***应当被视为授权说明书的一部分。
针对不同应用场景的不同数据流访存特点,学术界提出了各种基于目录协议的一致性协议,以及针对各类协议优化方案所形成的一致性协议族,从不同角度提高了处理器中一致性协议的处理能力或处理速度。一般来说,硬件设计只能实现某种特定的一致性协议。
实施例一
如图1所示,仅为本发明的其中一个实施例,本发明提供一种基于配置查找表的协议可重构一致性实现方法,该方法包括以下步骤:
一种基于配置查找表的协议可重构一致性实现方法,该方法包括以下步骤:
S1:在一致性处理逻辑中增加配套的一致性状态查找表;
由于一致性协议是多方协议的复杂特性,方案设计如果考虑不完备,在逻辑设计出现错误的情况下修正设计往往难度很大,为了从不同角度提高了处理器中一致性协议的处理能力或处理速度,需要从各个方面添加一致性处理逻辑的完整性,于是在一致性处理逻辑中增加配套的一致性状态查找表。
一致性状态查找表中详细配置了各类型请求在不同命中状态信息下的相关动作,包括需要预留的缓冲资源、是否修改目录及修改值,是否发送二次请求及二次请求类型,是否发送访存请求及访存请求类型以及是否阻塞后续相关的请求。为了保证一致性处理逻辑的完整性,实际上,将所有的类型请求的所有命中状态信息下的相关动作均进行存储。
例如分别存储请求类型为ReadBlk/ReadBlkI 和ReadBlkMod等,命中状态为不命中、命中清洁或者命中脏等等命中状态信息下的所有相关动作,每一个请求类型的每一个命中状态均存至一行,该行存储有此请求类型的此命中状态下的所有相关动作,每一个动作都记为是或者否,方便管理员进行读取以及进行一致性操作。
这样每一个Cache在固定条件下(请求类型确定,命中状态确定),会进行固定的相关动作。
S2:判断是否修改一致性协议,若是,则将需要使用的一致性协议转化为对应的查照表项值加载写入一致性状态查找表,并执行步骤S3;反之则直接执行步骤S3;
为了实现可配置属性,一致性协议查找表支持维护读写操作,可通过维护写操作修改或更新初始值,一致性协议的修改包括一致性协议的变化以及重构,变化是指某一请求类型的某一命中状态下的某一项相关动作进行更改,重构则是请求类型和命中状态的整体初始值进行更改。
在这里,修改一致性协议的方式包括通过维护写操作修改以及更新初始值。即为一致性协议的变化通过维护写操作修改,一致性协议的重构通过更新初始值修改。
S3:在一致性流水线处理中读取当前地址请求的命中状态信息;
S4:以当前请求的请求类型和命中状态信息为查询索引直接查询一致性状态查找表;
S5:获取需要分配的资源及要转换的状态、生成需要的信号和数据,根据查询结果进行一致性操作,并返回执行步骤S2。
步骤S3至步骤S5过程中,改变传统一致性实现中实时生成资源需求和控制信号的方式,在一致性流水线处理中读取当前地址请求的命中状态信息后,以当前请求的请求类型和命中状态信息为查询索引直接查询一致性状态查找表,查出需要分配的资源及要转换的状态、生成需要的信号和数据,根据查询结果进行下一步一致性操作。
一致性操作完成之后,需要重新回到步骤S2,获取最新的一致性状态查找表,然后再次进行下一组参数的一致性操作。
每一种不同的应用课题需求下,均可以查询一致性状态查找表,获取数据之后,进一步执行一致性操作,增加了可重用性和适用范围。
本发明一种基于配置查找表的协议可重构一致性实现方法可以支持对一致性协议的修正或扩展,甚至不同的一致性协议,以适应应用课题的不同需求, 保证在不更改硬件设计的前提下,就可以实现协议的修正或扩展,甚至可以修改成更适用于当前课题需求的其他一致性协议。
实施例二
仍如图1所示,依然为本发明的其中一个实施例,为了使得本发明一种基于配置查找表的协议可重构一致性实现方法更加的设计方便,一致性操作的适用性更高,本发明中还具有以下几个设计:
首先,执行步骤S1时,一致性状态查找表的结构设计需要适用于大部分通用一致性协议。
保证可以执行大多前课题需求的一致性协议以及一致性操作,增大了该模块的可重用性和适用范围。
然后,执行步骤S2时,对于可配置一致性查找表中的各项操作内容,也就是在修改一致性协议时,需要存控和副本拥有者对一致性查找表内容所描述的各操作类型具备配套的硬件逻辑支持。
还有,执行步骤S1和S2时,一致性查找表需有足够的预留资源。
为了扩展需求,一致性查找表一定需有足够的预留资源,方便对一致性查找表进行修改和再修改。例如若增加请求类型,则通过增加索引项,并新增加索引项下的一致性查找表的内容,即可实现对新请求类型的扩展支持。
在这里,一致性查找表留有的预留资源的具体表现形式为如下:
一、在请求类型为ReadBlk/ReadBlkI 前提下,每一个命中状态(命中状态为不命中、命中清洁或者命中脏等等)均存至一行以外,依然留有至少一行,确保可能存在的其他命中状态的可能性。
二、在请求类型为ReadBlk/ReadBlkI 以及命中状态为不命中的前提下,这一行中每一个相关动作都有一栏进行记录“是”或者“否”之外,依然留有至少一栏,确保该状态下有其他硬件或者软件响应的可能性。
三、在将所有的请求类型记录完成之后,依然预留至少一个请求类型空白项,每一项均至少有一个行用以记录可能存在的请求类型在不同命中状态下的所有相关动作。
这样,在不更改硬件设计的前提下,就可以实现协议的修正或扩展,增加了硬件设计的容错性和可扩展性。
最后,执行步骤S3至步骤S5之间,一致性状态查找表不可进行修改。
也就是说从在一致性流水线处理中读取当前地址请求的命中状态信息,到以当前请求的请求类型和命中状态信息为查询索引直接查询一致性状态查找表,再到获取需要分配的资源及要转换的状态、生成需要的信号和数据,根据查询结果进行一致性操作,这其中查询的一致性状态查找表是相同的,不存在在修改前一致性流水线处理中读取当前地址请求的命中状态信息,然后在修改后的一致性状态查找表中获取需要分配的资源及要转换的状态、生成需要的信号和数据这一现象存在,保证步骤S3至步骤S5之间的一致性状态查找表的不变性,使最后获取的一致性操作具有唯一性。
若是在执行步骤S3至步骤S5之间,对一致性状态查找表进行了修改,那么终止当前步骤,直接回到步骤S2,重复获取新的一致性状态查找表,然后重新执行步骤S3至步骤S5。
本发明一种基于配置查找表的协议可重构一致性实现方法可以支持对一致性协议的修正或扩展,甚至不同的一致性协议,以适应应用课题的不同需求, 保证在不更改硬件设计的前提下,就可以实现协议的修正或扩展,甚至可以修改成更适用于当前课题需求的其他一致性协议。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围,本发明所属技术领域的技术人员可以对所描述的具体实施例来做出各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的方向或者超越所附权利要求书所定义的范围。本领域的技术人员应该理解,凡是依据本发明的技术实质对以上实施方式所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围。

Claims (7)

1.一种基于配置查找表的协议可重构一致性实现方法,其特征在于,包括以下步骤:
S1:在一致性处理逻辑中增加配套的一致性状态查找表,一致性状态查找表中详细配置了各类型请求在不同命中状态信息下的相关动作,包括需要预留的缓冲资源、是否修改目录及修改值,是否发送二次请求及二次请求类型,是否发送访存请求及访存请求类型以及是否阻塞后续相关的请求;
S2:判断是否修改一致性协议,若是,则将需要使用的一致性协议转化为对应的查找表项值加载写入一致性状态查找表,并执行步骤S3;反之则直接执行步骤S3;
S3:在一致性流水线处理中读取当前地址请求的命中状态信息;
S4:以当前请求的请求类型和命中状态信息为查询索引直接查询一致性状态查找表;
S5:获取需要分配的资源及要转换的状态、生成需要的信号和数据,根据查询结果进行一致性操作,并返回执行步骤S2。
2.根据权利要求1所述的一种基于配置查找表的协议可重构一致性实现方法,其特征在于:
执行步骤S1时,一致性状态查找表的结构设计需要适用于大部分通用一致性协议。
3.根据权利要求1所述的一种基于配置查找表的协议可重构一致性实现方法,其特征在于:
执行步骤S2时,一致性协议的修改包括一致性协议的变化以及重构。
4.根据权利要求3所述的一种基于配置查找表的协议可重构一致性实现方法,其特征在于:
执行步骤S2时,修改一致性协议的方式包括通过维护写操作修改以及更新初始值。
5.根据权利要求1所述的一种基于配置查找表的协议可重构一致性实现方法,其特征在于:
执行步骤S2时,修改一致性协议时,需要存控和副本拥有者对一致性查找表内容所描述的各操作类型具备配套的硬件逻辑支持。
6.根据权利要求1所述的一种基于配置查找表的协议可重构一致性实现方法,其特征在于:
执行步骤S1和S2时,一致性查找表需有足够的预留资源。
7.根据权利要求1所述的一种基于配置查找表的协议可重构一致性实现方法,其特征在于:
执行步骤S3至步骤S5之间,一致性状态查找表不可进行修改。
CN201910859911.2A 2019-09-11 2019-09-11 一种基于配置查找表的协议可重构一致性实现方法 Active CN110727465B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910859911.2A CN110727465B (zh) 2019-09-11 2019-09-11 一种基于配置查找表的协议可重构一致性实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910859911.2A CN110727465B (zh) 2019-09-11 2019-09-11 一种基于配置查找表的协议可重构一致性实现方法

Publications (2)

Publication Number Publication Date
CN110727465A CN110727465A (zh) 2020-01-24
CN110727465B true CN110727465B (zh) 2021-08-10

Family

ID=69218132

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910859911.2A Active CN110727465B (zh) 2019-09-11 2019-09-11 一种基于配置查找表的协议可重构一致性实现方法

Country Status (1)

Country Link
CN (1) CN110727465B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681890A (zh) * 2012-04-28 2012-09-19 中国科学技术大学 一种应用于线程级推测并行的限制性值传递方法和装置
CN107250993A (zh) * 2015-02-23 2017-10-13 英特尔公司 向量缓存行写回处理器、方法、***和指令

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8250311B2 (en) * 2008-07-07 2012-08-21 Intel Corporation Satisfying memory ordering requirements between partial reads and non-snoop accesses
US8521995B2 (en) * 2009-12-15 2013-08-27 Intel Corporation Handling operating system (OS) transitions in an unbounded transactional memory (UTM) mode
US9146746B2 (en) * 2011-03-01 2015-09-29 University Of Washington Through Its Center Of Commercialization Systems and methods for providing deterministic execution
CN103150264B (zh) * 2013-01-18 2014-09-17 浪潮电子信息产业股份有限公司 一种基于扩展型Cache Coherence协议的多级一致性域仿真验证和测试方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681890A (zh) * 2012-04-28 2012-09-19 中国科学技术大学 一种应用于线程级推测并行的限制性值传递方法和装置
CN107250993A (zh) * 2015-02-23 2017-10-13 英特尔公司 向量缓存行写回处理器、方法、***和指令

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Predictable Cache Coherence for Multi-core Real-Time Systems;M. Hassan;《2017 IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS)》;20170608;235-246 *
基于片上网络的众核高速缓存一致性研究;张阿敏;《中国优秀硕士学位论文全文数据库信息科技辑》;20190215(第02期);I135-351 *

Also Published As

Publication number Publication date
CN110727465A (zh) 2020-01-24

Similar Documents

Publication Publication Date Title
CN103246616B (zh) 一种长短周期访问频度的全局共享缓存替换方法
US20150058570A1 (en) Method of constructing share-f state in local domain of multi-level cache coherency domain system
US8818942B2 (en) Database system with multiple layer distribution
US11269772B2 (en) Persistent memory storage engine device based on log structure and control method thereof
CN111742301A (zh) 通过请求来日志记录对更高级别的缓存的缓存流入量
WO2018137327A1 (zh) 一种主备机数据传递方法、控制节点以及数据库***
TW201537454A (zh) 資料處理方法及處理器
CN109582686B (zh) 分布式元数据管理一致性保证方法、装置、***及应用
US10733101B2 (en) Processing node, computer system, and transaction conflict detection method
CN105701219A (zh) 一种分布式缓存的实现方法
CN114490141B (zh) 一种基于共享内存的高并发ipc数据交互方法
CN103076992A (zh) 一种内存数据缓冲方法及装置
JP2017126334A (ja) 記憶装置及びその動作方法並びにシステム
US11288237B2 (en) Distributed file system with thin arbiter node
US20240086332A1 (en) Data processing method and system, device, and medium
US20140297966A1 (en) Operation processing apparatus, information processing apparatus and method of controlling information processing apparatus
US20140297957A1 (en) Operation processing apparatus, information processing apparatus and method of controlling information processing apparatus
WO2021240140A2 (en) Core-to-core cache stashing and target discovery
CN110727465B (zh) 一种基于配置查找表的协议可重构一致性实现方法
CN112463073A (zh) 一种对象存储分布式配额方法、***、设备和存储介质
CN108664217A (zh) 一种降低固态盘存储***写性能抖动的缓存方法及***
US10846014B2 (en) Concept for group memory write instructions
CN116755625A (zh) 一种数据处理方法、装置、设备及可读存储介质
US11687392B2 (en) Method and system for constructing persistent memory index in non-uniform memory access architecture
US11586353B2 (en) Optimized access to high-speed storage device

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