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 条
  • [1] Automatic Parallelization and Optimization of Programs by Proof Rewriting
    Hurlin, Clement
    STATIC ANALYSIS, 2009, 5673 : 52 - 68
  • [2] Automatic parallelization of recursive functions with rewriting rules
    Rocha, Rodrigo C. O.
    Goes, Luis F. W.
    Pereira, Fernando M. Q.
    SCIENCE OF COMPUTER PROGRAMMING, 2019, 173 : 128 - 152
  • [3] Automatic parallelization of arbitrary programs
    Ryan, C
    Ivan, L
    GENETIC PROGRAMMING, 1999, 1598 : 244 - 254
  • [4] Automatic Parallelization of Embedded Software via Hierarchical Process Network Transformations
    Bahrami, Fahimeh
    Jordao, Rodolfo
    Sander, Ingo
    Ungureanu, George
    2024 FORUM ON SPECIFICATION & DESIGN LANGUAGES, FDL 2024, 2024, : 37 - 45
  • [5] AUTOMATIC PARALLELIZATION OF LAZY FUNCTIONAL PROGRAMS
    HOGEN, G
    KINDLER, A
    LOOGEN, R
    LECTURE NOTES IN COMPUTER SCIENCE, 1992, 582 : 254 - 268
  • [6] Towards Automatic Parallelization of Stream Processing Applications
    Dolz, Manuel F.
    Del Rio Astorga, David
    Fernandez, Javier
    Daniel Garcia, J.
    Carretero, Jesus
    IEEE ACCESS, 2018, 6 : 39944 - 39961
  • [7] An Experimentation Platform for the Automatic Parallelization of R Programs
    Padberg, Frank
    Mirold, Michael
    2012 19TH ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC), VOL 1, 2012, : 203 - 212
  • [8] On the automatic parallelization of sparse and irregular Fortran programs
    Lin, Yuan
    Padua, David
    Scientific Programming, 1999, 7 (03): : 231 - 246
  • [9] REWRITING PROGRAMS TO HAVE A BASE FOR NEW SOFTWARE
    DIERICKX, W
    PHILIPS, B
    MICROPROCESSING AND MICROPROGRAMMING, 1985, 16 (4-5): : 211 - 214
  • [10] Automatic Parallelization via Matrix Multiplication
    Sato, Shigeyuki
    Iwasaki, Hideya
    PLDI 11: PROCEEDINGS OF THE 2011 ACM CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2011, : 470 - 479