多线程环境下的软件事务内存模型研究
发布时间:2022-08-08 12:49
目前,在一个芯片内集成多个处理器核,已经成为提高处理器性能的主要手段。这样,可以在不提升处理器频率的前提下,降低处理器的功耗,大大提高了处理器的多线程计算性能。然而,要使多核处理器充分发挥多线程计算性能,最大的挑战是建立多线程编程模型。目前多线程使用锁来保证并行线程间的同步,但锁如果不经过精心地设计,很容易会导致死锁,优先级反转等错误,并且程序的可读性和重用性都较差。软件事务内存模型将一系列对共享存储区的操作看成一个事务,保证了原子性,一致性和隔离性。使用它来取代锁结构,简化编程模型,提高多线程编程效率,是现在的研究热点。目前对软件事务内存模型的研究主要关注于如何提高单个事务的执行性能以及事务的优先级调度算法方面,而对于各个事务间的协调通信机制研究较少,各个事务间是相对独立的。在多个事务间存在互相制约的情况下,由于缺少协调通信手段,事务的提交成功率将会出现较大的性能损失。同时,事务的可重用性也较差。本文针对这种情况,提出了一种软件事务内存模型(CSTM),通过给予事务自我阻塞的能力以及组合机制,使得事务间具有了即时有效的通信手段。通过实验证明,该模型在多个事务相互需要协调运行的情况下,...
【文章页数】:64 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
1 绪论
1.1 课题背景及问题陈述
1.2 国内外的研究现状
1.3 本文研究工作简介
1.4 论文组织结构
2 相关知识基础
2.1 多线程同步及锁机制
2.2 数据库中的事务处理机制
2.2.1 数据库事务基本概念
2.2.2 原子操作
2.2.3 扁平事务
2.2.4 数据库事务状态转换
2.3 软件事务内存模型
2.3.1 概述
2.3.2 STM 事务更新机制
2.3.3 STM 事务优先级算法
2.4 小结
3 CSTM 模型的设计及分析
3.1 设计思路
3.2 CSTM 结构
3.3 实例说明
3.4 事务的自我阻塞与组合
3.4.1 事务的自我阻塞
3.4.2 事务的顺序组合和选择组合
3.5 小结
4 CSTM 模型的实现
4.1 开发环境
4.2 主要数据结构及流程分析
4.2.1 事务的优先级计算及队列管理
4.2.2 事务的日志结构
4.2.3 事务的组合与运行
4.3 小结
5 系统测试与性能分析
5.1 测试环境
5.2 测试说明
5.3 测试结果
5.4 性能分析
6 总结与展望
致谢
参考文献
附录:作者在攻读学位期间发表的论文目录
【参考文献】:
期刊论文
[1]一种CMP结构上的事务存储编程模型设计[J]. 陈嘉,安虹,刘圆,王莉. 计算机仿真. 2007(06)
本文编号:3671540
【文章页数】:64 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
1 绪论
1.1 课题背景及问题陈述
1.2 国内外的研究现状
1.3 本文研究工作简介
1.4 论文组织结构
2 相关知识基础
2.1 多线程同步及锁机制
2.2 数据库中的事务处理机制
2.2.1 数据库事务基本概念
2.2.2 原子操作
2.2.3 扁平事务
2.2.4 数据库事务状态转换
2.3 软件事务内存模型
2.3.1 概述
2.3.2 STM 事务更新机制
2.3.3 STM 事务优先级算法
2.4 小结
3 CSTM 模型的设计及分析
3.1 设计思路
3.2 CSTM 结构
3.3 实例说明
3.4 事务的自我阻塞与组合
3.4.1 事务的自我阻塞
3.4.2 事务的顺序组合和选择组合
3.5 小结
4 CSTM 模型的实现
4.1 开发环境
4.2 主要数据结构及流程分析
4.2.1 事务的优先级计算及队列管理
4.2.2 事务的日志结构
4.2.3 事务的组合与运行
4.3 小结
5 系统测试与性能分析
5.1 测试环境
5.2 测试说明
5.3 测试结果
5.4 性能分析
6 总结与展望
致谢
参考文献
附录:作者在攻读学位期间发表的论文目录
【参考文献】:
期刊论文
[1]一种CMP结构上的事务存储编程模型设计[J]. 陈嘉,安虹,刘圆,王莉. 计算机仿真. 2007(06)
本文编号:3671540
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3671540.html