Litcius/Paper detail

Survey of Methodologies, Approaches, and Challenges in Parallel Programming Using High-Performance Computing Systems

Paweł Czarnul, Jerzy Proficz, Krzysztof Drypczewski

2020Scientific Programming43 citationsDOIOpen Access PDF

Abstract

This paper provides a review of contemporary methodologies and APIs for parallel programming, with representative technologies selected in terms of target system type (shared memory, distributed, and hybrid), communication patterns (one-sided and two-sided), and programming abstraction level. We analyze representatives in terms of many aspects including programming model, languages, supported platforms, license, optimization goals, ease of programming, debugging, deployment, portability, level of parallelism, constructs enabling parallelism and synchronization, features introduced in recent versions indicating trends, support for hybridity in parallel execution, and disadvantages. Such detailed analysis has led us to the identification of trends in high-performance computing and of the challenges to be addressed in the near future. It can help to shape future versions of programming standards, select technologies best matching programmers’ needs, and avoid potential difficulties while using high-performance computing systems.

Topics & Concepts

Computer scienceSoftware portabilityProgramming paradigmDebuggingParallelism (grammar)AbstractionSynchronization (alternating current)Distributed computingProgramming languageParallel computingComputer architectureChannel (broadcasting)EpistemologyComputer networkPhilosophyDistributed and Parallel Computing SystemsCloud Computing and Resource ManagementParallel Computing and Optimization Techniques
Survey of Methodologies, Approaches, and Challenges in Parallel Programming Using High-Performance Computing Systems | Litcius