Question

Dans l'informatique parallèle, la loi d'Amdahl est principalement utilisée pour prédire la vitesse maximale théorique du traitement de programme à l'aide de plusieurs processeurs.Si nous désignons l'accélération de S, la loi de AMDAHL est donnée par la formule:

s= 1 / ((1-p) + (p / n)

p est la proportion d'un système ou d'un programme pouvant être fait parallèle, et 1-p est la proportion qui reste en série?Ma question est la suivante: comment pouvons-nous calculer ou estimer p pour un programme donné?

Plus spécifiquement, ma question a deux parties:

Comment pouvons-nous calculer p théoriquement? Comment pouvons-nous calculer p dans la pratique?

Référence: https://www.techopedia.com/definition/17035/amdahls-Law

Était-ce utile?

La solution

AMDAHL a divisé un programme en deux parties, en série et parallèle, et supposé chaque processeur d'avoir la même capacité de calcul. Ce concept a été encore raffiné par la colline et Marty La loi d'AMDAHL dans l'ère multicœur , En d'autres termes, il n'est pas nécessaire que chaque processeur ait la même capacité de calcul et Cassidy au-delà de la loi d'AMDAHL: Une fonction objective qui relie les gains de performance multiprocesseurs pour retarder et énergie , en d'autres termes, pourquoi se diviser en seulement deux parties.

Après une brève vue d'ensemble de la loi d'AMDAHL, je réponds à la question de savoir comment mesurer les parties série (1-P) et parallèle (P) d'un programme.

  1. Instrumentation statique: Mettez une fonction qui donne l'heure actuelle telle que GETTimeofDay de Linux au début du programme, le point où vous créez des threads et des points dans lesquels vous rejoignez des threads et si votre programme (si votre programme fait beaucoup de post-traitement. ) à la fin du programme. Prenez des différences et vous aurez la valeur p. Utilisez le programme unique fileté. Si vous souhaitez avoir plus de précision dans la mesure, utilisez l'instruction RDTSCP sur les processeurs Intel Excellent blog de Dr. John McCalpin .
  2. Instrumentation dynamique: il est possible de faire ce qui précède même lorsque vous n'avez pas le code source pour faire une instrumentation statique. Vous pouvez utiliser la précharge de la bibliothèque (ld_preload) ou l'outil Intel Pin Introduction à la broche à l'aide d'exemples ou des outils d'instrumentation binaire dynamiques similaires tels que Dynamorio, Valgrind et Linux Perf Tutoriel de Brendan Gregg . Tous sont des cadres établis, totalement gratuits, avec plusieurs outils de recherche en utilisant eux.
Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top