PAR · Tema 4
Arquitectures paral·leles
El hardware que hi ha sota el paral·lelisme. Coherència de cache en sistemes de memòria compartida (snooping i directoris), la política first touch i la sincronització de baix nivell.
Capítols
- 4.1El problema de la coherència de cacheEsborranyLlegit
Cada core té la seva caché, i una mateixa línia pot estar copiada a diverses. Quan un core hi escriu, les altres còpies queden velles: cal un protocol de coherència. I com que es treballa per línies, apareix el false sharing.
- 4.2Polítiques d'escriptura i mecanismes de coherènciaEsborranyLlegit
Quan un core escriu una línia que tenen altres cachés, el hardware pot actualitzar-les o invalidar-les (política), i ho comunica per un bus de broadcast o per un directori (mecanisme).
- 4.3UMA/SMP amb snoopingEsborranyLlegit
En una UMA/SMP les cachés escolten el bus. El protocol MSI defineix tres estats per línia i com canvien amb les lectures i escriptures pròpies i les que s'observen al bus. També veuràs MESI, MOSI, MSIF i quant costa en bits.
- 4.4NUMA amb directorisEsborranyLlegit
En una NUMA la memòria està repartida entre nodes i el snooping no escala. El protocol MSU guarda a cada home node l'estat de les seves línies i uns bits de presència, i envia missatges punt a punt.
- 4.5La política first touchEsborranyLlegit
El sistema operatiu posa cada pàgina al node que la toca primer. Per això, en NUMA, inicialitzar les dades en paral·lel les reparteix entre nodes i millora la localitat.
- 4.6Resum: tipus d'arquitectures multiprocessadorEsborranyLlegit
Les tres famílies d'arquitectures multiprocessador comparades: memòria compartida centralitzada (UMA), memòria compartida distribuïda (NUMA) i memòria distribuïda (clusters).
- 4.7Sincronització de baix nivellEsborranyLlegit
Els locks i les barreres es construeixen amb instruccions atòmiques del hardware. Veuràs Test-and-Set, per què Test-and-Test-and-Set fa menys tràfic, LL/SC i com es fa una barrera.
- 4.8ConsolidacióEsborranyLlegit
Repàs del tema 4: la taula de transicions del MSI, els estats del directori MSU i com es calculen els bits de coherència en UMA i en NUMA.