Originariamente inviato da Ikitt
Non sono molto ferrato in materia, devo ammettere.
NUMA sta per Non Uniform Memory Access.
In parole povere dovrebbe trattarsi di questo:
In un sistema multiprocessore, i vari opteron sono connessi direttamente mediante link hypertransport ad alta velocita`.
Ogni processore ha un proprio controller ram (single channel o dual channel), cosi` ogni processore ha un proprio insieme di memoria cui puo` accedere direttamente. Qualora pero` un processore abbia necessita` di accedere a dati che risiedono nella memoria controllata da un'altro processore, come si fa?
Se il controller RAM fosse esterno, perche` un processore possa accedere ad una data area di memoria, gli basterebbe fare una richiesta al controllore della memoria (infatti questo dovrebbe essere UMA, Uniform Memory Access); ma cosi` non e`, e occorre trovare una soluzione...
E questa soluzione se ben ricordo/a quanto ne so, consiste nel connettere i vari processori medianti collegamenti privati ad alta velocita` (si tratta di link hypertransport come quelli verso l'I/O), in modo da permettergli un'accesso indiretto alla memoria.
Ora: non so come avvenga questo in pratica, se cioe` ci sia la mediazione del controller RAM del processore chiamato oppure altro (a logica direi che almeno il controller RAM dovrebbe essere interpellato), e anche quanto ho detto sopra deve essere preso cum grano salis

Quel che conta e` che i numeri dicono che la soluzione funziona, la scalabilita` degli opteron e` li` a dimostrarlo
Certamente, altrimenti il software cosi` com'e` non potrebbe funzionare, andrebbe come minimo ricompilato.
Cambiano le estensioni disponibili e il modo in cui programmare per spremere prestazioni: del codice ottimizzato per athlon potrebbe non essere gradito ad un pentium4, e viceversa.