[发明专利]一种前瞻多线程并行执行优化方法无效
申请号: | 201010126624.X | 申请日: | 2010-03-17 |
公开(公告)号: | CN101807144A | 公开(公告)日: | 2010-08-18 |
发明(设计)人: | 吴悦;徐磊;刘清华;杨洪斌 | 申请(专利权)人: | 上海大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 上海上大专利事务所(普通合伙) 31205 | 代理人: | 陆聪明 |
地址: | 200444*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 前瞻 多线程 并行 执行 优化 方法 | ||
技术领域
本发明涉及计算机领域,具体地说是涉及一种前瞻多线程并行执行优化方法。
背景技术
随着计算机应用的不断深入,单片多核处理器(Chip Multi-Processors,CMP)技术日益 倍受关注。利用CMP技术提高系统性能的关键是充分发挥多个微处理器核心的并行优势。串 行程序虽易于设计和调试,却难以利用CMP技术的并行特性;并行程序虽然能更多获益于CMP 技术,但并行编程对程序员能力要求较高。对于复杂的并行编程语言,程序员更愿意使用传 统的串行程序,而且希望能尽可能地重用已开发出的软件。在这种情况下,串行程序的并行 化方法受到了广泛的重视。
串行程序并行化是指在保证程序语义不变的条件下,将串行程序划分为若干并行线程, 利用并行线程来充分利用CMP技术并行的优点。前瞻多线程(Speculative Multithreading) 是串行程序充分利用CMP技术的关键,当线程执行所需参数在编译阶段不确定的情况下,通 过数据预取、数据推测等方法消除线程间的依赖关系,创建出能够并行执行的前瞻线程。通 过线程前瞻执行和相应的前瞻失效处理机制可以去除线程间的假依赖,发现并维护真依赖, 降低线程之间的依赖程度,提高线程之间的并行度。
线程间的写后读(Read After Write,RAW)数据依赖是指两个线程之间存在对某个或某 几个特定存储空间或变量的写后读依赖,即后面一个线程要读到前面一个线程所写的数据。
线程前瞻执行虽然能在某种程度上提高并行执行的效率,但是因为前瞻执行时,带有写 后读数据依赖的线程会导致线程重启,且重启的时间开销和资源开销很大,也就是说,对于 有的线程,顺序执行的效率会比在多个核上并行执行的效率更好。
发明内容
针对上述现有技术存在的不足,本发明的目的是提供一种前瞻多线程并行执行优化方法。 该方法能减少多线程执行时的写后读数据依赖性冲突和不必要的线程间延迟等待,提高串行 程序在多核处理器上的执行速度,提高处理器利用率。
为达到上述目的,本发明的构思是:利用生产者距离和消费者距离来量化两个有依赖关 系的线程之间的依赖程度,并根据依赖程度有选择性设计前瞻多线程并行执行模式。
根据上述构思,本发明采用下述技术方案:
一种前瞻多线程并行执行优化方法,其具体步骤如下:
(1)、对串行程序中覆盖率较高和并行效率较高的循环部分和子函数部分,将循环部分和 子函数部分相应的串行程序部分划分为一个个的线程;
(2)、判断线程是否前瞻执行,对于前瞻执行的线程分析每一个线程和线程的直接后续线 程之间是否存在写后读数据依赖;
(3)、以设定的生产者距离R与消费者距离P的比值R/P判断并行线程之间的依赖程度 选择线程是否前瞻执行;
(4)、线程前瞻执行完后验证前瞻执行结果。
本发明的一种前瞻多线程并行执行优化方法与已有技术相比较,具有如下面显而易见的 突出实质性特点和显著有点:该方法能有效地减少线程并行执行时的数据依赖冲突和不必要 的延迟等待;综合考虑了串行程序中并行效率较高的循环部分和子函数部分,能够充分挖掘 程序中的写后读数据依赖,充分利用线程级并行性,并通过线程间写后读数据依赖量化,有 选择地前瞻执行,能提高单线程序在多核处理器上的执行速度和处理器利用率。
附图说明
图1是本发明的一种前瞻多线程并行执行优化方法的流程图;
图2是图1中所述的步骤(1)的流程图;
图3是图1中所述的步骤(2)的流程图;
图4是图1中所述的步骤(3)的流程图;
图5是图1中所述的步骤(4)的流程图。
具体实施方式
本发明的一个优选实施例结合附图详述如下:
本实施例所述方案的应用环境是面向单片多核处理器的线程级并行执行环境,本实施例 不限定所述技术方案应用环境中多核处理器架构。
下面结合说明书附图和具体实施方式对本发明作进一步详细的说明。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海大学,未经上海大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010126624.X/2.html,转载请声明来源钻瓜专利网。