Automatic Parallelization of Programs via Software Stream Rewriting

被引:0
|
作者
Tao, Tao [1 ]
Plaisted, David [1 ]
机构
[1] Univ N Carolina, Dept Comp Sci, Chapel Hill, NC 27515 USA
关键词
automatic parallelization; programming language design; load balancing; multithreading; MODELS;
D O I
10.1109/IPDPSW55747.2022.00094
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
We introduce a system for automatically parallelizing programs using a parallel-by-default language based on stream rewriting. Our method is general and supports all programs that can be written in a typical high-level, imperative language. The technique is fine-grained and fully automatic. It requires no programmer annotation, static analysis, runtime profiling, or cutoff schemes. The only assumption is that all function arguments in the input program can be executed in parallel. This does not affect the generality of our system since the programmers can write sequential parts in continuation-passing style. Experiments show that the runtime can scale computation-bound programs up to 16 cores without performance degradation. Future works remain to improve key aspects of the runtime and further increase the system's performance.
引用
收藏
页码:541 / 551
页数:11
相关论文
共 50 条
  • [31] Verifying Procedural Programs via Constrained Rewriting Induction
    Fuhs, Carsten
    Kop, Cynthia
    Nishida, Naoki
    ACM TRANSACTIONS ON COMPUTATIONAL LOGIC, 2017, 18 (02)
  • [32] Automatic Program Rewriting in Non-Ground Answer Set Programs
    Hippen, Nicholas
    Lierler, Yuliya
    PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES (PADL 2019), 2019, 11372 : 19 - 36
  • [33] Automatic compile-time parallelization of prolog programs for dependent and-parallelism
    Pontelli, E
    Gupta, G
    Pulvirenti, F
    Ferro, A
    LOGIC PROGRAMMING: PROCEEDINGS OF THE FOURTEENTH INTERNATIONAL CONFERENCE ON LOGIC PROGRAMMING, 1997, : 108 - 122
  • [34] Automatic Parallelization of Side-Effecting Higher-Order Scheme Programs
    Nicolay, Jens
    De Roover, Coen
    De Meuter, Wolfgang
    Jonckers, Viviane
    11TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM 2011), 2011, : 185 - 194
  • [35] On-line trace based automatic parallelization of java programs on multicore platforms
    Sun, Yu
    Zhang, Wei
    Journal of Computing Science and Engineering, 2012, 6 (02) : 105 - 118
  • [36] Automatic Parallelization of Array-oriented Programs for a Multi-core Machine
    Ching, Wai-Mee
    Zheng, Da
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2012, 40 (05) : 514 - 531
  • [37] Automatic Parallelization: Executing Sequential Programs on a Task-Based Parallel Runtime
    Alcides Fonseca
    Bruno Cabral
    João Rafael
    Ivo Correia
    International Journal of Parallel Programming, 2016, 44 : 1337 - 1358
  • [38] On-line trace based automatic parallelization of java programs on multicore platforms
    Department of ECE, Virginia Commonwealth University, United States
    Proc. Annu. Workshop Interact. Compilers Comput. Archit. INTERACT, (35-43):
  • [39] Automatic Parallelization: Executing Sequential Programs on a Task-Based Parallel Runtime
    Fonseca, Alcides
    Cabral, Bruno
    Rafael, Joao
    Correia, Ivo
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2016, 44 (06) : 1337 - 1358
  • [40] From Functional Programs to Interaction Nets via the Rewriting Calculus
    Cirstea, Horatiu
    Faure, Germain
    Fernandez, Maribel
    Mackie, Ian
    Sinot, Francois-Regis
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 174 (10) : 39 - 56