面向软件事务存储的内存管理技术研究与实现
发布时间:2020-04-02 15:18
【摘要】:多核处理器提升了处理器和计算机系统的性能,解决了传统单处理器的发展瓶颈,但软件编程问题却阻碍了多核系统性能的有效发挥。事务存储是当前最有希望应用在多核处理器系统中的并行编程方法之一,它将事务机制应用到了并行程序设计中。程序员不需要使用传统的互斥机制去协调多线程对共享资源的并发访问,避免了锁机制带来的死锁等问题。按实现方式的不同,事务存储可分为软件事务存储、硬件事务存储和混合事务存储,其中软件事务存储因易于设计和修改而受到了更多关注,成为面向多核架构并行编程模型研究的热点之一。软件事务存储系统设计的关键技术包括数据结构组织、并发控制、冲突检测与解决、内存管理等,其中内存管理是影响系统性能和线程执行的一个重要内容。 本文针对软件事务存储系统的内存管理技术进行了深入的研究。在分析和研究了一些内存分配和垃圾回收策略的基础上,本文结合软件事务存储的实现要求和特点提出了一个非阻塞的内存管理策略。面对软件事务存储系统执行的多线程环境,新策略使用了多线程私有堆内存方案,为系统中的每个线程分配一个完全私有的内存堆,使用私有堆管理器管理每个线程的内存区,并利用一个全局管理器管理所有私有堆管理器。在私有堆管理器中设计了内存分配器、内存托管器和垃圾清除器来进行内存单元的分配、回收和清除工作,形成一个完整的内存管理过程。在垃圾对象的清除和回收设计上,修改了原有基于共享操作的时间点回收方案,将时间点设计在了事务上。当事务即将结束时,通过判断垃圾对象上的时间点和所有当前事务的时间点来确定是否可以安全清除垃圾对象。在垃圾对象被清除后,内存托管器则将带有清除标记的内存单元回收到分配链表中,保证了内存单元的重用。同时在内存管理器中设计了基于时间点的异常检测,防止某些线程的不确定延迟或异常而影响其它线程的内存回收,保证了内存管理器和系统的非阻塞性质。 最后使用六种典型应用程序测试和分析了系统的性能。测试结果表明,本文设计实现的内存管理器保持了较好的性能,特别是在内存管理操作较多时,该内存管理器充分展现了其性能优势。
【学位授予单位】:解放军信息工程大学
【学位级别】:硕士
【学位授予年份】:2009
【分类号】:TP333.1
本文编号:2612118
【学位授予单位】:解放军信息工程大学
【学位级别】:硕士
【学位授予年份】:2009
【分类号】:TP333.1
【参考文献】
相关期刊论文 前4条
1 张小强;彭林;彭元喜;谢伦国;;一种基于目录的软件事务性内存实现算法[J];计算机研究与发展;2008年09期
2 何裕南;安虹;郭锐;梁博;;OpenCMP:一个支持事务存储模型的多核处理器模拟器[J];计算机科学;2007年01期
3 陈嘉;安虹;刘圆;王莉;;一种CMP结构上的事务存储编程模型设计[J];计算机仿真;2007年06期
4 刘必慰;陈书明;汪东;;先进微处理器体系结构及其发展趋势[J];计算机应用研究;2007年03期
,本文编号:2612118
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2612118.html