CN104657153B - 一种基于签名技术的硬件事务内存系统 - Google Patents
一种基于签名技术的硬件事务内存系统 Download PDFInfo
- Publication number
- CN104657153B CN104657153B CN201510121129.2A CN201510121129A CN104657153B CN 104657153 B CN104657153 B CN 104657153B CN 201510121129 A CN201510121129 A CN 201510121129A CN 104657153 B CN104657153 B CN 104657153B
- Authority
- CN
- China
- Prior art keywords
- transaction
- memory
- address
- register
- processor
- 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
- 238000001514 detection method Methods 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 10
- 238000013508 migration Methods 0.000 claims description 3
- 230000005012 migration Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种基于签名技术的硬件事务内存系统,属于伺服运动控制领域。系统包括多个处理器、共享L1指令/数据高速缓存模块、共享L2高速缓存模块和一块虚拟内存BlockHistoryQueue;处理器,用于事务线程切换和版本管理,获得事务内存读地址、写地址和当前事务中部分局部变量的地址集合;并根据获得的地址集合及虚拟内存BlockHistoryQueue中存储的地址集合,进行冲突检测;虚拟内存BlockHistoryQueue,用于对超长事务内存和嵌套事务内存,采用分段方式的签名Signature,当读地址、写地址和当前事务中部分局部变量的地址集合中的数目达到设定数目时,将这设定数目的地址集合保存。
Description
技术领域
本发明属于伺服运动控制领域。
背景技术
目前,在硬件事务内存领域内已经提出了很多硬件事务内存系统的实现模型。现有硬件事务内存系统的主要包括TCC、Bulk、Log TM。其中,TCC不使用专用的事务Cache,而是对原有的数据Cache进行修改,且无法处理缓冲区溢出的情况,需要采用广播的方式检测冲突,系统的规模比较小,对操作系统的支持也比较差。Bulk模型首次引入了硬件签名技术用于伪冲突检测,使得事务处理同原有的数据Cache相分离,但其带来较多硬件开销,且硬件的开销会随着CPU核数目的增加而增加,它也没有解决伪冲突问题,对大事务支持较差。Log TM采用Log保存旧数据,将新数据直接写入内存,事务提交时清空Log,事务作废时,将Log中的数据拷贝回原来的位置进行回退,但它依然没有解决伪冲突问题,大事务支持较差。
发明内容
本发明的目的是为了解决现有的硬件事务内存系统存在的伪冲突、操作系统支持差、大事务支持差的问题,本发明提供一种基于签名技术的硬件事务内存系统。
本发明的一种基于签名技术的硬件事务内存系统,所述系统包括多个处理器、共享L1指令/数据高速缓存模块、共享L2高速缓存模块和一块虚拟内存BlockHistoryQueue;
所述处理器,用于事务线程切换和版本管理,还用于获得事务内存操作中的读地址集合、事务内存中的写地址集合和当前事务中部分局部变量的地址集合;并根据获得的地址集合及虚拟内存BlockHistoryQueue中存储的地址集合,进行冲突检测;所述部分局部变量的地址通过连续监测Cache一致性协议获得;
所述虚拟内存BlockHistoryQueue,用于对超长事务内存和嵌套事务内存的支持处理:所述支持处理的过程为:采用分段方式的签名Signature,当事务内存操作中的读地址集合、事务内存中的写地址集合和当前事务中部分局部变量的地址集合中的数目达到设定数目时,即将这设定数目的地址集合保存;
共享L1指令/数据高速缓存模块,用于存储处理器经常使用的数据和指令,提高处理器运算速度;
共享L2高速缓存模块,用于解决L1高速缓存容量的限制,提高处理器的运算速度。
所述处理器均新增Register checkpoint寄存器、logbase寄存器、logpointer寄存器、R sig寄存器、W sig寄存器和Filters sig寄存器;
所述Register checkpoint寄存器,用于线程切换时使用,在事务执行过程中,执行事务线程与相应处理器绑定,并记录处理器的绑定情况;还用于非事务线程允许迁移到绑定事务的处理器上,但与处理器绑定的线程不允许再迁移;
所述logbase寄存器,用于新数据直接写入事务内存,记录当前的数据版本号;
所述logpointer寄存器,用于新数据直接写入事务内存,并指向保存旧数据的内存;
R sig寄存器,存储事务内存操作中的读地址集合;
W sig寄存器,存储事务内存操作中的写地址集合;
Filters sig寄存器,存储当前事务中部分局部变量的地址集合。
本发明的有益效果在于,本发明提供了一种能有效的支持任意大小的事务、不改变传统Cache结构的分离的、基于硬件签名技术的、操作系统支持的、高效的完整的硬件事务内存系统,能够较好的提升计算机性能。
附图说明
图1为具体实施方式一所述的一种基于签名技术的硬件事务内存系统的原理示意图;
图2为具体实施方式二中的冲突检测的原理示意图;
图3为具体实施方式二中的虚拟内存BlockHistoryQueue的原理示意图;
图4为具体实施方式二中事务线程切换的原理示意图。
图5为具体实施方式二中处理器的原理示意图。
具体实施方式
具体实施方式一:结合图1说明本实施方式,本实施方式所述的一种基于签名技术的硬件事务内存系统,所述系统包括多个处理器、共享L1指令/数据高速缓存模块、共享L2高速缓存模块和一块虚拟内存BlockHistoryQueue;
所述处理器,用于事务线程切换和版本管理,还用于获得事务内存操作中的读地址集合、事务内存中的写地址集合和当前事务中部分局部变量的地址集合;并根据获得的地址集合及虚拟内存BlockHistoryQueue中存储的地址集合,进行冲突检测;所述部分局部变量的地址通过连续监测Cache一致性协议获得;
所述虚拟内存BlockHistoryQueue,用于对超长事务内存和嵌套事务内存的支持处理:所述支持处理的过程为:采用分段方式的签名Signature,当事务内存操作中的读地址集合、事务内存中的写地址集合和当前事务中部分局部变量的地址集合中的数目达到设定数目时,即将这设定数目的地址集合保存;
共享L1指令/数据高速缓存模块,用于存储处理器经常使用的数据和指令,提高处理器运算速度;
共享L2高速缓存模块,用于解决L1高速缓存容量的限制,提高处理器的运算速度。
具体实施方式二:结合图5说明本实施方式,本实施方式是对具体实施方式一所述的一种基于签名技术的硬件事务内存系统的进一步限定,
所述处理器均新增Register checkpoint寄存器、logbase寄存器、logpointer寄存器、R sig寄存器、W sig寄存器和Filters sig寄存器;
所述Register checkpoint寄存器,用于线程切换时使用,在事务执行过程中,执行事务线程与相应处理器绑定,并记录处理器的绑定情况;还用于非事务线程允许迁移到绑定事务的处理器上,但与处理器绑定的线程不允许再迁移;
所述logbase寄存器,用于新数据直接写入事务内存,记录当前的数据版本号;
所述logpointer寄存器,用于新数据直接写入事务内存,并指向保存旧数据的内存;
R sig寄存器,存储事务内存操作中的读地址集合;
W sig寄存器,存储事务内存操作中的写地址集合;
Filters sig寄存器,存储当前事务中部分局部变量的地址集合;
所述Filters sig寄存器为过滤寄存器;
本实施方式中,如图2所示,根据获得的地址集合及虚拟内存BlockHistoryQueue中存储的地址集合,进行冲突检测的具体步骤包括:
步骤1:通过访存指令获得请求访问的存储器地址;
步骤2:并行的查找读地址集合、事务内存中的写地址集合和当前事务中部分局部变量的地址集合是否存在请求访问的存储器地址;
步骤3:如果检查读地址集合、事务内存中的写地址集合和当前事务中部分局部变量的地址集合时均发生冲突,则确认发生冲突;
步骤4:如果检查检查读地址集合和事务内存中的写地址集合均发生冲突,检查当前事务中部分局部变量的地址集合时没有发生冲突,则确认发生伪冲突;
步骤5:如果确认发生冲突,作废请求访存操作的进程;
步骤6:如果确认发生伪冲突,相关操作继续执行。
本实施方式中,如图3所示,对超长事务内存支持处理的过程包括:
步骤7:通过访存指令获得请求访问的存储器地址;
步骤8:并行的查找读地址集合、事务内存中的写地址集合和当前事务中部分局部变量的地址集合是否存在请求访问的存储器地址;
步骤9:如果检查读地址集合、事务内存中的写地址集合和当前事务中部分局部变量的地址集合时均发生冲突,或检查读地址集合和事务内存中的写地址集合时均发生冲突,检查当前事务中部分局部变量的地址集合时均发生冲突时没有发生冲突,按步骤1至步骤6所述进行处理;
步骤10:如果检查检查读地址集合、事务内存中的写地址集合和当前事务中部分局部变量的地址集合均没有发现冲突,则继续与相关的虚拟内存BlockHistoryQueue中的队列进行比较;
步骤11:如果没有发现冲突,相关操作继续执行;
步骤12:如果发现冲突,作废请求访存操作的进程。
本实施方式中,如图4所示,本系统对事务线程切换的过程包括如下步骤:
步骤13:将线程1与未绑定的处理器绑定,checkpoint记录绑定状况;
步骤14:处理器进入事务模式;
步骤15:时间片等原因使线程切换到非事务线程3,此时事务线程1与处理器绑定,不能切换到其他处理器;
步骤16:同步骤15的原因,线程在非事务线程间切换,由线程3切换到线程2;
步骤17:同步骤15的原因,线程切换回事务线程1,处理器重新进入事务模式。
步骤18:如果事务执行完成前再未发生线程切换,提交事务;
步骤19:如果事务执行完成前又发生线程切换,重复上述过程。
实施方式都是基于本发明整体构思下的不同实现方式,而且本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (2)
1. 一种基于签名技术的硬件事务内存系统,其特征在于,所述系统包括多个处理器、共享L1指令/数据高速缓存模块、共享L2高速缓存模块和一块虚拟内存BlockHistoryQueue;
所述处理器,用于事务线程切换和版本管理,还用于获得事务内存操作中的读地址集合、事务内存中的写地址集合和当前事务中部分局部变量的地址集合;并根据获得的地址集合及虚拟内存BlockHistoryQueue中存储的地址集合,进行冲突检测;所述部分局部变量的地址通过连续监测Cache一致性协议获得;所述冲突检测的具体步骤包括:
步骤1:通过访存指令获得请求访问的存储器地址;
步骤2:并行的查找读地址集合、事务内存中的写地址集合和当前事务中部分局部变量的地址集合是否存在请求访问的存储器地址;
步骤3:如果检查读地址集合、事务内存中的写地址集合和当前事务中部分局部变量的地址集合时均发生冲突,则确认发生冲突;
步骤4:如果检查检查读地址集合和事务内存中的写地址集合均发生冲突,检查当前事务中部分局部变量的地址集合时没有发生冲突,则确认发生伪冲突;
步骤5:如果确认发生冲突,作废请求访存操作的进程;
步骤6:如果确认发生伪冲突,相关操作继续执行;
所述虚拟内存BlockHistoryQueue,用于对超长事务内存和嵌套事务内存的支持处理:所述支持处理的过程为:采用分段方式的签名Signature,当事务内存操作中的读地址集合、 事务内存中的写地址集合和当前事务中部分局部变量的地址集合中的数目达到设定数目时,即将这设定数目的地址集合保存;
共享L1指令/数据高速缓存模块,用于存储处理器经常使用的数据和指令,提高处理器运算速度;
共享L2高速缓存模块,用于解决L1高速缓存容量的限制,提高处理器的运算速度。
2.根据权利要求1所述的一种基于签名技术的硬件事务内存系统,其特征在于,
所述处理器均新增Register checkpoint寄存器、logbase寄存器、logpointer寄存器、R sig 寄存器、W sig寄存器和Filters sig寄存器;
所述Register checkpoint寄存器,用于线程切换时使用,在事务执行过程中,执行事务线程与相应处理器绑定,并记录处理器的绑定情况;还用于非事务线程允许迁移到绑定事务的处理器上,但与处理器绑定的线程不允许再迁移;
所述logbase寄存器,用于新数据直接写入事务内存,记录当前的数据版本号;
所述logpointer寄存器,用于新数据直接写入事务内存,并指向保存旧数据的内存;
R sig寄存器,存储事务内存操作中的读地址集合;
W sig寄存器,存储事务内存操作中的写地址集合;
Filters sig寄存器,存储当前事务中部分局部变量的地址集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510121129.2A CN104657153B (zh) | 2015-03-19 | 2015-03-19 | 一种基于签名技术的硬件事务内存系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510121129.2A CN104657153B (zh) | 2015-03-19 | 2015-03-19 | 一种基于签名技术的硬件事务内存系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104657153A CN104657153A (zh) | 2015-05-27 |
CN104657153B true CN104657153B (zh) | 2017-10-17 |
Family
ID=53248339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510121129.2A Active CN104657153B (zh) | 2015-03-19 | 2015-03-19 | 一种基于签名技术的硬件事务内存系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104657153B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017012667A1 (en) * | 2015-07-22 | 2017-01-26 | Huawei Technologies Co., Ltd. | Hardware transactional memory in non volatile memory with log and no lock |
CN110389872B (zh) * | 2018-04-16 | 2022-02-11 | 腾讯科技(深圳)有限公司 | 一种数据采集方法、装置以及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719116A (zh) * | 2009-12-03 | 2010-06-02 | 浙江大学 | 基于异常处理的事务存储访问机制的实现方法及所用系统 |
JP2012185609A (ja) * | 2011-03-04 | 2012-09-27 | Sony Corp | 仮想メモリシステム、仮想メモリの制御方法、およびプログラム |
-
2015
- 2015-03-19 CN CN201510121129.2A patent/CN104657153B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719116A (zh) * | 2009-12-03 | 2010-06-02 | 浙江大学 | 基于异常处理的事务存储访问机制的实现方法及所用系统 |
JP2012185609A (ja) * | 2011-03-04 | 2012-09-27 | Sony Corp | 仮想メモリシステム、仮想メモリの制御方法、およびプログラム |
Also Published As
Publication number | Publication date |
---|---|
CN104657153A (zh) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Joshi et al. | Atom: Atomic durability in non-volatile memory through hardware logging | |
US10649853B2 (en) | Tracking modifications to a virtual machine image that occur during backup of the virtual machine | |
US9058195B2 (en) | Virtual machines failover | |
US9304920B2 (en) | System and method for providing cache-aware lightweight producer consumer queues | |
EP3441886B1 (en) | Method and processor for processing data | |
US9069701B2 (en) | Virtual machine failover | |
US20080208558A1 (en) | System and method for simulating a multiprocessor system | |
US20150095585A1 (en) | Consistent and efficient mirroring of nonvolatile memory state in virtualized environments | |
US20170083240A1 (en) | Selective data copying between memory modules | |
US10339009B2 (en) | System for flagging data modification during a virtual machine backup | |
US20230057633A1 (en) | Systems, methods, and apparatus for transferring data between interconnected devices | |
CN102968395B (zh) | 用于微处理器的内存拷贝加速方法及装置 | |
US20150212846A1 (en) | Reducing redundant network transmissions in virtual machine live migration | |
CN110990133A (zh) | 边缘计算服务迁移方法、装置、电子设备及介质 | |
CN101872299A (zh) | 冲突预测实现方法及所用冲突预测处理装置事务存储器 | |
CN104657153B (zh) | 一种基于签名技术的硬件事务内存系统 | |
US20210263789A1 (en) | Method for improving processing speed of input and output related to writing in operating system | |
CN103207763A (zh) | 基于xen虚拟磁盘设备的前端缓存方法 | |
CN116521581A (zh) | 用于处理器高速缓存管理的争用跟踪 | |
EP3053040B1 (en) | Consistent and efficient mirroring of nonvolatile memory state in virtualized environments | |
CN116521580A (zh) | 用于减少独占操作延迟的争用跟踪 | |
Papagiannopoulou et al. | Transparent and energy-efficient speculation on NUMA architectures for embedded MPSoCs |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190521 Address after: 150000 Heilongjiang Harbin Dalian economic and Trade Zone, the North Road and Xingkai Road intersection Patentee after: HIT ROBOT GROUP Co.,Ltd. Address before: 150000 No. 92, West Da Zhi street, Nangang District, Harbin, Heilongjiang. Patentee before: Harbin Institute of Technology |
|
PP01 | Preservation of patent right | ||
PP01 | Preservation of patent right |
Effective date of registration: 20240626 Granted publication date: 20171017 |