Micro-fir (multi-core)

pe măsură ce microprocesoarele devin mai rapide, în principal din cauza miezurilor adăugate la fiecare câteva luni, decalajul de latență a memoriei devine din ce în ce mai larg. Latența memoriei a fost câteva cicluri în 1980 și atinge în prezent aproape 1000 de cicluri. Dacă microprocesorul are suficiente nuclee și sperăm că nu trimit cereri către memoria principală în același timp, va exista o ascundere parțială agregată a latenței memoriei. Unele nuclee ar putea fi de executare în timp ce altele sunt în așteptare pentru răspuns de memorie. Aceasta nu este cea mai bună situație pentru procesoarele multi-core. Experții în calcul de înaltă performanță se străduiesc să mențină toate nucleele ocupate tot timpul. Deci, dacă fiecare nucleu este ocupat tot timpul, este posibilă o utilizare completă a întregului microprocesor. Crearea de fire bazate pe software nu va rezolva problema dintr-un motiv evident. Context comutarea firelor în memoria principală este o operație mult costisitoare în comparație cu latența memoriei. De exemplu, în contextul motorului de bandă largă de celule de comutare oricare dintre firul de bază are 2000 de micro-secunde, în cele mai bune cazuri. Unele tehnici software, cum ar fi dublu sau multi-tamponare poate rezolva problema de latență de memorie. Cu toate acestea, ele pot fi utilizate în algoritmi obișnuiți, unde programul știe unde este următoarea bucată de date de recuperat din memorie; în acest caz trimite cerere în memorie în timp ce procesează datele solicitate anterior. Cu toate acestea, această tehnică nu va funcționa dacă programul nu cunoaște următoarea bucată de date de recuperat din memorie. Cu alte cuvinte, nu va funcționa în algoritmi combinatori, cum ar fi acoperirea copacilor sau clasarea aleatorie a listelor. În plus, multi-tamponarea presupune că latența memoriei este constantă și poate fi ascunsă static. Cu toate acestea, realitatea arată că latența memoriei se schimbă de la aplicație la alta. Depinde de încărcarea totală a resurselor partajate ale microprocesorului, cum ar fi rata cererilor de memorie interconexiuni de nuclee partajate.

Lasă un răspuns

Adresa ta de email nu va fi publicată.

More: