Legea lui Amdahl: definiție și cum afectează calcularea

Este probabil ca dacă sunteți un mare fan al hardware-ului sau dacă ați studiat ceva legat de tehnologia informației, la un moment dat ați auzit din Legea lui Amdahl . În orice caz, dacă sunteți curioși în acest articol, vom explica ce este și cum afectează calcularea despre care știm cu toții și mai exact despre hardware.

Legea Amdahl este numită pentru Eugen Amdahl , arhitectul de calculatoare care a formulat legea. În calculul modern și mai precis pentru dezvoltare, este utilizat pentru a afla îmbunătățirea unui sistem atunci când doar o parte din acesta este îmbunătățită. Vi se pare chinezesc? Citiți mai departe, vă vom explica într-un mod simplu în scurt timp.

Legea lui Amdahl: definiție și cum afectează calcularea

Pentru ce este Legea Amdahl și pentru ce este vorba?

Definiția acestei legi stabilește că: „Îmbunătățirea obținută în performanța unui sistem datorită alternării uneia dintre componentele sale este limitată de fracția de timp în care se folosește componenta.”

Mai sus puteți vedea formula, unde:

  • Fm este intervalul orar pe care sistemul îl folosește subsistemul îmbunătățit.
  • Am este factorul de îmbunătățire care a fost introdus în sistem.
  • Ta este vechea execuție.
  • Tm este timpul de rulare îmbunătățit.

Această formulă poate fi rescrisă utilizând definiția creșterii vitezei pentru a calcula câștigul de viteză (A):

Fórmula Ganancia de viteză

Cu definiția acestei legi, este probabil să fiți rămas la fel, așa că vă vom explica-o în propriile noastre cuvinte; Ceea ce ne spune această lege este că îmbunătățirea performanței unui sistem (înțelegerea unui set de piese, cum ar fi un computer) atunci când schimbați o singură parte, este limitată de timpul în care acea componentă este utilizată.

Cu alte cuvinte, cu un exemplu: îmbunătățirea performanței computerului atunci când schimbați RAM memoria este limitată de timpul în care veți utiliza componenta menționată. Acum mai bine, nu? Dar acest lucru va ridica cu siguranță o altă întrebare, ce legătură va avea timpul cu utilizarea componentei cu îmbunătățirea performanței? Pentru a o înțelege, să vedem un alt exemplu.

Dacă într-un program pentru PC viteza de execuție a unui algoritm (cum ar fi funcționarea unui procesor) reprezintă 30% din timpul de execuție din timpul total necesar programului pentru a executa comanda, iar noi reușim să facem ca acest algoritm să fie executat în jumătate de timp vom avea:

  • Am = 2
  • Fm = 0.3
  • A = 1.8

Ceea ce înseamnă că viteza de execuție a programului s-ar fi îmbunătățit cu un factor de 1.8 și că numai prin modificarea unuia dintre subsistemele sale.

Pentru ce este această lege în informatică?

După ce v-am spus teoria, pentru ce este practic această lege? Utilizat practic de către inginerii de sistem, atât hardware cât și software, pur și simplu pentru definește dacă merită sau nu îmbunătățirea sistemului tău .

Deoarece creșterea vitezei unui program care folosește mai multe nuclee ale unui procesor (sau mai multe procesoare, nu contează) în calculul distribuit este limitată de fracția secvențială a programului, cu Legea lui Amdahl, acestea nu mai pot calcula doar, ci vezi grafic dacă îmbunătățirea performanței uneia sau altei componente nu va merita sau nu va merita și în ce măsură.

În acest fel, ei vor putea vedea, de exemplu, dacă îmbunătățesc performanțele tranzistoarelor unui procesor, spunând, 50%, va merita pe măsură ce numărul tranzistoarelor va crește și pentru cât timp vor fi utilizate în fiecare a operațiunilor care rulează procesorul.