事务存储系统:事务冲突与事务并行

事务存储论文 冲突图论文 并发控制论文 版本管理论文 冲突检测论文 冲突仲裁论文
论文详情
随着微处理器技术的不断发展,传统的依靠提高主频和开发指令级并行来提高微处理器性能的方法已经不再可行,取而代之的是开发线程级并行的方法。目前多核多线程体系结构已经成为微处理器设计的主流,单芯片的并行度迅速提高,并行程序设计已经成为发挥微处理器性能的关键。然而,并行编程模型和并发控制模型的发展没有跟上微处理器高并行度的发展,并行程序设计依然是一项极具挑战性的工作。在这样的背景下,事务存储技术的提出为并行编程模型和并发控制模型的发展带来了新的机遇。事务存储技术借用数据库领域中“事务”的概念,将线程对共享资源的访问封装在事务之中,由事务存储系统确保事务执行的原子性和隔离性。基于事务的并行编程模型及并发控制模型具有无死锁、可组合、简单易用等优点,大大降低了并行程序设计的难度。因此,事务存储技术近年来受到学术界的广泛关注,已经成为并行计算领域的研究热点。本文以事务存储系统为研究对象,重点研究如何支持事务的充分并行以及影响事务并行的主要因素。本文的研究从以下四个方面展开:首先,本文将可能的事务并行模式划分为三个等级:线程间事务并行、线程内事务并行和嵌套事务并行。针对每个等级的事务并行模式,本文使用形式化方法对其进行描述,并在此基础上寻找支持该种并行模式下事务正确执行的充分必要条件。经过形式化的分析和证明本文得出如下结论:在仅支持线程间事务并行的事务存储系统上,事务正确并行执行的充要条件为其冲突图为无环图;在支持线程内事务并行的事务存储系统上,事务正确并行执行的充要条件为其含序冲突图为无环图;在支持嵌套事务并行的事务存储系统上,事务正确并行执行的充要条件为其嵌套冲突图为无环图。其次,本文提出了基于事务冲突图的事务处理协议,并在此基础上给出了基于冲突图的事务存储系统的设计。基于冲突图的事务存储系统支持线程间及线程内事务并行模式,它能够动态的维护活跃事务间的含序冲突图,并在事务提交时检测含序冲突图中是否包含环来决定其是否可以正常提交,从而确保事务执行的正确性。与现有的事务存储系统相比,基于冲突图的事务存储系统能够最大限度的开发事务应用程序线程内及线程间的事务并行性,从而充分发挥多核处理器的并行处理能力。再次,本文选取了三个真实的应用程序,以事务存储技术为基础对其进行并行化,包括实时视频人脸识别程序、基于Push-Relabel最大网络流求解程序以及面向人脸检测的Adaboost机器学习程序。一方面研究基于事务存储技术的程序并行化方法,探索面向事务存储系统的程序设计及优化方法;另一方面以实际的应用程序为测试用例对事务存储系统的性能进行测试,对比不同事务存储系统实现的优缺点。经过对三个应用程序的对比分析,本文发现,粗粒度的事务并行程序的性能优于基于粗粒度锁的并行程序,但依然不如基于细粒度锁的并行程序,要获得超越基于细粒度锁的并行程序的性能,仍然需要对事务并行程序进行精细的优化。此外,由于软件事务存储系统会引入较大的额外开销,要充分发挥事务并行程序的性能,开发具备硬件支持的事务存储系统是十分必要的。最后,本文建立了基于马尔科夫链的硬件事务存储系统模型,该模型将硬件事务的动态执行过程抽象为一个马尔科夫过程,并通过不动点迭代的方法求解硬件事务存储系统的主要性能指标,如平均事务重启次数,事务平均执行时间等。通过对比该模型的求解结果与模拟器的模拟结果,本文验证了该分析模型的有效性(误差在7%以内)。以该分析模型为基础,本文对现有的硬件事务存储系统的实现方法进行了对比分析,主要包括采用Eager型冲突处理策略的硬件事务存储系统,采用Lazy型冲突处理策略的硬件事务存储系统,以及采用混合型冲突处理策略的硬件事务存储系统。分析结果表明,采用混合型冲突处理策略的硬件事务存储系统与其他事务存储系统实现方案相比具有更好的性能和可扩展性。此外,事务存储系统内包含的处理器核数一般不应超过230个,否则事务存储系统运行效率将迅速下降。
摘要第11-13页
ABSTRACT第13-14页
第一章 绪论第15-31页
    1.1 研究背景第15-19页
        1.1.1 单芯片处理器的并行度不断提高第15-17页
        1.1.2 并行度的提高需要新型并行编程模型第17页
        1.1.3 并行度的提高需要新型并发控制模型第17-19页
    1.2 相关研究工作第19-26页
        1.2.1 事务存储技术的提出第19-20页
        1.2.2 事务的语义第20-22页
        1.2.3 事务存储系统的实现第22-25页
        1.2.4 事务存储系统的性能评估第25-26页
        1.2.5 事务存储系统性能分析模型第26页
    1.3 研究内容第26-27页
        1.3.1 事务并行与冲突处理第26页
        1.3.2 基于冲突图的事务存储系统设计第26-27页
        1.3.3 基于事务存储技术的程序并行化研究第27页
        1.3.4 基于马尔科夫链的硬件事务存储系统分析模型研究第27页
    1.4 本文的创新点第27-28页
    1.5 论文结构第28-31页
第二章 事务并行与冲突处理第31-49页
    2.1 事务的并行级别第31-32页
    2.2 线程间事务并行第32-40页
        2.2.1 基础定义第32-34页
        2.2.2 顺序可序列化第34-37页
        2.2.3 强原子性第37-40页
    2.3 线程内事务并行第40-43页
        2.3.1 顺序可序列化第40-42页
        2.3.2 强原子性第42-43页
    2.4 嵌套事务并行第43-47页
        2.4.1 顺序可序列化第43-46页
        2.4.2 强原子性第46-47页
    2.5 小结第47-49页
第三章 基于冲突图的事务存储系统设计第49-73页
    3.1 CGTM 系统概述第49-51页
    3.2 基于冲突图的并发控制协议第51-57页
        3.2.1 线程元数据第51-53页
        3.2.2 虚拟事务Cache第53-54页
        3.2.3 线程的初始化第54页
        3.2.4 冲突检测第54-55页
        3.2.5 提交确认(Validation)第55-56页
        3.2.6 事务的提交与中止第56-57页
        3.2.7 实现强原子性第57页
    3.3 CGTM 的硬件支持第57-60页
        3.3.1 寄存器组第58-59页
        3.3.2 指令集扩展第59页
        3.3.3 Cache 和目录第59-60页
    3.4 硬件支持的并发控制协议第60-65页
        3.4.1 硬件支持的含序冲突图维护第60-61页
        3.4.2 事务的提交/ 中止的详细过程第61-63页
        3.4.3 状态转换表第63-65页
    3.5 CGTM 的操作系统支持第65-67页
        3.5.1 线程的调度第65-66页
        3.5.2 事务相关的中断/ 异常处理第66页
        3.5.3 虚存管理第66-67页
    3.6 实验评测第67-69页
        3.6.1 模拟环境第67-68页
        3.6.2 性能对比分析第68页
        3.6.3 执行时间的构成分析第68-69页
        3.6.4 对网络延迟的敏感性分析第69页
    3.7 小结第69-73页
第四章 基于事务存储技术的并行应用研究第73-97页
    4.1 实验配置第73-75页
        4.1.1 软硬件环境第73页
        4.1.2 应用程序选择第73-74页
        4.1.3 基本并行化策略第74-75页
    4.2 并行化实时视频人脸识别第75-81页
        4.2.1 算法简介第75-76页
        4.2.2 并行化第76-79页
        4.2.3 性能评测第79-81页
    4.3 并行化最大网络流算法第81-88页
        4.3.1 算法简介第81-83页
        4.3.2 并行化第83-85页
        4.3.3 性能评测第85-88页
    4.4 并行化Adaboost 机器学习第88-95页
        4.4.1 算法简介第88-89页
        4.4.2 并行化Adaboost 算法第89-93页
        4.4.3 性能测评第93页
        4.4.4 改变并发度第93-95页
        4.4.5 改变数据规模第95页
    4.5 小结第95-97页
第五章 基于马尔科夫链的硬件事务存储系统性能分析第97-113页
    5.1 模型建立第97-100页
        5.1.1 假设与基础第97-98页
        5.1.2 硬件事务存储系统的描述第98-100页
    5.2 模型求解第100-106页
        5.2.1 若干统计量的表达式第100-101页
        5.2.2 pi 与qi 的求解第101-102页
        5.2.3 EE 型硬件事务存储系统第102-103页
        5.2.4 EL、LL 型硬件事务存储系统第103-105页
        5.2.5 主要性能评价指标的求解第105-106页
    5.3 模型验证与分析第106-111页
        5.3.1 写操作概率对性能的影响第106-108页
        5.3.2 冲突检测粒度对性能的影响第108-109页
        5.3.3 系统的可扩展性分析第109-111页
    5.4 小结第111-113页
第六章 结束语第113-115页
    6.1 工作总结第113-114页
    6.2 研究展望第114-115页
致谢第115-116页
参考文献第116-131页
作者在学期间取得的学术成果第131-132页
论文购买
论文编号ABS574877,这篇论文共132页
会员购买按0.30元/页下载,共需支付39.6
不是会员,注册会员
会员更优惠充值送钱
直接购买按0.5元/页下载,共需要支付66
只需这篇论文,无需注册!
直接网上支付,方便快捷!
相关论文

点击收藏 | 在线购卡 | 站内搜索 | 网站地图
版权所有 艾博士论文 Copyright(C) All Rights Reserved
版权申明:本文摘要目录由会员***投稿,艾博士论文编辑,如作者需要删除论文目录请通过QQ告知我们,承诺24小时内删除。
联系方式: QQ:277865656