Architetture parallele Macchina di von Neumann Modello di calcolo: macchina di von Neumann. Limite alle prestazione ottenibili: • un’unica operazione in esecuzione • una sola parte attiva Ricerca di nuove architetture con piu` operazioni in esecuzione allo stesso istante. Memory Control unit Input Arithmetic logic unit Output Accumulator (Architettura degli Elaboratori) Architetture parallele 1 / 71 (Architettura degli Elaboratori) Architetture parallele Cenni storici 2 / 71 Cenni storici Molte proposte per architetture parallele: Macchine parallele a larga diffusione: anni 90. • Reti neuronali, • Pipeline, superscalari • Date flow machine, Approcci conservativi, mantengo il codice. • processore multi-core, sistemi multiprocessore, cluster di calcolatori. Ultime evoluzioni, conseguenze della: legge di Moore, vincoli sui consumi energetici. Per sfruttare a piene il parallelismo devo usare algoritmi concorrenti distribuiti. • Calcolatori vettoriali, • Connection machine, • Illiac IV. Scarso successo commerciale. I calcolatori vettoriali usate per supercomputer per il calcolo scientifico. Approcci rivoluzionari, difficili da usare, richiedono nuovi stili di programmazione. (Architettura degli Elaboratori) Architetture parallele 3 / 71 (Architettura degli Elaboratori) Architetture parallele Illustreremo Motivazioni per il parallelismo • problematiche e aspetti generali del parallelismo; • classificazione dei calcolatori paralleli; • esempi di calcolatori paralleli, idee architetturali attualmente in uso. (Architettura degli Elaboratori) Architetture parallele 4 / 71 5 / 71 Migliorare le prestazioni: • problemi che richiedo molta potenza computazionale: algoritmi di simulazione; • il software tende a sfruttare tutte le risorse disponibili. Aumento delle prestazioni mediante: • nuove tecnologie (porte logiche piu ` veloci). • nuove architetture (computazione piu ` efficiente, maggior parallelismo) (Architettura degli Elaboratori) Motivazioni per il parallelismo Architetture parallele 6 / 71 Parallelismo su un singolo chip Pipeline: divisione della (micro-)istruzione in stadi. Altri vantaggi: • tolleranza ai guasti: piu ` unita di calcolo, un guasto non necessariamente blocca il calcolatore, • architettura scalabile: posso aumentare le prestazioni aggiungendo nuove unita` di calcolo. S1 S2 S3 S4 S5 Instruction fetch unit Instruction decode unit Operand fetch unit Instruction execution unit Write back unit (a) S1: 1 S2: 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 1 2 3 4 5 6 1 2 3 4 5 8 9 S3: S4: S5: 1 (Architettura degli Elaboratori) Architetture parallele 7 / 71 (Architettura degli Elaboratori) 2 3 4 5 6 7 Time (b) Architetture parallele … 8 / 71 Processori superscalari Parallelismo a livello di istruzione Integer pipeline Execute Fetch Decode Cache N1 N3 Register X1 X2 Piu` istruzioni, di uno stesso processo, eseguite contemporaneamente. • Vantaggi: si utilizza codice sequenziale, facile da utilizzare, non e` necessario riscrivere il codice. • Svantaggi: difficile ottenere un elevato grado di parallelismo. N2 Group Write X3 Floating-point/graphics pipeline Piu` istruzioni iniziate contemporaneamente Prestazioni: aumento di un fattore circa dieci (Architettura degli Elaboratori) Architetture parallele 9 / 71 (Architettura degli Elaboratori) Architetture parallele Parallelismo su di un singolo chip VLIW – Very Long Instruction Words Altre tecniche il parallelismo: • Processori VLIW Very Long Instruction Words • On-Chip Multi-threading • Single-Chip Multiprocessor • • Multiprocessori omogenei Multiprocessori eterogeneo (Architettura degli Elaboratori) Architetture parallele 10 / 71 11 / 71 Nuovi linguaggi macchina adatti alla computazione parallela. Sfruttano al meglio le tecnologie esistenti. I nuovi linguaggi macchina usano: VLIW – Very Long Instruction Words ossia istruzioni molto lunghe, ciascuna composta da una sequenza di istruzioni base. Istruzione base da eseguire in parallelo contemporaneamente. Senza controllare che siano indipendenti tra loro. Sposto il lavoro dal processore al compilatore. (Architettura degli Elaboratori) Architetture parallele 12 / 71 TriMedia Itanium IA-64 Intel, candidato a sostituire l’IA-32 (Pentium, Core). Processore sviluppato dalla Philips, per dispositivi embedded di audio-video (DVD player - recorder, camcorder, . . . . Una singola istruzione e` composta da 5-8 sotto-istruzioni: operazioni aritmetiche, load-store, multimediali (vettoriali). INSTRUCTION 1 INSTRUCTION 2 INSTRUCTION 3 TEMPLATE INSTRUCTION 1 INSTRUCTION 2 INSTRUCTION 3 TEMPLATE INSTRUCTION 1 INSTRUCTION 2 INSTRUCTION 3 TEMPLATE R1 R2 Instructions can be chained together R3 PREDICATE REGISTER Piu` istruzioni possono essere collegate assieme ed eseguiti contemporaneamente, senza controllare l’indipendenza. (Architettura degli Elaboratori) Architetture parallele 13 / 71 (Architettura degli Elaboratori) Itanium IA-64 Permette di sfruttare meglio le capacita` di calcolo dei processori superscalari (con piu` pipeline). Il processore esegue piu` thread (processi (con memoria condivisa)) contemporaneamente. di salto. • Centinaia di registri, evito: accessi in memoria, dipendenza tra istruzioni. • Caricamenti speculativi, anticipo gli accessi in memoria. a meno di page-fault. Utile nel caso un programma rallenti per: • dipendenze tra istruzioni, • istruzioni che bloccano, per alcuni cicli di clock l’esecuzione (accessi alla memoria principale, cache III livello) Poco successo commerciale, il mercato ha preferito x86-64 (o AMD 64) scelta conservativa. Architetture parallele 14 / 71 Multi-threading • Istruzioni condizionate, per evitare le istruzioni (Architettura degli Elaboratori) Architetture parallele 15 / 71 (Architettura degli Elaboratori) Architetture parallele 16 / 71 Multi-threading Multi-threading Puo` essere utilizzato in processori con singola pipeline. Piu` utile in processore superscalari. In determinati istanti il processore commuta da un thread ad un altro. Due tecniche possibili; • m. grana fine: si commuta su ogni, numero elevato di commutazione di contesti, si anticipano i possibili blocchi. • m. grana grossa: si cerca di eseguire piu ` istruzioni per thread, riduco le commutazioni. (Architettura degli Elaboratori) Architetture parallele Processore con una singola pipeline: Processore superscalare: 17 / 71 (Architettura degli Elaboratori) Ripartizione risorse Architetture parallele 18 / 71 Ripartizione risorse Come le risorse del processore vengono ripartite tra i vari thread. Esempi: • ogni thread disponi di un suo insieme di registri: • risorse condivise: memoria cache • risorse partizionate: le pipeline di un processore super-scalare In generale: • condivisione ripartita: ogni thread un insieme privato di risorse, • condivisione totale, • condivisione a soglia; un limite alle risorse acquisibili da un thread. Multi-threading usato su molti processori: • Core i7: hyper-threading, 2 thread/core, • UltraSparcT3: 16 core, 8 thread/core (Architettura degli Elaboratori) Architetture parallele 19 / 71 (Architettura degli Elaboratori) Architetture parallele Multiprocessori omogenei su un singolo chip 20 / 71 Intel Core i7 Evoluzione del multi-threading, ogni thread un core. Totale separazione delle risorse tra i thread. Solo a memoria cache resta comune. Maggior numero di core: - UltraSparc - Celle (Sony, Toshiba, IBM) La tecnologia attuale permette di inserire piu` processori su di un chip. (Architettura degli Elaboratori) Architetture parallele 21 / 71 Co-processori Parallelismo ottenuto delegando alcuni compiti a processori ausiliari. • DMA (Direct Memory Access): controllore DMA complesso, co-processore, si fa carico della gestione I/O. • Scheda video: generazione di immagini. • Co-processori multimediali: la gestione dei dati audio video gravosa: codifica - decodifica (MPEG, MP3), elaborazione del segnale. • Scheda di rete: controllo degli errori, instradamento dei messaggi. • Cripto-processori. (Architettura degli Elaboratori) Architetture parallele 23 / 71 (Architettura degli Elaboratori) Architetture parallele 22 / 71 Multipr. eterogenei su singolo chip In un chip: • core principale di controllo • co-processori specializzati su particolari applicazioni • bus di interconnessione, diversi standard alternativi: CoreConnect IBM, AMBA (Advance Microcontroller Bus Architecture) CPU ARM, VCI (Virtual Component Interconncect) Chip progettato combinando i progetti delle singole componenti (core). (Architettura degli Elaboratori) 24 / 71 Dispositivi embedded:Architetture SoCparallele (System on Chip), Parallelismo su piu` chip Multiprocessori Sistemi a memoria condivisa. Piu` processori su piu` circuiti integrati. • Maggiori aumenti di prestazioni. • Necessita ` di nuovo codice (o di un adatto SO), nuove problematiche. • Considereremo due principali approcci: multiprocessori e multicomputer. P P P P CPU P P Shared memory P P P P P P P Architetture parallele 25 / 71 P P P P P P P P P P P P P P P P (a) (Architettura degli Elaboratori) P P P (b) (Architettura degli Elaboratori) Architetture parallele Multiprocessori 26 / 71 Multicomputer Sistemi a memoria distribuita: • Le CPU dividono lo stesso spazio di memoria. M M M M Private memory • Comunicazione tra CPU attraverso l’accesso P P P P CPU alla memoria condivisa LOAD, STORE. M P • Non e ` necessario ripartire i dati tra le CPU M P • Accesso alla memoria limita le unita ` di M P computazione (il grado di parallelismo). • Esempi: PC con multi-processore, server. M P Messagepassing interconnection network P P M M P P M M P P M P P M P P M P P M P P Architetture parallele 27 / 71 • Ogni CPU ha un proprio spazio di memoria. Machine 1 Machine 2 Application CPU P P P P P P P P (b) (Architettura degli Elaboratori) Multicomputer P Messagepassing interconnection network (a) (Architettura degli Elaboratori) P Architetture parallele 28 / 71 Simulazione memoria condivisa Machine 1 Machine 2 Machine 1 Machine 2 Application Application Application Application Application Language run-time system Language run-time system Language run-time system Language run-time system Language run-time system Language run-time system Operating system Operating system Operating system Operating system Operating system Operating system Hardware Hardware Hardware Hardware Hardware Hardware • Comunicazione attraverso scambio di messaggi: SEND, RECEIVE. • Piu ` semplice integrare numerose CPU, numero unita` limitato dalla capacita` della rete di interconnessione. • Piu ` difficili da programmare. (Architettura degli Elaboratori) Architetture parallele 29 / 71 Shared memory Shared memory Shared memory (a) (b) (c) (Architettura degli Elaboratori) Simulazione memoria condivisa 1 2 3 ` complessita` delle computazioni Granularita: eseguite in parallelo (e dei circuiti che le eseguono) • Fine: semplici istruzioni, Instruction Level Parallelism (ILP). Es. processori con pipeline. • Grossa (coarse): procedure, Process Level Parallelism (PLP). Es. processori multi-threading, sistemi multiprocessori. nel memoria della CPU, in memoria disco, nella memoria locale di un altra CPU. DSM (Distributed Shared Memory). Memoria condivisa tramite librerie. • • 30 / 71 Catalogazione del parallelismo Memoria condivisa hardware. Memoria condivisa tramite memoria virtuale, paginazione. Una pagina puo` trovarsi: • • • Architetture parallele Linda: programmi con tuple condivise. Orca: programmi con oggetti condivisi. (Architettura degli Elaboratori) Architetture parallele 31 / 71 (Architettura degli Elaboratori) Architetture parallele 32 / 71 Scalabilita` Livello di accoppiamento • Forte: unita ` fortemente connesse, notevole Una stessa idea architetturale puo` essere implementata con un numero variabile di unita` di calcolo. Un’architettura e` scalabile se funziona correttamente con molte unita di calcolo. scambio di dati. Es. processori superscalari, multiprocessori. • Debole: unita ` piu` indipendenti. Es. multicomputer. CPU Bus (a) Architetture parallele 33 / 71 Miglioramento delle prestazioni (Architettura degli Elaboratori) 35 / 71 Componenti di un calcolatore parallelo • Unita ` di memoria. Spesso partizionata per poter essere condivisa tra piu` processori. • Rete di interconnessione. • Nei multiprocessori collegano processori e moduli di memoria. • Nei multicomputer collegano le unita ` di calcolo. Architetture parallele 34 / 71 N-body problem 50 Linear speedup 40 Awari 30 20 10 Skyline matrix inversion 0 10 Elaboratori) 20 (Architettura degli 30 40 Number of CPUs 50 60 Architetture parallele 36 / 71 Memoria • Unita ` di calcolo. Si usano processori standard. (Architettura degli Elaboratori) Architetture parallele 60 0 Architetture parallele (d) Prestazione Problemi: • Le unita ` di calcolo devono sincronizzarsi tra di loro, overhead di computazione (lavoro extra). • Memoria, o altre risorse condivise, creano conflitti tra le unita` di calcolo. Conseguenze: • difficilmente n unita ` svolgono un lavoro n volte piu` velocemente, • a volte un aumento delle unita ` di calcolo porta a un peggioramento delle prestazioni. (Architettura degli Elaboratori) (c) Scalabilita` dipende sia dall’architettura che dai problemi considerati: Speedup (Architettura degli Elaboratori) (b) 37 / 71 Consistenza della memoria Una memoria con comportamento ideale (esecuzione in ordine, tutti i processore hanno la stessa visione della memoria) e` troppo lenta. Ma l’ordine di accesso ai dati in memoria non puo` essere arbitrario, vanno stabilite regole minime per rendere prevedibile il comportamento del codice. • Sequenziale: tutte le CPU vedono lo stesso ordine. • Di processore: preserva: le scritture di ogni CPU, la scrittura di ogni indirizzo. • Debole: prevede richieste di sincronizzazione, • Dopo (Architettura degli Elaboratori) Architetture parallele 39 / 71 il rilascio: sincronizzazione locale. • Composta da diverse unita ` operanti in parallelo. • Struttura complessa, dati replicati: • ogni core possiede una cache locale, • cache di alto livello comune a piu ` core, • memoria principale comune a piu ` processori, ` eventualmente divisa su piu` unita. • Tempi di accesso ai dati dipendo dalla loro posizione rispetto al processore. Per preservare l’efficienza, sono ammessi accessi alla memoria fuori ordine: i dati disponibili vengono subito letti o scritti. (Architettura degli Elaboratori) Architetture parallele 38 / 71 Reti di interconnessione Equivalente sofisticato dei bus. Componente fondamentale: a volte la componente piu` costosa del calcolatore. Composte da: • Link (connessioni - cavi - bus) paralleli o seriali • Switch (instradatori - commutatori) • Interfacce (Processori - rete - memorie) (Architettura degli Elaboratori) Architetture parallele 40 / 71 Switch Topologie di rete Metodi di comunicazione: • Circuit switching, • Store and forward: messaggio diviso in pacchetti. input, output, common buffering Routing: determinazione del percorso. (a) (b) (c) (d) (e) (f) (g) (h) Input port CPU 1 Output port A B End of packet C Four-port switch D Middle of packet CPU 2 Front of packet (Architettura degli Elaboratori) Architetture parallele 41 / 71 (Architettura degli Elaboratori) Topologie di rete Classificazione di Flynn (1972) massimizzare la ampiezza di banda, evitare colli di bottiglia, minimizzare le distanze (in numero di archi): diametro. • SISD Single Instruction Single Data (macchina di von Neumann) • SIMD Single Instruction Multiple Date (Computer Vettoriali) • Configurazione: stella, completamente • MIMD Multiple Instruction Multiple Data interconnessa, albero, griglia, doppio toroide, ipercubo. geometria fissa o variabile (Architettura degli Elaboratori) 42 / 71 Tassonomia dei computer paralleli Modo di strutturare le unita` di calcolo: • Obiettivi • • • Architetture parallele Architetture parallele (Multiprocessori e multicomputer) • MISD Multiple Instruction Multiple Data (nessun esempio) 43 / 71 (Architettura degli Elaboratori) Una classificazione piu` fine Architetture parallele 44 / 71 SIMD: Array processor Control unit Parallel computer architectures Broadcasts instructions SISD SIMD MISD (Von Neumann) MIMD ? Vector processor Array processor Multiprocessors Multicomputers 8 × 8 Processor/memory grid Processor UMA COMA NUMA MPP COW Memory Bus Switched CC-NUMA NC-NUMA Shared memory (Architettura degli Elaboratori) Grid Hypercube ` ILLIAC IV Piu` processori controllati da una unita: Message passing Architetture parallele 45 / 71 GPU (General Purpose Unit) ogni core ha una memoria privata, gruppi di core condividono una memoria locale, esiste una memoria comune a tutti i core. (Architettura degli Elaboratori) Architetture parallele Architetture parallele 46 / 71 GPGPU (General Purpose GPU) Le schede grafiche sono un implementazione moderna degli array processor. • La computazione nelle GPU (Graphical process uniti) avviene secondo lo schema array processor: • la stessa operazione eseguita da semplici core su dati diversi. • struttura della memoria complessa: • • • (Architettura degli Elaboratori) 47 / 71 • Con i GPGPU si utilizzano le GPU per calcoli generici (non grafici), solo alcuni tipi di calcolo adatti a questo tipo di computazione, si sfruttano l’elevato numero di core (Nvidia Fermi - 512 Core). • nuovi linguaggi di programmazione su GPGPU • • CUDA (Nvidia) OpenCL (Generico, usabile su piu` schede grafiche). (Architettura degli Elaboratori) Architetture parallele 48 / 71 Nvidia Fermi SIMD: Vector processor Input vectors Vector ALU ALU e Registri operano su vettori: CRAY. Gerarchia di memoria: locale al singolo core, condivisa tra gruppi di core, memoria comune. (Architettura degli Elaboratori) Architetture parallele 49 / 71 (Architettura degli Elaboratori) SIMD instruction Architetture parallele SIMD instruction I processori attuali implementano istruzioni vettoriali. Si distingue tra: Estensioni ai linguaggi macchina. • istruzioni multimediali: lunghezza fissa. ISA x86: • MMX (MultiMedia eXtension) • SSE (Streaming SIMD Extension), ... , SSE4 • AVX (Advance Vector eXtension) Utilizzati registri molto lunghi, centinaia di bit, contenenti vettori di dati (byte, half-word, word) su cui operare con istruzioni vettoriali. • istruzioni vettoriali: insiemi di dati di lunghezza (Architettura degli Elaboratori) Architetture parallele variabile, parametriche Vantaggi: • si sfrutta la legge di Moore (i tanti transistor a disposizione), • istruzioni vettoriali permettono un codice piu ` compatto. 51 / 71 (Architettura degli Elaboratori) Calcolatori MIMD Architetture parallele 53 / 71 SMP (Symmetric Multi Processor): quando i processori hanno la stessa visione della memorie e dei dispositivi I/0: (Architettura degli Elaboratori) CPU CPU M CPU CPU M CPU CPU M Cache Bus (a) (b) (c) • L’implementazione piu ` semplice di un sistema multiprocessore. • Bus limita il numero di CPU utilizzabili (16). • Cache di grosse dimensioni per limitare l’accesso al bus. • Necessita ` di mantenere la coerenza della cache. (Architettura degli Elaboratori) Architetture parallele Architetture parallele 54 / 71 Snooping cache Shared memory Private memory 52 / 71 Tutti i processori hanno stessi tempi di accesso alla memoria, SMP con singolo bus Shared memory Architetture parallele Multiprocessori UMA • multiprocessor • UMA Uniform Memory Access • NUMA Non Uniform Memory Access • COMA Cache Only Memory Access • multicomputer • MPP Massive Parallel Processor • COW Cluster Of Workstation (NOW Network Of W.) (Architettura degli Elaboratori) 50 / 71 55 / 71 Le cache spia il traffico sul bus per garantire la coerenza. Diverse implementazioni: Write through • Read Miss – Lettura dalla memoria. • Read Hit – Dati locali. • Write Miss – Aggiorna memoria - Invalida altre linee. • Write Hit – Aggiorna memoria e cache – Invalida altre linee. Molti accessi al bus: semplice ma poco efficiente. (Architettura degli Elaboratori) Architetture parallele 56 / 71 Snooping cache: protocollo MESI MESI, esempio CPU 1 CPU 2 CPU 3 Memory (a) Protocollo write back. Utilizzato nei processori Core. Ogni linea di cache viene marcato in uno tra 4 modi: CPU 1 reads block A A Exclusive Bus Cache CPU 1 CPU 2 CPU 3 Memory (b) CPU 2 reads block A A Shared Shared • Exclusive (sola copia in cache); Bus • Shared (linea presente in altre cache); CPU 1 CPU 2 CPU 3 Memory (c) CPU 2 writes block A A • Modified (linee cache diversa da quella in Modified Bus memoria); • Invalid (linea non valida). CPU 1 CPU 2 CPU 3 A A Memory (d) Shared CPU 3 reads block A Shared Bus CPU 1 (Architettura degli Elaboratori) Architetture parallele 57 / 71 (e) CPU 2 CPU 3 Memory (Architettura degli Elaboratori) A CPU 2 writes block A Architetture parallele 58 / 71 Modified Bus CPU 1 CPU 2 CPU 3 Memory (f) CPU 1 writes block A A UMA con crossbar switch UMA con reti a commutazione Modified Bus Processori e memorie connesse con un crossbar switch, (Sun Fire E25K). Rete non bloccante. Elevato numero di switch. (O(n2 )) Rete Omega • Rete bloccante. • Limitato numero di switch. (O(n log n)) 111 110 101 100 011 010 001 000 Memories 3 Stages Crosspoint switch is open CPUs Memories 000 000 001 1A 2A 000 3A b b b 001 001 CPUs 010 010 (b) 011 1B 2B 100 011 b 100 101 1C 110 101 111 110 (Architettura degli Elaboratori) Open crosspoint switch 101 59 / 71 a 1D 111 Architetture parallele 100 3C 2C a (c) Closed crosspoint switch 010 3B 011 Crosspoint switch is closed a (Architettura degli Elaboratori) 2D a 3D 110 111 Architetture parallele 60 / 71 (a) Multiprocessori NUMA Multiprocessori NUMA Not Uniform Memory Access CPU Memory CPU Memory • Memoria locale e remota CPU Memory CPU Memory • Un unico spazio di indirizzamento • maggiore scalabilita: ` superano il limite delle 100 MMU Local bus Local bus Local bus CPU Local bus • necessita ` di ridistribuire i dati System bus (Architettura degli Elaboratori) Architetture parallele Hardware DSM Distributed Shared Memory. 61 / 71 (Architettura degli Elaboratori) Architetture parallele Si dividono in: Multicomputer • CC-NUMA presenza di caching – limita gli accessi remoti – directory (invece di snoooping cache) per garantire la coerenza • NC-NUMA assenza di caching – aumentano gli accessi – paginazione sofisticata page scanner, per ridistribuire i dati • COMA Cache Only Memory Access – la memoria locale e` vista come una grande memoria cache – problemi recupero dati. (Architettura degli Elaboratori) Architetture parallele 62 / 71 63 / 71 CPU con spazio privato di memoria, non direttamente accessibile Vantaggi: • maggiore scalabilita, ` • efficienti nell’eseguire in parallelo processi indipendenti (o con poca dipendenza). Es. server web. Caratteristiche: • sistemi fault-tollerance, • i singoli computer possono essere SMP con bus singolo. (Architettura degli Elaboratori) Architetture parallele 64 / 71 Multicomputer CPU Massive Parallel Processor MPP Node Memory … • Gli attuali supercomputer … Local interconnect Disk and I/O … Local interconnect Disk and I/O • Un elevato numero di processori standard • Rete di interconnessione sofisticata Communication processor • Librerie software parallelo • Fault tollerance: necessario per l’elevato High-performance interconnection network numero di componenti • Esempi: BlueGene: ∼: 400K CPU, Red Storm 10K CPU Opeteron. Si dividono in due categorie. (Architettura degli Elaboratori) Architetture parallele 65 / 71 (Architettura degli Elaboratori) BlueGene Progetto IBM. Record di prestazioni teoriche ed effettive. Campi d’applicazione: scacchi, simulazione: protein-unfolding, sistemi biologici (cervello, cuore), cosmologia. Architetture parallele 66 / 71 Cluster of workstation COW • Rete di interconnessione standard: si sfruttano i progressi nelle reti. • Dispositivi economici, facilmente assemblabili, • possono raggiungere prestazioni paragonabile ai MPP. • Centralizzati o decentralizzati. (Architettura degli Elaboratori) Architetture parallele 67 / 71 Esempio: Cluster Google (Architettura degli Elaboratori) Architetture parallele 68 / 71 Esempio: Cluster Google Un numero limitato di datacenter (12) di grosse dimensioni. Il progetto poco pubblicizzato. Principi costruttivi: • utilizzare componenti economici (desk-top, rete Ethernet) di largo uso, con il miglior rapporto: prestazioni/(prezzo + consumi); (consumi ∼100MW) • l’affidabilita ` ottenuta attraverso ridondanza, la rottura di un componente non compromette il sistema. (Architettura degli Elaboratori) Architetture parallele 69 / 71 Grid computing Livello successivo di computazione parallela: Computazione distribuita su calcolatori connessi via web. • meccanismi di protezione, • gestione della risorse di calcolo, • distribuzione del carico, • sistemi di calcolo non omogenei, definizione di uno standard comune. (Architettura degli Elaboratori) Architetture parallele 71 / 71 (Architettura degli Elaboratori) Architetture parallele 70 / 71
© Copyright 2024 ExpyDoc