关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 事务存储结构的实现

事务存储结构的实现

作者: 时间:2012-06-04 来源:网络 收藏

但在执行冲突检测的过程中也会存在错误的冲突,比如:当处理机Q请求访问一个数据块,该数据块在目录中的状态为M@P,而处理机P已经执行到后续事务,同时也置了溢出位。P发送冲突信号给Q,但这个冲突并不是因处理机Q请求的数据正被其他占有而产生的冲突,是一种无关的冲突。所以必须采取一种机制将目录状态及时更新。

2.3 操作系统对LogTM的支持

由于事务的引入,传统操作系统已经不能满足要求,必须更改或扩展操作系统使事务能稳定高效的执行。

首先,基于LogTM系统,操作系统负责对日志进行创建和维护。它为每一个执行线程开辟一片日志区域,并将该区域入口地址写到Log Base寄存器中,同时当某数据存入日志后使Log Pointer指针后移,用来存放新数据。当发生回滚,操作系统根据目前Log Pointer指针从后向前恢复数据直到Log Pointer与Log Base指向相同为止。

其次,当执行事务发生切换时,操作系统可以通过扩展目前的TCB(线程控制块)来对事务相关寄存器内容等信息进行保存。

再次,当发生事务级线程切换时,操作系统判断切换原因(包括其他线程抢占、时间片到达、事务之间冲突等而执行的切换),通知调度器采取不同的切换策略或冲突策略来完成切换。

最后,由于中断内新创建的事务和被中断事务冲突而导致活锁(被中断事务挂起得不到执行,中断内新创建事务由于冲突策略一直回滚——重新执行——回滚,也得不到执行),操作系统必须能够记录回滚次数并设定一个门限值,如果同一事务回滚数超过此门限,操作系统可以强行中止该事务而调度其他事务。

3 结论及展望

本文介绍TM的基本原理,并对当前主流TM系统LogTM进行分析实现,得出以下结论:

⑴要实现高效的事务处理必须要有一个很好的基于事务模型的硬件结构。比如:LogTM,硬件专门为TM添加了LogBase、LogPointer等寄存器并改变了cache的结构,在cache中加入了读(R)和写(W)标志位;这样对事务版本管理以及冲突管理都带来了前所未有的作用,这也是此TM结构优越性的体现。

⑵要高效的进行事务处理必须要有TM操作系统的支持,上文中提到了一些操作系统对LogTM的相关支持,但如果要完美的支持事务还需要不断更改和优化已有的操作系统,最终的目的是将操作系统事务化,并能很好的处理事务化的用户级应用。

⑶目前TM系统(包括LogTM)虽然通过一些特有的结构和机制解决了事务处理的一些问题,但是面对今后的发展,像多级嵌套事务的复杂应用、中断事务化(特别是外部设备的中断)、挂起事物与执行事务冲突问题、被切换事务的执行选择(重新调度后,被切换事务可能回滚也可能继续接着执行)等问题都需要我们不断的去研究,去寻找最优的解决办法一一攻克,所以对TM的研究任重而道远。

参考文献

[1]Yen, L. and J. Bobba, et al. LogTM-SE:Decoupling Hardware Transactional Memory from Caches. In Proc. of Thirteenth Annual International Symp. on High-Performance Computer Architecture.Feb.2007

[2]Moravan, M. J. and J. Bobba, et al. Supporting Nested Transactional Memory in LogTM. In Proc. of the Twelfth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 359-370,Oct.2006

[3]Moore, K. E. and J. Bobba, et al. LogTM: Log_based Transactional Memory. In Proc. of the Twelfth IEEE Symp. on High-Performance Computer Architecture, pages 258–269, Feb. 2006

[4]Herlihy, M. and J. E. B. Moss . Transactional Memory:Architectural Support for Lock-Free Data Structures. In Proc. of the 20th Annual International Symp. on Computer Architecture, pages 289–300, May 1993

[5]Hammond, L. and V. Wong, et al. Transactional Memory Coherence and Consistency. In Proc. of the 31st Annual Intl. Symp. on Computer Architecture, June 2004

[6]Hammond, L. and B. D. Carlstrom, et al. Programming with Transactional Coherence and Consistency(TCC), ASPLOS.04, October 7–13, 2004

更多计算机与外设信息请关注:21ic计算机与外设频道


上一页 1 2 3 下一页

关键词:存储结构

评论


技术专区

关闭