Task Parallelism and Data Distribution: An Overview of Explicit Parallel Programming Languages - Mines Paris Accéder directement au contenu
Communication Dans Un Congrès Lecture Notes in Computer Science Année : 2013

Task Parallelism and Data Distribution: An Overview of Explicit Parallel Programming Languages

Dounia Khaldi
  • Fonction : Auteur
  • PersonId : 931479
Pierre Jouvelot
Corinne Ancourt
François Irigoin

Résumé

Programming parallelmachines as effectively as sequential ones would ideally require a language that provides high-level programming constructs to avoid the programming errors frequent when expressing parallelism. Since task parallelism is considered more error-prone than data parallelism, we survey six popular and efficient parallel language designs that tackle this difficult issue: Cilk, Chapel, X10, Habanero-Java, OpenMP and OpenCL. Using as single running example a parallel implementation of the computation of the Mandelbrot set, this paper describes how the fundamentals of task parallel programming, i.e., collective and point-to-point synchronization and mutual exclusion, are dealt with in these languages. We discuss how these languages allocate and distribute data over memory. Our study suggests that, even though there are many keywords and notions introduced by these languages, they all boil down, as far as control issues are concerned, to three key task concepts: creation, synchronization and atomicity. Regarding memory models, these languages adopt one of three approaches: shared memory, message passing and PGAS (Partitioned Global Address Space). The paper is designed to give users and language and compiler designers an upto- date comparative overview of current parallel languages.
Fichier principal
Vignette du fichier
A-486.pdf (128.53 Ko) Télécharger le fichier
A-502.pdf (516.15 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Format : Autre
Loading...

Dates et versions

hal-00742536 , version 1 (18-10-2012)

Identifiants

Citer

Dounia Khaldi, Pierre Jouvelot, Corinne Ancourt, François Irigoin. Task Parallelism and Data Distribution: An Overview of Explicit Parallel Programming Languages. 25th International Workshop on Languages and Compilers for Parallel Computing (LCPC 2012), Sep 2012, Tokyo, Japan. pp 174-189, ⟨10.1007/978-3-642-37658-0_12⟩. ⟨hal-00742536⟩
236 Consultations
488 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More