Implementing stencil problems in chapel: An experience report

Per Fuchs, Pieter Hijma, Clemens Grelck

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

Abstract

Stencil operations represent a fundamental class of algorithms in high-performance computing. We are interested in what level of performance can be expected from a highproductivity language such as Chapel. To this effect we discuss four different implementations of a generic stencil operation with a convergence check after each iteration.We start with a sequential implementation followed by a global-view implementation that we experiment with both on a 16-core multi-core system as well as on a cluster with up to 16 such nodes using domain maps. We finish with a local-view implementation that explicitly encodes all design decisions with respect to parallel execution. This paper is set up as a two stage experience report: We mainly report our findings from the users' perspective without any feedback from the Chapel implementers. We then report additional analysis performed under guidance of the Chapel team. Our experimental findings show that Chapel performs as expected on a single node. However, it does not achieve the expected levels of performance on our multi-node system, neither with the data-parallel global-view approach, nor with the taskparallel local-view code. We discuss the root causes of our reduced performance in detail and report possible solutions.

Original languageEnglish
Title of host publicationCHIUW 2019 - Proceedings of the ACM SIGPLAN 6th Chapel Implementers and Users Workshop, co-located with PLDI 2019
EditorsBradford L. Chamberlain, Benjamin Robbins
PublisherAssociation for Computing Machinery
Pages16-25
Number of pages10
ISBN (Electronic)9781450368001
DOIs
Publication statusPublished - 22 Jun 2019
EventACM SIGPLAN 6th Annual Chapel Implementers and Users Workshop, CHIUW 2019, held in conjunction with PLDI 2019 - Phoenix, United States
Duration: 22 Jun 2019 → …

Publication series

NameProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

Conference

ConferenceACM SIGPLAN 6th Annual Chapel Implementers and Users Workshop, CHIUW 2019, held in conjunction with PLDI 2019
CountryUnited States
CityPhoenix
Period22/06/19 → …

Fingerprint

Feedback
Experiments

Keywords

  • Chapel
  • Cluster computing
  • Experience report
  • Performance study
  • Stencil operation

Cite this

Fuchs, P., Hijma, P., & Grelck, C. (2019). Implementing stencil problems in chapel: An experience report. In B. L. Chamberlain, & B. Robbins (Eds.), CHIUW 2019 - Proceedings of the ACM SIGPLAN 6th Chapel Implementers and Users Workshop, co-located with PLDI 2019 (pp. 16-25). (Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)). Association for Computing Machinery. https://doi.org/10.1145/3329722.3330146
Fuchs, Per ; Hijma, Pieter ; Grelck, Clemens. / Implementing stencil problems in chapel : An experience report. CHIUW 2019 - Proceedings of the ACM SIGPLAN 6th Chapel Implementers and Users Workshop, co-located with PLDI 2019. editor / Bradford L. Chamberlain ; Benjamin Robbins. Association for Computing Machinery, 2019. pp. 16-25 (Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)).
@inproceedings{86d87177bf284152a02bb23add5885a5,
title = "Implementing stencil problems in chapel: An experience report",
abstract = "Stencil operations represent a fundamental class of algorithms in high-performance computing. We are interested in what level of performance can be expected from a highproductivity language such as Chapel. To this effect we discuss four different implementations of a generic stencil operation with a convergence check after each iteration.We start with a sequential implementation followed by a global-view implementation that we experiment with both on a 16-core multi-core system as well as on a cluster with up to 16 such nodes using domain maps. We finish with a local-view implementation that explicitly encodes all design decisions with respect to parallel execution. This paper is set up as a two stage experience report: We mainly report our findings from the users' perspective without any feedback from the Chapel implementers. We then report additional analysis performed under guidance of the Chapel team. Our experimental findings show that Chapel performs as expected on a single node. However, it does not achieve the expected levels of performance on our multi-node system, neither with the data-parallel global-view approach, nor with the taskparallel local-view code. We discuss the root causes of our reduced performance in detail and report possible solutions.",
keywords = "Chapel, Cluster computing, Experience report, Performance study, Stencil operation",
author = "Per Fuchs and Pieter Hijma and Clemens Grelck",
year = "2019",
month = "6",
day = "22",
doi = "10.1145/3329722.3330146",
language = "English",
series = "Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)",
publisher = "Association for Computing Machinery",
pages = "16--25",
editor = "Chamberlain, {Bradford L.} and Benjamin Robbins",
booktitle = "CHIUW 2019 - Proceedings of the ACM SIGPLAN 6th Chapel Implementers and Users Workshop, co-located with PLDI 2019",

}

Fuchs, P, Hijma, P & Grelck, C 2019, Implementing stencil problems in chapel: An experience report. in BL Chamberlain & B Robbins (eds), CHIUW 2019 - Proceedings of the ACM SIGPLAN 6th Chapel Implementers and Users Workshop, co-located with PLDI 2019. Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), Association for Computing Machinery, pp. 16-25, ACM SIGPLAN 6th Annual Chapel Implementers and Users Workshop, CHIUW 2019, held in conjunction with PLDI 2019, Phoenix, United States, 22/06/19. https://doi.org/10.1145/3329722.3330146

Implementing stencil problems in chapel : An experience report. / Fuchs, Per; Hijma, Pieter; Grelck, Clemens.

CHIUW 2019 - Proceedings of the ACM SIGPLAN 6th Chapel Implementers and Users Workshop, co-located with PLDI 2019. ed. / Bradford L. Chamberlain; Benjamin Robbins. Association for Computing Machinery, 2019. p. 16-25 (Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)).

Research output: Chapter in Book / Report / Conference proceedingConference contributionAcademicpeer-review

TY - GEN

T1 - Implementing stencil problems in chapel

T2 - An experience report

AU - Fuchs, Per

AU - Hijma, Pieter

AU - Grelck, Clemens

PY - 2019/6/22

Y1 - 2019/6/22

N2 - Stencil operations represent a fundamental class of algorithms in high-performance computing. We are interested in what level of performance can be expected from a highproductivity language such as Chapel. To this effect we discuss four different implementations of a generic stencil operation with a convergence check after each iteration.We start with a sequential implementation followed by a global-view implementation that we experiment with both on a 16-core multi-core system as well as on a cluster with up to 16 such nodes using domain maps. We finish with a local-view implementation that explicitly encodes all design decisions with respect to parallel execution. This paper is set up as a two stage experience report: We mainly report our findings from the users' perspective without any feedback from the Chapel implementers. We then report additional analysis performed under guidance of the Chapel team. Our experimental findings show that Chapel performs as expected on a single node. However, it does not achieve the expected levels of performance on our multi-node system, neither with the data-parallel global-view approach, nor with the taskparallel local-view code. We discuss the root causes of our reduced performance in detail and report possible solutions.

AB - Stencil operations represent a fundamental class of algorithms in high-performance computing. We are interested in what level of performance can be expected from a highproductivity language such as Chapel. To this effect we discuss four different implementations of a generic stencil operation with a convergence check after each iteration.We start with a sequential implementation followed by a global-view implementation that we experiment with both on a 16-core multi-core system as well as on a cluster with up to 16 such nodes using domain maps. We finish with a local-view implementation that explicitly encodes all design decisions with respect to parallel execution. This paper is set up as a two stage experience report: We mainly report our findings from the users' perspective without any feedback from the Chapel implementers. We then report additional analysis performed under guidance of the Chapel team. Our experimental findings show that Chapel performs as expected on a single node. However, it does not achieve the expected levels of performance on our multi-node system, neither with the data-parallel global-view approach, nor with the taskparallel local-view code. We discuss the root causes of our reduced performance in detail and report possible solutions.

KW - Chapel

KW - Cluster computing

KW - Experience report

KW - Performance study

KW - Stencil operation

UR - http://www.scopus.com/inward/record.url?scp=85071180623&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85071180623&partnerID=8YFLogxK

U2 - 10.1145/3329722.3330146

DO - 10.1145/3329722.3330146

M3 - Conference contribution

T3 - Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

SP - 16

EP - 25

BT - CHIUW 2019 - Proceedings of the ACM SIGPLAN 6th Chapel Implementers and Users Workshop, co-located with PLDI 2019

A2 - Chamberlain, Bradford L.

A2 - Robbins, Benjamin

PB - Association for Computing Machinery

ER -

Fuchs P, Hijma P, Grelck C. Implementing stencil problems in chapel: An experience report. In Chamberlain BL, Robbins B, editors, CHIUW 2019 - Proceedings of the ACM SIGPLAN 6th Chapel Implementers and Users Workshop, co-located with PLDI 2019. Association for Computing Machinery. 2019. p. 16-25. (Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)). https://doi.org/10.1145/3329722.3330146