一句话:提出 Perspective 推测式自动并行化框架,以接近非推测方法的效率实现 DOALL 并行化。
自动并行化长期受制于内存分析的不精确性,非推测方法适用性有限;推测式并行化虽扩大了适用范围,但在验证与提交阶段带来高昂的通信与记账开销。本文提出 Perspective,一个推测式 DOALL 并行化框架。与先做内存分析、再用推测补救的现有方案不同,Perspective 将推测感知的内存分析器、高效推测私有化方法以及规划阶段相结合,由规划阶段选取最小代价的并行化使能变换集合,从而系统性降低推测开销。在 28 核共享内存商用机上评测 12 个通用 C/C++ 程序,Perspective 取得平均 23.0 倍加速,显著高于此前适用性最高的自动 DOALL 并行化系统 Privateer 的 11.5 倍。
The promise of automatic parallelization, freeing programmers from the error-prone and time-consuming process of making efficient use of parallel processing resources, remains unrealized. For decades, the imprecision of memory analysis limited the applicability of non-speculative automatic parallelization. The introduction of speculative automatic parallelization overcame these applicability limitations, but, even in the case of no misspeculation, these speculative techniques exhibit high communication and bookkeeping costs for validation and commit. This paper presents Perspective, a speculative-DOALL parallelization framework that maintains the applicability of speculative techniques while approaching the efficiency of non-speculative ones. Unlike current approaches which subsequently apply speculative techniques to overcome the imprecision of memory analysis, Perspective combines a novel speculation-aware memory analyzer, new efficient speculative privatization methods, and a planning phase to select a minimal-cost set of parallelization-enabling transforms. By reducing speculative parallelization overheads in ways not possible with prior parallelization systems, Perspective obtains higher overall program speedup (23.0x for 12 general-purpose C/C++ programs running on a 28-core shared-memory commodity machine) than Privateer (11.5x), the prior automatic DOALL parallelization system with the highest applicability.