La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Il Supercalcolo Architetture dei sistemi di calcolatori.

Presentazioni simili


Presentazione sul tema: "Il Supercalcolo Architetture dei sistemi di calcolatori."— Transcript della presentazione:

1

2 Il Supercalcolo Architetture dei sistemi di calcolatori

3 Tassonomia di Flynn  SISD: Single instruction, single data  SIMD:Single instruction, multiple data  MISD: ??  MIMD  Multiprocessore  UMA: Uniform Memory Access  COMA: Cache Only Memory Access  NUMA: Not Uniform Memory Access  Multicomputer  MPP: Message Passing Processor  COW: Cluster of Workstation

4 UMA  L’accesso alla memoria è uniforme  Architettura a Bus  Sul Bus sono attestati i processori, le memorie e gli eventuali bridge (PCI, SCSI …)  Il problema è il mantenimento della coerenza dei dati tra le caches  Cache write through (pesante per il bus)  Snooping Cache  Cache write back con protocollo MESI

5 UMA  Il bus diventa il collo di bottiglia  Usare uno Split Transaction Bus migliora le prestazioni ma non troppo  Esistono anche reti di interconnessione Crossbar Switch tra processori e memorie ma devo aggiungere uno snooping bus per la coerenza delle cache  Importante la disposizione dei dati nelle memorie  Queste sono soluzioni estreme che costano molto

6 UMA  Potrei usare una rete multistage ma:  Costano comunque  Non standard  Ritardo aggiuntivo degli stages  Più bloccanti degli altri  Risoluzione confitti  Problemi di routing

7 UMA: e il S.O.?  Varie soluzioni per il kernel  Master/Slave: un processore dedicato al S.O.,gli altri solo applicazioni  Separate Executive: ogni processore fa girare una copia separata del S.O.  Simmetric Multi Processing: il S.O. gira dove capita => necessari punti di sincronizzazione nel kernel

8 NUMA  Ogni processore ha la sua memoria e accede più velocemente lì  È una soluzione scalabile: posso arrivare fino a migliaia di processori  Non causano problemi  Bandwidth tra CPU e memoria: si ingrandisce automaticamente  Latency: più o meno costante  Cost: crescita lineare  Phisical: problemi fisici (consumi, raffreddamento…)

9 NC-NUMA  No Cache NUMA  Metto in cache solo quello che ho nella mia memoria  Cruciale il piazzamento dei dati tra le memorie

10 CC-NUMA  Cache coherent NUMA  Come garantisco la coerenza?  Meccanismi directory based  Directory memory-based  L’elemento di directory, associato a una linea di memoria ha un array di processori dove è il dato  Directory cache-based  Lista linkata tra i processori

11 COMA  Cache only memory access  Esistono solo cache  Non usate  Problema dell’ultima copia  Problemi vari

12 Multicomputer  Caratterizzati dal Message Passing  Importante la rete di interconnessione

13 Rete di interconnessione: caratteristiche  Topologia  Diametro: distanza max o media tra due nodi  Bisection bandwidth: la larghezza di banda che attraversa ogni bisezione della rete  Dimentionality: numero di percorsi alternativi (per la fault tolerance)

14 Rete di interconnessione  Problemi di Routing  Store & forward è troppo lento  Cut Through  Decido sul routing all’inizio del messaggio  Se incontro un ostacolo  Virtual cut through: il messaggio si ammassa nel nodo ostacolo  Wormhole routing: blocco tutto e il messaggio resta spalmato su più nodi

15 Routing  Tipo di decisione di routing  Aritmetico  Decisione matematica a partire dall’indirizzo del destinatario  Topologia fissa e semplice  No fault tolerance  Souce based  La sorgente precalcola il percorso  Table driven  Gli algoritmi deterministici usano male la rete  Problemi di velocità  Rischio deadlock

16 I/O ad alte prestazioni  Due orientazioni:  Mass transfer: sequenziali e “prevedibili”  Importante il transfer rate  Transaction processing  Importante l’access time

17 I/O ad alte prestazioni  Anche i dischi crescono esponenzialmente  Nella densità (lineare e per traccia)  Meno nelle prestazioni  Sia in terminio di seek time che di transfer rate  Problematico perché intervengono problematiche fisiche (velocità di rotazione dei dischi e movimento dei bracci)

18 I/O ad alte prestazioni  Non blocking I/O (read)  Read anticipato  Chiamata bloccante dopo  Serie di chiamate non bloccanti  Call back signal (interrupt software)  O/S Bypass  Comunicazione diretta tra dispositivi e applicazioni  Pinning della memoria: divieto di paginazione

19 I/O ad alte prestazioni  Parallelismo: più dischi  Striping: suddivido i dati a strisce su più dischi  Stripe factor: numero dischi  Stripe depth: quanto è grande l’unità di suddivisione dati  RAID:  Redundant Array of Independent – Inexpensive Disk  Fault tolerance (duplicazione e controlli di errore)

20 Tecnologia RAID  RAID 0:  Separo i dati su più dischi  Parallelizzo le letture  Bene per i mass transfer  Bene per i transazionali

21 Tecnologia RAID  RAID 1  Mirroring  Raid 0 duplicato  Fault tolerance perché ho duplicazione  Non miglioro le prestazioni in lettura

22 Tecnologia RAID  RAID 2  Su alcuni dischi metto la codifica di Hamming  Poco usata  Costa e richiede sincronizzazione bit a bit  Bene solo per i mass transfer  Coda delle transazioni poco parallelizzabili

23 Tecnologia RAID  RAID 3  Come level 2 ma con la parità e non bit a bit  L’hamming code crea gli svantaggi come in RAID 2

24 Tecnologia RAID  RAID 4  Parità blocco a blocco su un disco  Bene per il transfer rate  Operazioni durante la modifica:  Leggere old data  Leggere old parity  Old data (XOR) old parity per avere la parità degli altri dischi  Trovare la nuova parità  Store data  Store parity  Male per le transazioni: gli aggiornamenti delle parità sono serializzati  Mai usati

25 Tecnologia RAID  RAID 5  Come RAID 4 ma i blocchi di parità sono distribuiti sui dichi

26 Tecnologia RAID  RAID 6 o RAID DP  Doppio meccanismo di ridondanza con bit su dischi distinti  Schema bidimensionale

27 Tecnologia RAID  RAID 1-0  Doppia virtualizzazione  È un array RAID 0 di dischi virtuali, ogni disco è un RAID 1  RAID 0-3  È un array RAID 0 di dischi virtuali e ogni disco è un RAID 3

28 SCSI  Il problema si sposta sull’I/O interconnect  Small Computer System Interface  Protocollo di comunicazione verso periferiche generiche  Bus o catena SCSI con indirizzamento (settato a mano)  Transazioni I/O di tipo Split Transaction

29 Esempi reali  HIPPI  SUPER HIPPI  HPN: High performance Network  SAN: System Area Network  Fast Ethernet-Gigabit Ethernet  Myrinet  Fibre Channel  NASD: Network Attached Storage Device

30 Constellation  Nome “esotico” per un CC-NUMA  Cluster di pochi nodi con molti processori per nodo

31 COW  Cluster Of Workstation  Un insieme di calcolatori indipendenti e di tipo COTS che cooperano per ottenere alte prestazioni su un grosso problema (o un grosso insieme di problemi)  Indipendenti perché funzionano anche fuori dal Cluster  COTS: componenti “di serie”

32 Cluster  Obiettivi:  Fault Tolerance  Scalabilità di costo  Scalabilità di prestazioni  Orientati al supercalcolo  Orientati al superlavoro transazionale

33 Caratterizzazione  Ruolo dei server aggiuntivi: attivo o passivo  Connessione ai dischi: interni ai nodi o nodo storage  Condivisione dati: shared nothing o shared data  Accesso ai dati: Read Only o Read & Write  Visione amministrativa: single image o configurazioni separate  Visione al programmatore: programmazione tradizionale o message passing  Visione esterna: Fuori (alle altre macchine) vedo la molteplicità?  Disposizione geografica: Locale o sparpagliata?

34 Esempi  A mano!  Download da Tucows o Download.com  Seti@home o cracking codici  HTTP redirect  Rotating DNS  Prodotti di load balancing


Scaricare ppt "Il Supercalcolo Architetture dei sistemi di calcolatori."

Presentazioni simili


Annunci Google