Loi d'Amdahl vs loi de Gustafson : hypothèses et scalabilité
Les deux lois estiment de combien un calcul s'accélère lorsqu'on ajoute des processeurs, mais elles reposent sur des hypothèses différentes. La loi d'Amdahl fixe la taille du problème et considère comment terminer plus vite le même travail : la partie non parallélisable fixe alors la limite de l'accélération. La loi de Gustafson fixe le temps d'exécution et considère comment résoudre un problème d'autant plus grand qu'on ajoute des processeurs : l'accélération croît alors presque proportionnellement au nombre de processeurs. Les deux ne se contredisent pas : elles répondent à des questions différentes.
| Critère | Loi d'Amdahl | Loi de Gustafson |
|---|---|---|
| Ce qui est fixé | La taille du problème (quantité totale de travail) | Le temps d'exécution (quantité de travail par processeur) |
| Question | À quel point peut-on résoudre plus vite le même problème ? | Quelle taille de problème peut-on résoudre dans le même temps ? |
| Formule (N : nombre de processeurs) | S = 1 / ((1 − p) + p / N) | S = s + (1 − s) × N = N − s × (N − 1) |
| Mesure de la fraction | p est la part du temps occupée par la partie parallélisable lors d'une exécution sur 1 processeur | s est la part du temps occupée par la partie séquentielle lors d'une exécution parallèle sur N processeurs |
| Quand N augmente | Plafonne à 1 / (1 − p) | Continue de croître presque proportionnellement à N |
| Exemple de calcul | Avec p = 0,95 : environ 17 fois pour N = 100 ; même avec N infini, la limite est de 20 fois | Avec s = 0,05 : environ 95 fois pour N = 100 |
| Mise à l'échelle correspondante | Scalabilité forte | Scalabilité faible |
| Point de vue | Pessimiste. Une petite partie séquentielle fixe la limite | Optimiste. Agrandir le problème rend la parallélisation rentable |
| Exemples adaptés | Lorsqu'on veut traiter rapidement une entrée de taille fixe : traitement d'une image, réponse interactive, etc. | Simulations avec un maillage plus fin, ou lorsqu'on veut traiter des données ou des modèles plus grands dans le même temps |
| Ce que les deux ignorent | Surcoût de communication et de synchronisation, déséquilibre de charge, bande passante mémoire insuffisante | Surcoût de communication et de synchronisation, déséquilibre de charge, bande passante mémoire insuffisante |
Les valeurs indiquées sont des ordres de grandeur typiques et varient selon la génération de procédé et le produit.