[发明专利]一种事务性内存的实现方法有效
申请号: | 200810239010.5 | 申请日: | 2008-12-04 |
公开(公告)号: | CN101425052A | 公开(公告)日: | 2009-05-06 |
发明(设计)人: | 范彬;吴承勇 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F13/42 | 分类号: | G06F13/42 |
代理公司: | 北京泛华伟业知识产权代理有限公司 | 代理人: | 王 勇 |
地址: | 100190北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 事务性 内存 实现 方法 | ||
技术领域
本发明涉及多线程环境下事务的处理,特别涉及一种事务性内存的实现方法。
背景技术
随着多核体系结构的发展和普及,传统的串行编程模型不再适合多核体系结构的需要。摆在编程语言和编程工具的设计者面前的问题是:如何提供一种复杂性较低,并且适用于多核体系结构的编程模型?事务性内存便是在这一背景下提出的,在参考文献1“M.Herlihy,J.Eliot B.Moss:Transactional Memory:Architectural Support for Lock-Free Data Structures.Proceedings of the 20th annual international symposium on Computerarchitecture,1993”中最早提出了事务性内存的概念。所述的事务性内存是一种并行编程模型及其实现的统称,它的基本思想是提供一种粗粒度的编程语言结构——事务,并保证事务中包含的访存操作具有原子性的特征。此处所述的原子性是事务的一个特征,举例而言,若在两个线程Ta和Tb各自包含一组访存操作Ma和Mb(Ma和Mb中可能含有多条访存指令),则在Ta和Tb并行执行的过程中,Ma执行时看到的内存映像或者是Mb全部执行完毕的结果,或者是Mb完全没有执行的结果,对于Mb的执行也有类似的约定。
程序员在使用事务性内存模型编写程序时,只需将若干组可能相互冲突的访存操作全部声明为事务,就可以保证这些组访存操作的原子性。原子性是确保并行程序正确性的重要特性,事务性内存通过非常易于理解的方式令程序员表达了这种并行程序内在的性质。除了正确性之外,并行程序的性能也是编程人员关注的重要方面,事务性内存实现的优劣和应用程序性能有着非常紧密的联系。一个高效的事务性内存的实现可以令使用该模型编写的应用具有良好的单线程性能和多线程环境下的可扩展性。
事务性内存的实现过程一般包括元数据的管理、冲突的检测、冲突的解决等几个部分。在实现方法上,事务性内存的实现可以分为纯软件实现,纯硬件实现和混合式实现。纯软件实现就是将实现中涉及的几个部分全部通过软件实现(通常以一个库的方式提供),相应的,硬件实现就是将这几部分全部通过硬件实现(通常是提供能够实现相应功能的机器指令)。而混合式的实现方式对软硬件进行了分工,根据软硬件自身的功能特点实现事务性内存的不同部分。一般来说,软件实现方式比硬件实现方式更为灵活,能够支持更多的语言特性,但在性能上不如硬件实现,且在硬件事务性内存平台上编写的应用也难以移植到其他平台上。混合式的实现方式能够发挥软硬件各自的长处,相对于软件实现和硬件实现来说是一种更为有效的事务性内存实现方案。
在现有技术中,已经存在采用混合式实现方式实现事务性内存的方法,例如,在参考文献2“B.Saha,A.Adl-Tabatabai,Q.Jacobson:ArchitecturalSupport for Software Transactional Memory.Proceedings of the 39th AnnualIEEE/ACM International Symposium on Microarchitecture,2006”中,提出了一种混合式事务性内存方案,该方案将一个纯软件模式和软硬件模型相结合。其优点在于:通过运行时系统的支持,该方案具有较好的易编程性;将软硬件相结合后,硬件能够去除冗余的读拦截和降低读集合一致性检测的开销,加速已有软件事务执行的作用。其缺陷在于:1)硬件功能相对简单,软件在读拦截和冲突检测方面仍然需要付出较大开销;2)该方法只是减少但并没有避免读集合一致性检测,当出现高速缓存块换出时,仍需进行读集合一致性检测。实验表明,读拦截和读集合一致性检测开销是软件事务性内存开销的主要组成部分,因此,该方案中混合模型的性能相对还不够好。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810239010.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:易更换的模块式电源防雷装置
- 下一篇:用于空勤人员的呼吸装置