Mohamed Naseer, Zayed Khaled, Islam Tharwat Abdel Halim, Ayman M. Bahaa-Eldin
{"title":"Synchronization in Parallel Programming Models for Heterogeneous Many-Cores","authors":"Mohamed Naseer, Zayed Khaled, Islam Tharwat Abdel Halim, Ayman M. Bahaa-Eldin","doi":"10.1109/PDGC50313.2020.9315797","DOIUrl":null,"url":null,"abstract":"Even though the architecture and programming models of heterogeneous many-core processors significantly differ from the conventional multi-core processors, their overall performance is promising for future computing systems. The application programs should be suitably parallel to unlock such potential and match the underlying heterogeneous platform. Therefore, high-level programming constructs should be provided by parallel programming models for heterogeneous many-cores to avoid recurrent programming errors while communicating in heterogeneous many-core systems. Synchronization is one of the key problems in building shared-resource-based parallel software. In this article, we survey mainstream and novel parallel programming models that handle this troublesome issue for heterogeneous Many-Cores: OpenMP, CUDA, OpenCL, Go, Kokkos, OmpSs, and XcalableMP. We also discuss potential research directions in the area.","PeriodicalId":347216,"journal":{"name":"2020 Sixth International Conference on Parallel, Distributed and Grid Computing (PDGC)","volume":"571 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-11-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 Sixth International Conference on Parallel, Distributed and Grid Computing (PDGC)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PDGC50313.2020.9315797","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
Even though the architecture and programming models of heterogeneous many-core processors significantly differ from the conventional multi-core processors, their overall performance is promising for future computing systems. The application programs should be suitably parallel to unlock such potential and match the underlying heterogeneous platform. Therefore, high-level programming constructs should be provided by parallel programming models for heterogeneous many-cores to avoid recurrent programming errors while communicating in heterogeneous many-core systems. Synchronization is one of the key problems in building shared-resource-based parallel software. In this article, we survey mainstream and novel parallel programming models that handle this troublesome issue for heterogeneous Many-Cores: OpenMP, CUDA, OpenCL, Go, Kokkos, OmpSs, and XcalableMP. We also discuss potential research directions in the area.