返回
Controlling the granularity of automatic parallel programs
DOI:10.1016/j.jocs.2016.06.005.png)
摘要
En 中文
Programming for concurrent platforms, such as multicore cpus, is very time consuming and requires fine tuning of the final program in order to optimize the program parallel layout to the hardware architecture. Parallelization of programs is done by identification parts of code (tasks) that can be executed concurrently and execution in different threads. Current approaches for automatic parallelization cannot achieve the same performance of manually parallelized programs. Current tools are limited and either parallelize everything possible, or are limited to parallelizing the outer loops, which may miss potential parallelism that could improve the program. Some approaches have controlled granularity during execution only, but without any relevant speedups. Automatic Parallelizing Compilers have shown little overall speedup without the manual guidance of programmers in terms of granularity. This work addresses the issue of achieving performant programs from a fully automated parallelization. We propose a cost-model to decide between different parallelization alternatives. By performing static analysis, we are able to estimate the time of tasks and parallelize them only if the time is larger than the overhead of task spawning. Because the information during compilation might not be enough to make that decision, we delay some of the decisions to runtime, when all variables are available. Thus, we use an hybrid approach that performs optimizations at compile-time and at runtime. Although we apply our model in the Java language on top of the AEminium runtime, our approach is modular and can be applied to any programming language in any task-based runtime for shared-memory. We have evaluated our approach in existing benchmark programs, in cases where a wrong granularity value would result in slowing down the programs. We were able to achieve speedups greater than versions without granularity control, or with runtime-based granularity control information. We were also able to generate programs with better performance than the state-of-the-art Java automatic parallelizing compiler. Finally, in some cases we were able to outperform the human programmer. (C) 2016 Elsevier B.V. All rights reserved.
Keyword:
Compiler
Parallel
Granularity
AI总结
对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。
期刊
IF:
18.3
论文数:
3.1K
被引数:
4.0K
机构
引用论文
Treatment of a patient with malignant mesothelioma with interferon-?2 based on in vitro sensitivity tests基于体外敏感性试验对一名恶性间皮瘤患者使用干扰素-?2进行治疗
Wide Diversity in Measurements of Growth Hormone after Stimulation Tests in Short Children are Due to Assay Variability矮小儿童刺激试验后生长激素的测量差异很大
MA23.10 Low Number of Mutations and Frequent Co-Deletions of CDKN2A and IFN Type I Characterize Malignant Pleural MesotheliomaMA23.10 低突变数量和CDKN2A与I型干扰素频繁共缺失是恶性胸膜间皮瘤的特征
没有更多内容

