计算机工程
計算機工程
계산궤공정
COMPUTER ENGINEERING
2014年
3期
99-102,112
,共5页
刘雷%李晶%陈莉%冯晓兵
劉雷%李晶%陳莉%馮曉兵
류뢰%리정%진리%풍효병
软件投机并行%基于进程投机并行%运行时并行%委托正确性检查%并行任务划分
軟件投機併行%基于進程投機併行%運行時併行%委託正確性檢查%併行任務劃分
연건투궤병행%기우진정투궤병행%운행시병행%위탁정학성검사%병행임무화분
software speculative parallelization%process-based speculative parallelization%runtime parallelization%delegated correctness checking%partitioning of parallel tasks
投机并行化是解决遗留串行代码并行化的重要技术,但以往投机并行化运行时系统面临着诸多的性能问题,如任务分配不均衡、通信频繁、冲突代价高,以及进程启动/结束频繁而导致开销过高等。为此,提出一种基于进程实现的投机并行化运行时系统。采用隐式单程序多数据的并行任务划分和执行模式,通过实现重用进程的投机任务调度策略和委托正确性检查技术,降低投机进程启动/结束和通信的开销,提高投机进程的利用率,同时利用守护进程与投机进程协同执行的方式,确保在投机进程出现异常情况时程序也能正确执行。实验结果表明,该基于进程实现的投机运行时系统比同类型系统的性能提高231%。
投機併行化是解決遺留串行代碼併行化的重要技術,但以往投機併行化運行時繫統麵臨著諸多的性能問題,如任務分配不均衡、通信頻繁、遲突代價高,以及進程啟動/結束頻繁而導緻開銷過高等。為此,提齣一種基于進程實現的投機併行化運行時繫統。採用隱式單程序多數據的併行任務劃分和執行模式,通過實現重用進程的投機任務調度策略和委託正確性檢查技術,降低投機進程啟動/結束和通信的開銷,提高投機進程的利用率,同時利用守護進程與投機進程協同執行的方式,確保在投機進程齣現異常情況時程序也能正確執行。實驗結果錶明,該基于進程實現的投機運行時繫統比同類型繫統的性能提高231%。
투궤병행화시해결유류천행대마병행화적중요기술,단이왕투궤병행화운행시계통면림착제다적성능문제,여임무분배불균형、통신빈번、충돌대개고,이급진정계동/결속빈번이도치개소과고등。위차,제출일충기우진정실현적투궤병행화운행시계통。채용은식단정서다수거적병행임무화분화집행모식,통과실현중용진정적투궤임무조도책략화위탁정학성검사기술,강저투궤진정계동/결속화통신적개소,제고투궤진정적이용솔,동시이용수호진정여투궤진정협동집행적방식,학보재투궤진정출현이상정황시정서야능정학집행。실험결과표명,해기우진정실현적투궤운행시계통비동류형계통적성능제고231%。
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.