Communication inter-cœurs optimisée pour le parallélisme de flux
Auteur / Autrice : | Thomas Preud'homme |
Direction : | Bertil Folliot |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance en 2013 |
Etablissement(s) : | Paris 6 |
Mots clés
Résumé
Parmi les différents paradigmes de programmation parallèle, le parallélisme deflux présente l'avantage de conserver la séquentialité des algorithmes et d'êtreainsi applicable en présence de dépendances de données. De plus, l'extension decalcul par flux pour OpenMP proposée par Pop et Cohen permet de mettre en œuvrecette forme de parallélisme sans requérir de réécriture complète du code, en yajoutant simplement des annotations. Cependant, en raison de l'importance de lacommunication nécessaire entre les cœurs de calcul, les performances obtenues ensuivant ce paradigme sont très dépendantes de l'algorithme de communicationutilisé. Or l'algorithme de communication utilisé dans cette extension reposesur des files gérant plusieurs producteurs et consommateurs alors que lesapplications mettant en œuvre le parallélisme de flux fonctionnentprincipalement avec des chaînes de communication linéaires. Afin d'améliorer les performances du parallélisme de flux mis en œuvre parl'extension de calcul par flux pour OpenMP, cette thèse propose d'utiliser,lorsque cela est possible, un algorithme de communication plus spécialisé nomméBatchQueue. En ne gérant que le cas particulier d'une communication avec un seulproducteur et un seul consommateur, BatchQueue atteint des débits jusqu'à deuxfois supérieurs à ceux des algorithmes existants. De plus, une fois intégré àl'extension de calcul par flux pour OpenMP, l'évaluation montre que BatchQueuepermet d'améliorer l'accélération des applications jusqu'à un facteur 2également. L'étude montre ainsi qu'utiliser des algorithmes de communicationspécialisés plus efficaces peut avoir un impact significatif sur lesperformances générales des applications mettant en œuvre le parallélisme de flux.