Loi de Gustafson
En architecture informatique, la loi de Gustafson donne l'accélération théorique en latence de l'exécution d'une tùche à temps d'exécution constant que l'on peut attendre d'un systÚme dont on améliore les ressources. Elle est énoncée par l'informaticien John L. Gustafson et son collÚgue Edwin H. Barsis dans l'article Reevaluating Amdahl's Law en 1988[1].
La loi de Gustafson peut ĂȘtre formulĂ©e de la façon suivante :
oĂč
- Slatence est l'accélération théorique en latence de l'exécution de toute la tùche ;
- s est l'accélération en latence de l'exécution de la partie de la tùche bénéficiant de l'amélioration des ressources du systÚme ;
- p est le pourcentage de la charge d'exécution de toute la tùche concerné par la partie bénéficiant de l'amélioration des ressources du systÚme avant l'amélioration.
La loi de Gustafson est souvent utilisĂ©e en calcul parallĂšle pour prĂ©dire l'accĂ©lĂ©ration thĂ©orique lors de l'utilisation de plusieurs processeurs dans le cas oĂč il est possible d'augmenter la quantitĂ© de donnĂ©es traitĂ©es, contrairement Ă la loi d'Amdahl, qui suppose une quantitĂ© de donnĂ©es constante. Elle traduit le fait que l'on peut traiter plus de donnĂ©es dans le mĂȘme temps en augmentant le nombre de processeurs.
DĂ©monstration
Une tĂąche exĂ©cutĂ©e par un systĂšme dont les ressources sont amĂ©liorĂ©es par rapport Ă un systĂšme similaire initial peut ĂȘtre sĂ©parĂ©e en deux parties :
- une partie ne bénéficiant pas de l'amélioration des ressources du systÚme ;
- une partie bénéficiant de l'amélioration des ressources du systÚme.
Exemple. â Un programme informatique qui traite les fichiers d'un disque. Une partie du programme commence par lire le rĂ©pertoire du disque et crĂ©er une liste de fichiers en mĂ©moire. Puis une autre partie du programme passe chaque fichier Ă un fil d'exĂ©cution pour traitement. La partie qui lit le rĂ©pertoire et crĂ©e la liste de fichiers ne peut pas ĂȘtre accĂ©lĂ©rĂ©e sur un ordinateur parallĂšle, mais la partie qui traite les fichiers peut l'ĂȘtre.
La charge d'exĂ©cution de toute la tĂąche avant l'amĂ©lioration des ressources est notĂ©e C. Elle inclut la charge d'exĂ©cution de la partie ne bĂ©nĂ©ficiant pas de l'amĂ©lioration des ressources et la charge d'exĂ©cution de celle en bĂ©nĂ©ficiant. Le pourcentage de la charge d'exĂ©cution de toute la tĂąche correspondant Ă la partie bĂ©nĂ©ficiant de l'amĂ©lioration des ressources avant l'amĂ©lioration des ressources est notĂ© p. Celui correspondant Ă la partie n'en bĂ©nĂ©ficiant pas est donc 1 â p. Il vient
C'est l'exécution de la partie bénéficiant de l'amélioration des ressources qui est accélérée d'un facteur s aprÚs l'amélioration des ressources. Par conséquent, la charge d'exécution de la partie n'en bénéficiant pas reste identique, tandis que celle de la partie en bénéficiant devient
La charge d'exécution théorique C(s) de toute la tùche aprÚs l'amélioration des ressources est ainsi
La loi de Gustafson exprime l'accélération théorique en latence de l'exécution de toute la tùche à temps d'exécution constant T, ce qui donne
Conséquences
Plus le nombre de donnĂ©es traitĂ©es en parallĂšle est grand, plus lâutilisation d'un grand nombre de processeurs est efficace. Mais surtout, il n'y a pas de limite thĂ©orique Ă l'accĂ©lĂ©ration : on peut mettre autant de donnĂ©es que l'on veut, celles-ci sont toutes traitĂ©es par un processeur simultanĂ©ment et le temps mis pour traiter s donnĂ©es sur s processeurs sera identique au temps mis pour traiter une donnĂ©e sur un seul processeur. Aucune limite n'existe concernant la quantitĂ© de donnĂ©es traitables simultanĂ©ment, et donc au gain que l'on peut obtenir.
Bien sûr, il faut se rappeler que la loi de Gustafson s'applique sur une durée déterminée : elle ne rend pas les calculs plus rapides.
Mais dans la réalité, la loi de Gustafson n'est pas utilisable directement. Dans des situations réelles, de nombreux autres paramÚtres interviennent, qui dépendent de l'architecture des processeurs utilisés, du langage de programmation utilisé et de la maniÚre dont a été programmé le programme en question.
Références
- Reevaluating Amdahl's Law, John L. Gustafson, Communications of the ACM 31(5), 1988. pp. 532-533. Aussi au format web ici