Analyse des performances
Quelle est la méthode la plus appropriée pour étudier la scalabilité d'un programme parallèle ?
- AMesurer une seule fois avec le nombre maximal de cœurs
- BMesurer le temps d'exécution en augmentant le nombre de threads ou de cœurs (1, 2, 4, 8…) et tracer l'évolution de l'accélération
- CMesurer de nombreuses fois sur un seul cœur
Afficher la réponse et l'explication
Réponse : B. Mesurer le temps d'exécution en augmentant le nombre de threads ou de cœurs (1, 2, 4, 8…) et tracer l'évolution de l'accélération
En mesurant l'accélération pour différents nombres de cœurs, on obtient idéalement une croissance proportionnelle au nombre de cœurs ; en pratique, les parties non parallélisables, la synchronisation, les communications ou l'insuffisance de bande passante mémoire infléchissent la courbe à partir d'un certain nombre. Le point où la croissance s'arrête indique la contrainte en jeu. Pour une comparaison équitable, la référence doit être le programme séquentiel non parallélisé le plus rapide.