SISD - Single Instruction Single Data. MISD- Multiple Instructions Single Data. SIMD Single Instruction Multiple Data. Architetture di processori
|
|
|
- Rebecca Riccardi
- 8 anni fa
- Visualizzazioni
Transcript
1 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
2 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
3 Il processore universale oggi è il PC Come evolverà? NOW Project ( 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
4 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 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
5 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, Per documentazione su PVM e MPI: PGI 2005 lect_10 17 PGI 2005 lect_10 18
Classificazione delle Architetture Parallele
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Classificazione delle Architetture Parallele Corso di Sistemi Distribuiti Valeria Cardellini Anno accademico 2009/10 Architetture parallele
Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo. Daniele Loiacono
Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo Riferimenti q Questo materiale deriva dalle slide del prof. Lanzi per il corso di Informatica B, A.A. 2009/2010 q Il materiale presente in
ARCHITETTURE MULTIPROCESSORE E CALCOLO PARALLELO (Motivazioni e Classificazioni)
ARCHITETTURE MULTIPROCESSORE E CALCOLO PARALLELO (Motivazioni e Classificazioni) Michele Colajanni Università di Modena e Reggio Emilia E-mail: [email protected] Perché le Architetture Multiprocessor?
Parte VIII. Architetture Parallele
Parte VIII Architetture Parallele VIII.1 Motivazioni Limite di prestazioni delle architetture sequenziali: velocità di propagazione dei segnali, la luce percorre 30 cm in un nsec! Migliore rapporto costo/prestazioni
Macchina di von Neumann. Architetture parallele. Cenni storici
Architetture parallele Macchina di von Neumann Modello di calcolo: macchina di von Neumann. Control unit Arithmetic logic unit Input Output Limite alle prestazione ottenibili: un unica operazione in esecuzione
CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)
CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.
Sistemi a processori multipli
Sistemi a processori multipli Sommario Classificazione e concetti di base Sistemi multi-processore Sistemi multi-computer (cluster) Sistemi distribuiti Obiettivo comune Risolvere problemi di dimensioni
Architetture. Paride Dagna. SuperComputing Applications and Innovation Department 18/02/2013
Architetture Paride Dagna SuperComputing Applications and Innovation Department 18/02/2013 Introduzione Grazie alle moderne tecniche di programmazione e agli strumenti di sviluppo attualmente disponibili,
PARTE II PROGRAMMAZIONE PARALLELA
PARTE II PROGRAMMAZIONE PARALLELA Metodologie di Esplicitazione del Metodologie di Esplicitazione del Implicito Funzionale (Control Parallelism ) Basato sui dati (Data Parallelism ) Ogni metodologia di
Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6
Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...
CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO. A cura di Tania Caprini
CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO A cura di Tania Caprini 1 CALCOLO SERIALE: esecuzione di istruzioni in sequenza CALCOLO PARALLELO: EVOLUZIONE DEL CALCOLO SERIALE elaborazione di un istruzione
Valutazione delle prestazioni
Valutazione delle prestazioni Architetture dei Calcolatori (lettere A-I) Valutazione delle prestazioni Misura/valutazione di un insieme di parametri quantitativi per Quantificare le caratteristiche di
INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE
1 INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE TIPI DI PARALLELISMO E CLASSIFICAZIONE DI FLYNN PIPELINING DELLE ISTRUZIONI I PROCESSORI SUPERSCALARI I PROCESSORI VLIW MULTITHREADING, CHIP MULTI PROCESSOR
Evoluzione dei Sistemi. Prof. Giuseppe Pirlo Dipartimento di Informatica Università degli Studi di Bari
Evoluzione dei Sistemi Prof. Giuseppe Pirlo Dipartimento di Informatica Università degli Studi di Bari Languages, Levels, Virtual Machines A multilevel machine Contemporary Multilevel Machines A six-level
La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema
La macchina di Von Neumann rchite(ura di un calcolatore us di sistema Collegamento Unità di Elaborazione (CPU) Memoria Centrale (MM) Esecuzione istruzioni Memoria di lavoro Interfaccia Periferica P 1 Interfaccia
Modelli di programmazione parallela
Modelli di programmazione parallela Oggi sono comunemente utilizzati diversi modelli di programmazione parallela: Shared Memory Multi Thread Message Passing Data Parallel Tali modelli non sono specifici
Architetture parallele
1 Calcolatori paralleli A meno di una nuova rivoluzione scientifica la legge di Moore (che pronostica un raddoppio del numero di transistor su un singolo chip ogni 18 mesi) non potrà rimanere valida per
Roberto Innocente. 1 dicembre, 2001 R.Innocente - Linux Day 2001 1. Argomenti
Roberto Innocente 1 dicembre, 2001 R.Innocente - Linux Day 2001 1 Introduzione Calcolo parallelo Argomenti Architetture parallele, tassonomia dei clusters Paradigmi per la programmazione parallela Beowulf
Componenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
Sistemi Operativi: Concetti Introduttivi
Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione
IL MULTIPROCESSING. Tendenza attuale: distribuire il calcolo tra più processori.
IL MULTIPROCESSING Il problema: necessità di aumento della potenza di calcolo. La velocità di propagazione del segnale (20 cm/ns) impone limiti strutturali all incremento della velocità dei processori
Università di Roma La Sapienza Dipartimento di Matematica 15 31 gennaio 2007. Calcolo parallelo. Claudia Truini
Università di Roma La Sapienza Dipartimento di Matematica 15 31 gennaio 2007 Calcolo parallelo Claudia Truini 1 Le finalità del corso Descrivere le varie macchine parallele; come funzionano pregi e difetti
ARCHITETTURA DI UN PERSONAL COMPUTER
ARCHITETTURA DI UN PERSONAL COMPUTER Processore Tastiera Mouse CD-ROM Bus Memoria FD HD Stampante La struttura logica Fisicamente l unità centrale è costituita da:... la gabbia per le schede (rack)...
Calcolo parallelo, Grid e sistemi ad alta affidabilita'
Calcolo parallelo, Grid e sistemi ad alta affidabilita' Finalità del corso Gli obiettivi del corso sono quelli di eseguire una panoramica sugli strumenti che l'open source mette a disposizione nell'ambito
DIDATTICA dell INFORMATICA di BASE CALCOLO PARALLELO
CALCOLO PARALLELO Architettura tradizionale per il calcolo parallelo e distribuito e possibile implementazione tramite l uso di personal computer di Renato Agati INDICE Premessa Glossario Parte 1 : Architettura
CALCOLATORI ELETTRONICI Lezione n. Arch_Par 3
CALCOLATORI ELETTRONICI Lezione n. Arch_Par 3 ARRAY PROCESSORS. ARCHITETTURE A PARALLELISMO MASSIVO ESEMPI In questa lezione vengono presentati alcuni esempi di architetture a parallelismo massivo. Si
Architettura dei calcolatori
Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura
Indice generale. 1 Il calcolatore: astrazioni. 2 Le istruzioni: il linguaggio. e tecnologia 1. dei calcolatori 57
I Indice generale Prefazione viii 1 Il calcolatore: astrazioni e tecnologia 1 1.1 Introduzione 1 Tipi di calcolatore e loro caratteristiche 2 Cosa si può imparare da questo libro 5 1.2 Cosa c è dietro
Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP
Laurea Specialistica in Ingegneria Informatica Laurea Specialistica in Ingegneria Elettronica e delle Telecomunicazioni Sistemi e Tecnologie per l'automazione LS HW per elaborazione digitale in automazione:
Introduzione. Caratteristiche generali. Sistemi e Tecnologie per l'automazione LS. HW per elaborazione digitale in automazione: Microcontrollori e DSP
Laurea Specialistica in Ingegneria Informatica Laurea Specialistica in Ingegneria Elettronica e delle Telecomunicazioni Sistemi e Tecnologie per l'automazione LS HW per elaborazione digitale in automazione:
Introduzione. Sistemi Distribuiti. Introduzione. Introduzione. Definizione di sistema distribuito. Introduzione
Sistemi Distribuiti Definizione Vantaggi e svantaggi Architetture hardware e software Problemi di progetto A metà degli anni quaranta inizia l era dei calcolatori elettronici moderni: grandi, costosi e
Sistemi Distribuiti. Introduzione Definizione Vantaggi e svantaggi Architetture hardware e software Problemi di progetto. Sistemi Operativi mod.
Sistemi Distribuiti Introduzione Definizione Vantaggi e svantaggi Architetture hardware e software Problemi di progetto 19.1 Introduzione A metà degli anni quaranta inizia l era dei calcolatori elettronici
Macchina di von Neumann. Architetture parallele
rchitetture parallele odello di calcolo: macchina di von Neumann. Control rithmetic logic Input Output acchina di von Neumann Limite alle prestazione ottenibili: un unica operazione in esecuzione una sola
Linee di programmazione
Ministero dell Istruzione, dell Università e della Ricerca Ufficio Scolastico regionale per il Lazio Istituto Tecnico Industriale A. Pacinotti ISTITUTO TECNICO TECNOLOGICO - LICEO SCIENTIFICO DELLE SCIENZE
Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino
Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Lezione 3 Ing. Saverio De Vito e-mail: [email protected] Tel.: +39
Speedup. Si definisce anche lo Speedup relativo in cui, invece di usare T 1 si usa T p (1).
Speedup Vediamo come e' possibile caratterizzare e studiare le performance di un algoritmo parallelo: S n = T 1 T p n Dove T 1 e' il tempo impegato dal miglior algoritmo seriale conosciuto, mentre T p
AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE
Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE 3-1 Il Livello RETE Servizi del livello Rete Organizzazione interna Livello Rete basato su Circuito Virtuale Livello Rete basato su Datagram Algoritmi
(1) (2) (3) (4) 11 nessuno/a 9 10. (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
Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3
Architettura dei Sistemi Dual-Core
Facoltà di Ingegneria Corso di Studi in Ingegneria Informatica Tesi di laurea triennale Architettura dei Sistemi Dual-Core Anno Accademico 2011/2012 relatore Ch.mo prof. Nicola Mazzocca candidato Giovanni
TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati
TEORIA DEI SISTEMI OPERATIVI Sistemi monoprogrammatie multiprogrammati 1 STRUTTURA DEL SISTEMA OPERATIVO UTENTE La struttura di un sistema operativo è di tipo gerarchico: i programmi che lo compongono
Openmosix e Beowulf: introduzione e confronto
Openmosix e Beowulf: introduzione e confronto Giovanni Perbellini Cluster Introduzione Cluster ESD Openmosix Comandi principali Beowulf (PVM) Comandi principali Libreria PVM API Agenda 1 Introduzione -
I THREAD O PROCESSI LEGGERI
I THREAD O PROCESSI Processi (pesanti): LEGGERI entità autonome con poche risorse condivise (si prestano poco alla scrittura di applicazioni fortemente cooperanti) Ogni processo può essere visto come Immagine
Tecniche di parallelismo, processori RISC
Testo di riferimento: [Congiu] 9.1-9.3 (pg. 253 264) Tecniche di parallelismo, processori RISC 09.a Pipelining Altre tecniche di parallelismo Processori superscalari Caratteristiche dei processori RISC
Calcolo Parallelo e Distribuito II
Calcolo Parallelo e Distribuito II Presentazione del corso - A.A. 2008-2009 Prof. Marco Lapegna tel. 081 675623 studio 155 DMA (VI liv.) [email protected] sito web in fase di aggiornamento 1 Contenuti
Flops. Differenza tra sustained performance, e di picco (cenni a proposito dei metodi di ottimizzazione, il compilatore ed oltre)
LaTop500 Flops Differenza tra sustained performance, e di picco (cenni a proposito dei metodi di ottimizzazione, il compilatore ed oltre) La valutazione dell'effettiva potenza di calcolo dev'essere effettuata
Il processore SHARC ADSP-21262
2 Il processore SHARC ADSP-21262 Il processore ADSP-21262, utilizzato nel presente lavoro, appartiene ad una vasta famiglia di Digital Signal Processors della Analog Devices, denominata SHARC, particolarmente
Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput
Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare
Un semplice commutatore a pacchetto
Realizzazione di commutatori a pacchetto: cosa c e dentro un router IP? Prof. Ing. Carla Raffaelli Un semplice commutatore a pacchetto Una workstation con schede di rete e software per ricevere pacchetti
Sistemi Operativi. A.M. Fanelli Architettura dei Sistemi a. a Livello di Sistema Operativo. Livello di Linguaggi Applicativi
Sistemi Operativi A.M. Fanelli Architettura dei Sistemi a. a. 2008-09 1 Livello di Sistema Operativo Livello di Linguaggi Applicativi Livello di Linguaggio Assembly Livello di Sistema Operativo Livello
Architettura dei calcolatori e Software di sistema
Università degli Studi di Palermo Dipartimento di Ingegneria Chimica, Gestionale, Informatica, Meccanica Lezioni di Informatica di Base per la Facoltà di Lettere e Filosofia Anno Accademico 2012/20103
Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM. Davide Barbieri
Introduzione alla GPGPU Corso di sviluppo Nvidia CUDATM Davide Barbieri Contatti skype: davbar86 mail: [email protected] Panoramica corso Introduzione al mondo delle GPU Modello GPGPU Nvidia
GPGPU GPGPU. anni piu' recenti e' naturamente aumentata la versatilita' ed usabilita' delle GPU
GPGPU GPGPU GPGPU Primi In (General Purpose computation using GPU): uso del processore delle schede grafice (GPU) per scopi differenti da quello tradizionale delle generazione di immagini 3D esperimenti
