事务内存的并行优化分析-parallel optimization analysis of transactional memory.docx

事务内存的并行优化分析-parallel optimization analysis of transactional memory.docx

事务内存的并行优化分析-parallel optimization analysis of transactional memory

独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中以明确方式标明。本人完全意识到,本声明的法律结果由本人承担。 学位论文作者签名: 日期: 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本论文属于 保 密□,在 年解密后适用本授权书。 不保密□。 (请在以上方框内打“√”) 学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日 华 华 中 科 技 大 学 博 士 学 位 论 文 I I 摘 要 随着处理器架构从单核架构转向了多核架构,给整个计算机领域带来了一系列 根本性的变革。其中,首当其冲的问题就是如何保证在多核处理器下未来软件的性 能能够持续增长,而这就需要程序员显式地利用线程级并行的方式来编写应用程序 去挖掘程序中的并行度。但是,这种变化大大地增加程序员编程的负担,会极大地 降低程序员的编程效率,尤其在软件规模越来越大的今天,提高程序员编程效率被 视作现代软件开发的核心技术。事务内存将数据库中事务的概念引入到并行编程模 型中,一方面采用事务的接口提高了系统的抽象层次,尤其是提供了可重组的性质, 降低了程序员管理并发线程对共享数据相互竞争的负担;另一方面,对可能产生共 享数据竞争的程序段赋予了事务的语义,可以乐观地并发执行这些程序段,即只有 在实际中检测到事务冲突后才对其做出相应的处理,提高了程序的线程并行度。因 此,事务内存被视作未来多核平台下并行编程的一个有效的工具,受到了工业界和 学术界广泛的关注,成为当前的一个研究热点。 通过分析和评估现有的硬件事务内存系统,发现系统随着并发执行事务数目的 增加,特别是在具有粗粒度和高冲突特征的事务应用负载下,由于受到事务冲突的 制约,导致其并发性能急剧下降,影响整个应用的性能。本文从优化事务内存系统 中并发事务执行的并行度入手,提出了三种改进现有的事务内存系统并发度的关键 技术。 由于事务内存现有的版本管理方法在系统运行过程中都存在额外的数据移动的 问题。额外的数据移动不仅会延长事务执行的时间,同时还会影响周围并发事务对 该事务中共享数据的访问,带来额外的事务冲突。特别是在粗粒度和高冲突的事务 应用环境下,有可能会导致系统出现更多的冲突,阻塞事务的并发执行,进而带来 更多的数据移动操作,行成一个恶性的循环,降低系统的并发度,影响并行应用的 性能。针对这个问题,本文提出了一种减少数据移动的单次数据更新版本管理方法, 设计了一个全相联的硬件重定向表格并将其集成到处理器的流水线中用于管理事务 II II 执行过程中的新旧版本数据,同时分析事务应用的特点设计了两层重定向表格,在 挖掘并发性能的同时降低硬件的开销。这种方法通过减少版本管理中额外的数据移 动操作,除了可以缩短事务本身的执行时间以外,还可以降低该事务对周围并发事 务的影响,提高整个系统的并发度。 事务接口具备的可重组的特点使得程序员很容易地将并行事务应用程序写成粗 粒度和高冲突的长事务应用程序。然而,粗粒度的长事务在执行过程中,因为其执 行时间过长,导致与其发生事务冲突的概率大大的增强,很容易阻塞周围并发执行 的事务,极大地影响并发执行事务的并行度。为了解决这个问题,本文提出了粗粒 度长事务的并发推测执行技术,将线程级推测执行技术集成到硬件事务内存系统中 来,修改硬件事务内存系统的结构使之可以支持程序顺序一致性检测,并提出在函 数调用和循环程序结构中采取推测执行技术加速应用的执行。本方法从粗粒度的长 事务中提取可以并发执行的程序段,利用多个线程并发地执行粗粒度的长事务,加 速该长事务的执行,同时也降低了该事务同周围并发事务之间发生事务冲突的概率, 提高整个系统的并发性。 由于事务应用程序中事务的长短、包含读写集合的大小各不相同,事务之间的 相互影响的行为也多种多样,使得简单地利用基于历史信息的硬件选择器不能准确 地选择事务恰当的运行模式。错误的选择会带来额外的开销,同时还会影响周围事 务的并发度。为了解决这一问题,本文提出基于事务行为分析的并行优化技术,设 计了一个基于软件辅助的事务调度管理模块,该模块动态地收集和统计事务执行的 信息,利用得到的统计信息挖掘并发事务的行为特征,并以此作为调度事务执行和 解决事务冲突的重要参考因素,以此辅助硬件事务内存系

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档