Skip to content

Research at St Andrews

Refactoring for introducing and tuning parallelism for heterogeneous multicore machines in Erlang

Research output: Contribution to journalArticle

DOI

Open Access Status

  • Embargoed (until 24/06/20)

Abstract

This paper presents semi‐automatic software refactorings to introduce and tune structured parallelism in sequential Erlang code, as well as to generate code for running computations on GPUs and possibly other accelerators. Our refactorings are based on the lapedo framework for programming heterogeneous multi‐core systems in Erlang. lapedo is based on the PaRTE refactoring tool and also contains (1) a set of hybrid skeletons that target both CPU and GPU processors, (2) novel refactorings for introducing and tuning parallelism, and (3) a tool to generate the GPU offloading and scheduling code in Erlang, which is used as a component of hybrid skeletons. We demonstrate, on four realistic use‐case applications, that we are able to refactor sequential code and produce heterogeneous parallel versions that can achieve significant and scalable speedups of up to 220 over the original sequential Erlang program on a 24‐core machine with a GPU.
Close

Details

Original languageEnglish
Article numbere5420
Pages (from-to)1-25
Number of pages25
JournalConcurrency and Computation : Practice and Experience
VolumeEarly View
Early online date24 Jun 2019
DOIs
Publication statusE-pub ahead of print - 24 Jun 2019

    Research areas

  • Erlang, GPU, Heterogenous, Multi-core, Parallelism, Refactoring

Discover related content
Find related publications, people, projects and more using interactive charts.

View graph of relations

Related by author

  1. A hybrid approach to parallel pattern discovery in C++

    Brown, C. M., Janjic, V., Barwell, A. D., Thomson, J. D., Castañeda Lozano, R., Cole, M., Franke, B., Garcia-Sanchez, J. D., Del Rio Astorga, D. & MacKenzie, K., 1 Dec 2019, (Accepted/In press) 2020 28th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP). IEEE Computer Society

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

  2. Reasoning about non-functional properties using compiler intrinsic function annotations

    Jadhav, S., Roth, M., Falk, H., Brown, C. M. & Barwell, A. D., 6 Nov 2019, Proceedings of the 13th Junior Researcher Workshop on Real-Time Computing. INP ENSEEIHT/IRIT, p. 25-28 4 p.

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

  3. Type-driven verification of non-functional properties

    Brown, C. M., Barwell, A. D., Marquer, Y., Minh, C. & Zendra, O., 7 Oct 2019, Proceedings of the 21st International Symposium on Principles and Practice of Programming Languages 2019 (PPDP '19). New York: ACM, p. 1-15 15 p. 6

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

  4. The Missing Link! A new skeleton for evolutionary multi-agent systems in Erlang

    Stypka, J., Turek, W., Byrski, A., Kisiel-Dorohinicki, M., Barwell, A. D., Brown, C. M., Hammond, K. & Janjic, V., Feb 2018, In : International Journal of Parallel Programming. 46, 1, p. 4-22 19 p.

    Research output: Contribution to journalArticle

Related by journal

  1. HPC-GAP: engineering a 21st-century High-Performance Computer algebra system

    Behrends, R., Hammond, K., Janjic, V., Konovalov, A., Linton, S. A., Loidl, H-W., Maier, P. & Trinder, P., 10 Sep 2016, In : Concurrency and Computation : Practice and Experience. 28, 13, p. 3606-3636 33 p.

    Research output: Contribution to journalArticle

  2. Towards an autonomous decentralised orchestration system

    Jaradat, W., Dearle, A. & Barker, A., 10 Aug 2016, In : Concurrency and Computation : Practice and Experience. 28, 11, p. 3164-3179

    Research output: Contribution to journalArticle

  3. Resource Analyses for Parallel and Distributed Coordination

    Trinder, P., Cole, M., Hammond, K., Loidl, H-W. & Michaelson, G., Mar 2013, In : Concurrency and Computation : Practice and Experience. 25, 3, p. 309-348 40 p.

    Research output: Contribution to journalArticle

  4. Engineering Parallel Symbolic Programs in GPH

    Loidl, H-W., Trinder, PW., Barry, E., Hammond, K., Junaidu, SB. & Peyton Jones, SL., Oct 1999, In : Concurrency and Computation : Practice and Experience. 11, 12, p. 701-752 52 p.

    Research output: Contribution to journalArticle

ID: 259077723

Top