[发明专利]一种基于众核处理器和分区结构的事务存储方法无效
申请号: | 201010617535.5 | 申请日: | 2010-12-31 |
公开(公告)号: | CN102110019A | 公开(公告)日: | 2011-06-29 |
发明(设计)人: | 刘轶;王永会;王琳;钱德沛 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/38 |
代理公司: | 北京永创新实专利事务所 11121 | 代理人: | 赵文利 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 处理器 分区 结构 事务 存储 方法 | ||
技术领域
本发明涉及一种属于计算机系统结构中的多线程并行编程模型,特别涉及一种基于众核处理器和分区结构的硬件型事务存储方法。
背景技术
随着处理器的迅速发展,多核处理器成为当今处理器发展的主流,即便是对性能要求较低的桌面型应用也已经进入了多核时代。业界已经推出了几款众核处理器,计算核的数目进一步增加。在处理器已经提供了充裕的硬件并行能力的情况下硬件系统对上层软件提出了更高的要求,即软件能够有效利用处理器所提供的并行处理能力。目前,多线程编程中关键的共享资源同步技术仍然在锁机制的基础上实现,如信号量、互斥量等。然而基于锁的同步机制存在着死锁、优先权倒置、编程困难的缺点,这使得面向众核的并行程序的编写难度和调试复杂性相对于串行程序都要高很多。
事务存储(Transactional Memory,TM)模型借鉴了数据库中“事务”的概念,提供了一种在CMP(Chip multiprocessors,片上多处理)/SMP(Symmetrical Multi-Processing,对称多处理)结构上程序并行执行和同步的方法,将程序中的有限机器指令序列作为一个事务,在系统结构层面保证事务执行的原子性,并提供相应的操作原语,如提交、放弃,以及配套的回滚操作。它能够解决锁机制带来的种种问题,极大地提高了多线程编程的正确性和效率,使得程序员可以集中精力于多核程序的设计。由于采用硬件机制能够带来速度和效率的优势,目前已有大量的研究工作致力于多核环境的硬件型事务存储模型(Hardware Transactional Memory,HTM)的研究。
现有的硬件事务存储结构是基于多核处理器结构,在处理器核内增加支持事务执行的硬件部件,处理器核的其他部分与传统处理器保持一致。然而这种结构扩展到众核结构时将面临资源浪费、缓冲区利用率低的问题和缓冲区溢出的问题,因此,针对众核处理器环境,设计一种有效的事务存储结构是有十分重要的。
发明内容
本发明的目的是提供一种基于众核处理器和分区结构的事务存储方法,该方法将事务缓冲区同二级共享高速缓存一样组织成一定数量的单元,由处理器芯片上所有处理核共享使用,为每个执行事务的线程在事务缓冲区中划分一部分连续可用空间,并可以根据事务读写集合的大小在一定范围内动态调整空间大小,解决了硬件型事务存储系统中资源浪费、缓冲区利用率低的问题,解决了事务缓冲区不支持线程切换和迁移的问题,一定程度上缓解了事务缓冲区溢出问题。
本发明的一种基于众核处理器和分区结构的事务存储方法,该方法是通过构建系统结构、定制分区机制和事务执行模式三部分实现,具体有下列步骤:
步骤一:构建系统结构
建模步骤1-1,众核处理器采用瓦片化结构,每个节点为瓦片Tile{TL1,TL2,TL3}中的一种,所有瓦片通过片上网络互连到一起,每种瓦片的数量可根据应用需要调整;其中L2cache瓦片TL2与事务缓冲区瓦片TL3供所有处理器核共享使用,处理器核内还存在支持事务执行的其他硬件如事务状态寄存器、检查点寄存器等;
建模步骤1-2,新增事务缓冲区,其结构与L2cache类似,数据的存储以行为单位,但同时保持事务数据的新旧版本,读写集合由新增的R/W位表示,事务缓冲区采用数据表项进行事务缓存;
建模步骤1-3,执行事务的处理器节点不使用L2cache,而由事务缓冲区代替L2cache缓存事务数据;
建模步骤1-4,L1cache通过Write-through方法,修改的事务数据直接更新到事务缓冲区中;
步骤二:定制分区机制
分区步骤2-1,对事务缓冲区的分配以分区单元(partition unit,PU)为单位,PU在事务缓冲区中对应连续的多行,其大小为事务缓冲区容量/处理器核数,一个分区可以包含一个或多个连续的PU,初始分配时每个分区含一个PU;
分区步骤2-2,每个事务线程分配一个分区,分区的大小根据事务读写集合的增长动态调整,事务线程首次执行事务时创建分区,事务线程终止时回收分区;
分区步骤2-3,对分区的管理需要硬件记录分区与事务线程的关联关系,如每个事务线程的分区在事务缓冲区中的起始位置和空间大小,以便于事务提交或回滚时的访问操作;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010617535.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:钙盐及镧盐的抗过敏组合
- 下一篇:一种密封垫