Concetti Chiave
- La legge di Moore sta raggiungendo i suoi limiti a causa delle restrizioni fisiche sui transistor e della dissipazione del calore.
- Le architetture parallele sfruttano multiple unità di calcolo per migliorare le prestazioni, superando i limiti dell'aumento della frequenza.
- Il parallelismo può essere implementato a livello di istruzioni, multi-threading e multi-core, con core specializzati nel chip.
- I coprocessori sono processori indipendenti per compiti specializzati, come GPU e critto processori.
- Multiprocessori e multicomputer differiscono per la gestione della memoria: memoria condivisa nei primi e memoria distribuita nei secondi.
Architetture parallele
La legge di Moore non durerà ancora per molto meno, a meno di una rivoluzione scientifica, poiché i transistor perderanno la loro funzionalità a causa del ridotto numero di atomi di cui saranno composti, inoltre ci sono altri problemi fisici come dissipazione del calore, rumore e limite della velocità della luce che impediscono l’aumento della frequenza. Per migliorare le prestazioni sono quindi usate in parallelo più unità di calcolo, modalità che ha ancora possibilità di sviluppo. I diversi tipi di parallelismo:
Fattori che caratterizzano un sistema parallelo sono:
- natura e numero degli elementi di calcolo
- natura e numero degli elementi di memoria
- modalità di interconnessione, statica (legami fissi) o dinamica (legami definiti da switch che instrada le richieste)
Possibilità
- parallelismo a livello di istruzioni: pipelining e architetture superscalari
- multi-threading: la CPU esegue contemporaneamente due thread (parti di programma) come se ci fossero due CPU virtuali
- multi-core: consente un multi-threading reale
- più core eterogenei nel chip: nello stesso chip più core hanno funzionalità specializzate
Coprocessore = processore indipendente che esegue istruzioni specializzate sotto il controllo del processore principali, i più diffusi:
- processori di rete
- critto processori
- processori grafici (GPU)
Multiprocessori = sistemi a memoria condivisa, in cui le CPU condividono una memoria fisica, in cui ogni processo può scrivere o leggere tutta la memoria, deve esserci un’elevata capacità di interazione tra i processori (strongly coupled); c’è una sola copia del Sistema Operativo usato.
Multicomputer = ci sono più CPU, ognuna dotata di una propria memoria (memoria distribuita), in cui è indispensabile un meccanismo di comunicazione (routing) lungo una rete di interconnessione. Sono sistemi loosely coupled. In ogni CPU c’è una copia del Sistema Operativo