CPR方案:硬件事务存储系统的高效事务嵌套处理

0 下载量 48 浏览量 更新于2024-08-28 收藏 444KB PDF 举报
"一种硬件事务存储系统中的事务嵌套处理方案" 事务存储系统是现代多核处理器架构中提高可编程性和并发性能的一种关键技术。事务存储(Transactional Memory, TM)允许程序员以事务的方式编写代码,其中一系列操作被视为一个整体,要么全部成功,要么全部回滚,从而简化了并发控制。然而,事务嵌套,即一个事务内部可以启动另一个事务,是事务存储系统面临的重要挑战,因为它增加了系统的复杂性和可能导致更高的冲突概率。 本文提出的CPR(Conditional Partial Rollback)方案,针对硬件型事务存储系统设计,旨在解决事务嵌套处理的效率问题。传统的处理方式,如扁平模型,当事务发生冲突时,会回滚到最外层事务,这可能导致大量的回滚操作,影响性能。而CPR方案则采取了一种更为精细的方法,只在满足特定条件时,进行部分回滚,即仅回滚冲突事务本身或其外部的一个事务,而不是所有嵌套层次。 CPR方案的核心在于它为每一层嵌套事务维护统一的数据集合,并使用少量硬件状态位来追踪每个事务对共享数据的读/写情况。这些状态位用于检测和记录冲突,当检测到冲突且满足无重叠读/写数据集条件时,CPR能够执行部分回滚,减少不必要的回滚操作,从而提高处理效率。 为了验证CPR方案的有效性,研究者们利用模拟器Simics以及多核扩展包GEMS进行了实验。实验结果表明,CPR方案在保持较低硬件复杂性的同时,其性能接近于nested LogTM,一种已知的高效事务处理方法。更重要的是,CPR方案相对于传统的扁平模型,表现出显著的性能提升,证明了其在处理事务嵌套时的优越性。 总结来说,CPR方案通过引入有条件的部分回滚机制,有效地解决了硬件事务存储系统中事务嵌套的处理难题,降低了回滚开销,提升了系统的整体性能。这对于多核处理器环境中的并发控制和事务处理具有重要的理论和实践价值,有助于推动事务存储技术的发展和应用。