En architecture informatique, la loi d'Amdahl donne l'accélération théorique en latence de l'exécution d'une tâche à charge d'exécution constante que l'on peut attendre d'un système dont on améliore les ressources. Elle est énoncée par l'informaticien Gene Amdahl à l'AFIPS Spring Joint Computer Conference en 1967.
La loi d'Amdahl 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 le nombre de fils d'exécutions (threads) utilisés pour exécuter la tâche
p est le pourcentage du temps d'exécution de toute la tâche concernant la partie bénéficiant de l'amélioration des ressources du système avant l'amélioration.
De plus,
montrent que l'accélération théorique de l'exécution de toute la tâche augmente avec l'amélioration des ressources du système et que, quelle que soit l'amélioration, l'accélération théorique est toujours limitée par la partie de la tâche qui ne peut tirer profit de l'amélioration.
La loi d'Amdahl est souvent utilisée en calcul parallèle pour prédire l'accélération théorique lors de l'utilisation de plusieurs processeurs. Par exemple, si un programme a besoin de d'exécution sur un processeur uni-cœur et qu'une partie du programme qui requiert une heure d'exécution ne peut pas être parallélisée, même si les (p = 95 %) d'exécution restantes peuvent être parallélisées, quel que soit le nombre de processeurs utilisés pour l'exécution parallèle du programme, le temps d'exécution minimal ne pourra passer sous cette heure critique. Ainsi, l'accélération théorique est limitée au plus (1/(1 − p) = 20).
On en déduit deux règles : premièrement, lors de l'écriture d'un programme parallèle, il faut limiter autant que possible la partie sérielle ; deuxièmement, un ordinateur parallèle doit être un excellent ordinateur sériel pour traiter le plus rapidement possible la partie sérielle.
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.
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Multiprocessors are a core component in all types of computing infrastructure, from phones to datacenters. This course will build on the prerequisites of processor design and concurrency to introduce
En architecture informatique, la loi d'Amdahl donne l'accélération théorique en latence de l'exécution d'une tâche à charge d'exécution constante que l'on peut attendre d'un système dont on améliore les ressources. Elle est énoncée par l'informaticien Gene Amdahl à l'AFIPS Spring Joint Computer Conference en 1967. La loi d'Amdahl 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 le nombre de fils d'exécutions (threads) utilisés pour exécuter la tâche p est le pourcentage du temps d'exécution de toute la tâche concernant la partie bénéficiant de l'amélioration des ressources du système avant l'amélioration.
vignette|Un processeur quad-core AMD Opteron. vignette|L’Intel Core 2 Duo E6300 est un processeur double cœur. Un microprocesseur multi-cœur (multi-core en anglais) est un microprocesseur possédant plusieurs cœurs physiques fonctionnant simultanément. Il se distingue d'architectures plus anciennes (360/91) où un processeur unique commandait plusieurs circuits de calcul simultanés. Un cœur (en anglais, core) est un ensemble de circuits capables d’exécuter des programmes de façon autonome.
En architecture informatique, l'accélération (speedup en anglais) est une mesure du gain de performance entre deux systèmes traitant le même problème. Plus techniquement, c'est le gain de vitesse d'exécution d'une tâche exécutée par deux architectures similaires disposant de ressources différentes. La notion d'accélération a été établie par la loi d'Amdahl, qui se penchait principalement sur le calcul parallèle. Cependant, l'accélération peut être utilisée plus généralement pour montrer l'effet sur les performances lors de n'importe quelle amélioration des ressources.
S'inscrit dans l'analyse de performance des programmes parallèles de Scala, couvrant l'analyse asymptotique, les fonctions récursives et la loi d'Amdahl.
Explore les mesures de performance, les implications de la loi d'Amdahl, l'évaluation des moyens, les défis dans les systèmes multiprocesseurs et les logiciels de serveur commercial.