SISD - Single Instruction Single Data. MISD- Multiple Instructions Single Data. SIMD Single Instruction Multiple Data. Architetture di processori

Documenti analoghi
SISD - Single Instruction Single Data. MISD- Multiple Instructions Single Data. SIMD Single Instruction Multiple Data. Architetture di processori

Classificazione delle Architetture Parallele

Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo. Daniele Loiacono

Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo. Daniele Loiacono

Introduzione al Many/Multi-core Computing

Come aumentare le prestazioni Cenni alle architetture avanzate

ARCHITETTURE MULTIPROCESSORE E CALCOLO PARALLELO (Motivazioni e Classificazioni)

Programmi per calcolo parallelo. Calcolo parallelo. Esempi di calcolo parallelo. Misure di efficienza. Fondamenti di Informatica

Architetture della memoria

Parte VIII. Architetture Parallele

Obiettivo. Un overview sul Calcolo Parallelo. Corso di Calcolo Parallelo. Informazioni. Laura Antonelli

Macchina di von Neumann. Architetture parallele. Cenni storici

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

Sistemi a processori multipli

Architetture. Paride Dagna. SuperComputing Applications and Innovation Department 18/02/2013

Calcolo PI. Per n = 10 vedi la figura: Provate ad implementarlo

PARTE II PROGRAMMAZIONE PARALLELA

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO. A cura di Tania Caprini

Architetture parallele. Architetture parallele. Oltre l ILP. Multithreading. Architetture Avanzate dei Calcolatori. Valeria Cardellini

Valutazione delle prestazioni

Valutazione delle prestazioni. Valutazione delle prestazioni. Tempo di risposta e throughput. Prestazioni e tempo di esecuzione

INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE

Evoluzione dei Sistemi. Prof. Giuseppe Pirlo Dipartimento di Informatica Università degli Studi di Bari

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema

Calcolatori Elettronici

MPI. MPI e' il risultato di un notevole sforzo di numerosi individui e gruppi in un periodo di 2 anni, tra il 1992 ed il 1994

Modelli di programmazione parallela

Architetture parallele

Roberto Innocente. 1 dicembre, 2001 R.Innocente - Linux Day Argomenti

Componenti e connessioni. Capitolo 3

Sistemi Operativi: Concetti Introduttivi

La vera difficoltà non è progettare architetture

IL MULTIPROCESSING. Tendenza attuale: distribuire il calcolo tra più processori.

ARCHITETTURE PARALLELE

Università di Roma La Sapienza Dipartimento di Matematica gennaio Calcolo parallelo. Claudia Truini

ARCHITETTURA DI UN PERSONAL COMPUTER

Testi del Syllabus. Docente BERTOZZI MASSIMO Matricola:

Confronto tra Opteron single-core e dual-core

I supercomputer oggi: applicazioni e architettura

Studio di un prototipo per la gestione dinamica di ambienti virtuali.

Calcolo parallelo, Grid e sistemi ad alta affidabilita'

DIDATTICA dell INFORMATICA di BASE CALCOLO PARALLELO

Parte IV Architettura della CPU Central Processing Unit

Programmazione Avanzata

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

CALCOLATORI ELETTRONICI Lezione n. Arch_Par 3

Architettura dei calcolatori

Architetture di Calcolo Avanzate per Sistemi Embedded

Indice generale. 1 Il calcolatore: astrazioni. 2 Le istruzioni: il linguaggio. e tecnologia 1. dei calcolatori 57

Macchine Programmabili

Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP

Introduzione. Caratteristiche generali. Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP

Flops. Differenza tra sustained performance, e di picco (cenni a proposito dei metodi di ottimizzazione, il compilatore ed oltre)

Introduzione. Sistemi Distribuiti. Introduzione. Introduzione. Definizione di sistema distribuito. Introduzione

Sistemi Distribuiti. Introduzione Definizione Vantaggi e svantaggi Architetture hardware e software Problemi di progetto. Sistemi Operativi mod.

Macchina di von Neumann. Architetture parallele

Linee di programmazione

Introduzione alle architetture dei processori

Architettura degli Elaboratori, corso A, a.a Appendice A: Caratteristiche di processori esistenti

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino

Pipeline nel Mondo Reale

Sistemi multiprocessore e multicore

Capitolo 1: Introduzione

Indirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect)

Un esigenza. Lezione 9. problema. Un problema. Cenni ai sistemi operativi distribuiti 1. introduzione

Speedup. Si definisce anche lo Speedup relativo in cui, invece di usare T 1 si usa T p (1).

Compilatori e Livelli di Compilazione

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

CALCOLO AD ALTE PRESTAZIONI. Introduzione

Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti) (3 punti)

I sistemi paralleli: architetture multiprocessore.

Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Architettura dei Sistemi Dual-Core

BEOWULF Cluester Linux/BSD

Panoramica sulle Architetture Parallele

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

Parte IV Architettura della CPU

Openmosix e Beowulf: introduzione e confronto

Incontro dei Ricercatori dell Area di Ricerca con gli studenti di Roma e dei Castelli

I THREAD O PROCESSI LEGGERI

Tecniche di parallelismo, processori RISC

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Introduzione al Many/Multi-core Computing

Calcolo Parallelo e Distribuito II

Sistemi operativi e reti A.A Lezione 2

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie

Flops. Differenza tra sustained performance, e di picco (cenni a proposito dei metodi di ottimizzazione, il compilatore ed oltre)

Il processore SHARC ADSP-21262

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Corso di Informatica

Corso di High Performance Computing Ingegneria e Scienze Informatiche Università di Bologna Prova Scritta, 29/6/2017

Un semplice commutatore a pacchetto

Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi

Architettura dei calcolatori e Software di sistema

Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM. Davide Barbieri

Informatica Generale 06 - Introduzione ai Sistemi Operativi

ARCHITETTURE DEI CALCOLATORI Introduzione. Mariagiovanna Sami

GPGPU GPGPU. anni piu' recenti e' naturamente aumentata la versatilita' ed usabilita' delle GPU

Transcript:

Classificazione di Flynn Architetture di processori SISD - Single Instruction Single Data Le istruzioni sono eseguite sequenzialmente su un solo insieme di dati Le macchine sequenziali comuni appartengono a questa classe che include anche le macchine RISC (reduced instructions set), con pipelines più o meno complicate. Calcolatori con pochi CPU appartengono in pratica pure a questa classe I DSP (digital signal processors) appartengono in generale a questa classe. SIMD Single Instruction Multiple Data Questi sistemi hanno in generale un gran numero di processori, più di 1024, che eseguono in sincronismo la stessa operazione su flussi paralleli di dati. I sistemi sistolici possono considerarsi un sottoinsieme di questa classe. Sono sistemi di processori interconnessi a pochi processori vicini. Ciascun processore esegue un numero limitato di operazioni su dati che si spostano da un processore al seguente. In generale le operazioni sono le stesse per ogni processore o per piccoli gruppi di processori. Come le macchine SIMD i calcoli sono eseguiti in sincronismo, alternando calcolo e comunicazione col vicino. MISD- Multiple Instructions Single Data Esiste solo sulla carta! Il calcolo è controllato da un supervisore che alimenta i processori e gestisce la memoria. Esempio: Intel iwarp. PGI 2005 lect_10 1 PGI 2005 lect_10 2 Esempio: calcolo di un polinomio di ordine n La regola di Horner per il calcolo di un polinomio è PE y= a n x a n 1 x a n 2 x a n 3 x... a 1 x a 0 Il sistema è organizzato in modo che il primo processore moltiplica il coefficiente a n per x e passa il risultato al processore successivo che aggiunge a n 1 ; il risultato passa al processore successivo che lo moltiplica per x e passa il risultato al processore successivo che aggiunge a n 2... e così via Il sistema produce un polinomio per ogni ciclo, con un ritardo (latenza). Un'altra sottoclasse importante è quella dei processori vettoriali. La procedura è sequenziale, ma i dati sono un "vettore": la parte vettoriale del processo è SIMD. PGI 2005 lect_10 3 PGI 2005 lect_10 4

Uno dei processori più rapidi del momento (terzo in classifica, primavera 2005) è un processore vettoriale NEC SX-6 con 5120 processori raggruppati in 640 nodi. Ha una capacità di calcolo di 40 Tflop. E' installato al Earth Simulation Center (ESC) a Yokohama. Lo schema a lato rappresenta un processore NEC SX-6 con 128 nodi. MIMD- Multiple Instructions Multiple Data Questi sistemi eseguono istruzioni diverse su flussi diversi di dati SM-MIMD - Shared Memory Tutti i processori accedono alla stessa memoria che possiede un sistema di indirizzi globale. I processori comunicano tra di loro attraverso un commutatore (switch) e la memoria. PGI 2005 lect_10 5 PGI 2005 lect_10 6 DM-MIMD - Distributed Memory, Ogni processore ha la sua memoria. I processori comunicano tra di loro attraverso un commutatore, cross-bar switch o altro I clusters o farms sono un sottoinsieme di questa classe Un altro sottoinsieme di questa classe sono i ccnuma (cash coherent Non Uniform Memory Access) Ciascun processore ha la sua memoria. Un nodo di più processori può avere una memoria collettiva. I tempi di accesso alla memoria dipendono dalla "distanza" tra i processori. La coerenza delle memorie è assicurata da hardware e/o software Beowulf I clusters o farms di PC sotto Linux, sono spesso identificati col nome di Beowulf, dal nome di un progetto iniziato nel 1994 dalla NASA al Goddard Space Flight Center. Massively Parellel Processor, MPP Indica un sistema costituito da un numero elevato, più di 128, processori uguali che cooperano all'esecuzione di un programma. Accelerated Strategicic Computing Initiative, ASCI Iniziativa del governo degli Stati Uniti iniziata intorno al 1994 che ha stimolato l'industria dei supercomputers. GRID Progetto per utilizzare la potenza di calcolo installata (disponibile) in luoghi distanti connessi da Internet PGI 2005 lect_10 7 PGI 2005 lect_10 8

Il processore universale oggi è il PC Come evolverà? NOW Project (http://now.cs.berkeley.edu) Due linee di sviluppo: - processori con molte unità di processo (cores) in un solo chip - interconnessioni tra processori in rete via DMA (InfiniBand) PGI 2005 lect_10 9 PGI 2005 lect_10 10 da un SMP (symmetric multiprocessor) a un chip con molte unità di processo (cores) Pipelining and Multithreading Sun's Niagara Sun's Niagara chip: 8 cores, 4 threads in a pipeline 6 deep PGI 2005 lect_10 11 PGI 2005 lect_10 12

200X: Infiniband as cluster interconnect? Granularità Parallelismo nei programmi Fine (fine grain) Il problema può essere trattato da un programma semplice che è eseguito in parallelo da ciascun processore Assenza di connessioni tra un flusso e i vicini: es. processi vettoriali. La logica di parallelismo è intrinseca all'hardware Necessità di connessioni coi flussi vicini: es. calcolo dei valori di un campo scalare o vettoriale La logica di parallelismo fa parte del sistema operativo. Talvolta è necessario avere un processore come supervisore La generazione di tracce con metodi di Monte Carlo è fine grain SGI's Columbia 10240 processor installation at NASA Ames has Intel Itanium 2-processor chips, an InfiniBand interconnect by Voltaire and runs Linux. It has made 42,7 LINPACK teraflops PGI 2005 lect_10 13 PGI 2005 lect_10 14 Grossolana (coarse grain) Il problema richiede sottoprogrammi massicci e solo questi sono eseguiti in parallelo. Se ci sono necessità di comunicazione coi flussi vicini, queste possono essere soddisfatte dalla memoria comune, come in SM-MIMD, o da un protocollo di comunicazione (message passing), come in DM- MIMD I metodi di programmazione tengono conto parzialmente di queste necessità. Esempi PVM (Parallel Virtual Machine) e MPI (Message Passing Interface).Tuttavia rimane necessario frammentare manualmente certe parti dei programmi per preparare l' esecuzione parallela o per migliorare l'efficienza. Nel caso dei clusters o farms usati in fisica delle alte energie ogni processore tratta un evento in indipendenza completa, senza comunicazioni coi vicini: è un parallelismo very coarse grain S. Cittolin, CERN CMS PGI 2005 lect_10 15 PGI 2005 lect_10 16

Speedup è il fattore secondo il quale un programma eseguito da n processori è più rapido di un programma eseguito da un solo processore. Legge di Amdahl: Parallel Overhead Quando si divide un programma in canali (threads) paralleli non si ottiene lo speedup teorico Referenze Per architetture di processori: A. J. van der Steen, J. J. Dongarra, Overview of Recent Supercomputers, http://www.top500.org/orsc/2004/ Per documentazione su PVM e MPI: http://nereida.deioc.ull.es/html/pvm.html PGI 2005 lect_10 17 PGI 2005 lect_10 18