Promise Plus: Flexible Synchronization for Parallel Computations on Arrays
Résumé
Parallel applications make use of parallelism where work is shared between tasks; often, tasks need to exchange data stored in arrays and synchronize depending on the availability of these data. Fine-grained synchronizations, e.g. one synchronization for each element in the array, may lead to too many synchronizations while coarse-grained synchronizations, e.g. a single synchronization for the whole array, may prevent parallelism. We propose PromisePlus, a synchronization tool allowing tasks to synchronize on chunks of arrays with a granularity congurable by the programmer.
Les applications parallèles partagent du travail au travers de tâches. Souvent, les tâches doivent échanger des données stockées dans des tableaux, et se synchroniser selon la disponibilité de ces données. Des synchronisations à grain fin, par exemple une synchronisation pour chaque élément dans le tableau, peuvent mener à trop de synchronisations ; des synchronisations à gros grain, par exemple une synchronisation sur tout le tableau, peuvent supprimer le parallélisme. Nous proposons Promise Plus, un outil de synchronisation qui permet aux tâches de se synchroniser sur des sous-ensembles d'un tableau, avec une granularité configurable par le programmeur.
Origine | Fichiers produits par l'(les) auteur(s) |
---|