Cost-Directed Refactoring for Parallel Erlang Programs

被引:26
作者
Brown, Christopher [1 ]
Danelutto, Marco [2 ]
Hammond, Kevin [1 ]
Kilpatrick, Peter [3 ]
Elliott, Archibald [1 ]
机构
[1] Univ St Andrews, Sch Comp Sci, St Andrews, Fife, Scotland
[2] Univ Pisa, Dept Comp Sci, Pisa, Italy
[3] Queens Univ Belfast, Sch Elect Elect Engn & Comp Sci, Belfast, Antrim, North Ireland
基金
英国工程与自然科学研究理事会;
关键词
TRANSFORMATION;
D O I
10.1007/s10766-013-0266-5
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
This paper presents a new programming methodology for introducing and tuning parallelism in Erlang programs, using source-level code refactoring from sequential source programs to parallel programs written using our skeleton library, Skel. High-level cost models allow us to predict with reasonable accuracy the parallel performance of the refactored program, enabling programmers to make informed decisions about which refactorings to apply. Using our approach, we demonstrate easily obtainable, significant and scalable speedups of up to 21 on a 24-core machine over the sequential code.
引用
收藏
页码:564 / 582
页数:19
相关论文
共 34 条
[31]  
PARTSCH H, 1983, COMPUT SURV, V15, P199, DOI 10.1145/356914.356917
[32]   Template meta-programming for Haskell [J].
Sheard, T ;
Jones, SP .
ACM SIGPLAN NOTICES, 2002, 37 (12) :60-75
[33]   A COST CALCULUS FOR PARALLEL FUNCTIONAL PROGRAMMING [J].
SKILLICORN, DB ;
CAI, W .
JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1995, 28 (01) :65-83
[34]   Refactoring for Reentrancy [J].
Wloka, Jan ;
Sridharan, Manu ;
Tip, Frank .
7TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2009, :173-182