BubbleSched : construire son propre ordonnanceur de threads pour machines multiprocesseurs hirarchiques
Résumé
L'efficacité de l'exécution d'une application multithreadée irrégulière sur une architecture multiprocesseurs fortement hiérarchique repose essentiellement sur la qualité de l'ordonnancement des threads et du placement des données. Pour obtenir d'excellentes performances, les programmeurs sont souvent contraints de sacrifier la portabilité de leur application en câblant dans celle-ci des stratégies de placement ad-hoc fortement dépendantes de l'architecture. Pour remédier à ce problème de portabilité des performances, nous avons défini une plate-forme permettant de décrire dynamiquement la structure hiérarchique des calculs et de définir simplement des ordonnanceurs dédiés, efficaces et portables. Nous justions l'intérêt d'une telle approche et décrivons la technique que nous avons mise au point pour définir simplement de tels ordonnanceurs.
Loading...