作者投稿和查稿 主编审稿 专家审稿 编委审稿 远程编辑

计算机工程

• 体系结构与软件技术 • 上一篇    下一篇

基于进程投机并行的运行时系统设计与优化

刘 雷1,2,李 晶1,2,陈 莉1,冯晓兵1   

  1. (1. 中国科学院计算技术研究所,北京 100190;2. 中国科学院大学,北京 100190)
  • 收稿日期:2012-11-15 出版日期:2014-03-15 发布日期:2014-03-13
  • 作者简介:刘 雷(1980-),男,助理研究员、博士,主研方向:并行编译,编译优化;李 晶,博士研究生;陈 莉,副研究员;冯晓兵,研究员。
  • 基金资助:
    国家“863”计划基金资助项目(2012AA010902);国家“973”计划基金资助项目(2011CB302504)。

Design and Optimization on Runtime System of Process-based Speculative Parallelization

LIU Lei  1,2, LI Jing  1,2, CHEN Li 1, FENG Xiao-bing 1   

  1. (1. Institute of Computing Technology, Chinese Academy of Sciences, Beijing 100190, China;2. University of Chinese Academy of Sciences, Beijing 100190, China)
  • Received:2012-11-15 Online:2014-03-15 Published:2014-03-13

摘要: 投机并行化是解决遗留串行代码并行化的重要技术,但以往投机并行化运行时系统面临着诸多的性能问题,如任务分配不均衡、通信频繁、冲突代价高,以及进程启动/结束频繁而导致开销过高等。为此,提出一种基于进程实现的投机并行化运行时系统。采用隐式单程序多数据的并行任务划分和执行模式,通过实现重用进程的投机任务调度策略和委托正确性检查技术,降低投机进程启动/结束和通信的开销,提高投机进程的利用率,同时利用守护进程与投机进程协同执行的方式,确保在投机进程出现异常情况时程序也能正确执行。实验结果表明,该基于进程实现的投机运行时系统比同类型系统的性能提高231%。

关键词: 软件投机并行, 基于进程投机并行, 运行时并行, 委托正确性检查, 并行任务划分

Abstract: Speculative parallelization is an important technique for solving the problem of parallelizing the legacy codes. However, the original runtime systems of speculative parallelization are confronted with serious performance problems, such as load unbalance, frequent communication, high conflict costs and frequent process creation/destruction overheads. This paper proposes a process-based speculative runtime system, using Implicit Single Program Multiple Data(ISPMD) method to partition and execute tasks in parallel, and implement a reused-process and delegated correctness checking method to reduce the overheads of frequent creation/destruction of speculative processes or the communication between them, which can improve the utilization of speculative processes. Besides, through a method that speculative tasks cooperate with manager task, the system can ensure the correct execution, even in the presence of exceptions with speculative processes. According to experimental results, the process-based speculative runtime system achieves 231% speedup improvement compared with other process-based speculative parallel systems.

Key words: software speculative parallelization, process-based speculative parallelization, runtime parallelization, delegated correctness checking, partitioning of parallel tasks

中图分类号: