Sistemi a processori multipli

Documenti analoghi
Classificazione delle Architetture Parallele

Introduzione al Calcolo Parallelo Algoritmi e Calcolo Parallelo. Daniele Loiacono

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.

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

Le reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

Sistemi RAID. Motivazioni Concetti di base Livelli RAID. Sommario

Sistemi Operativi Modulo A a.a gruppo 1 (A-I)

Parte VIII. Architetture Parallele

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

Laboratorio di Informatica

TEORIA DEI SISTEMI OPERATIVI. Sistemi monoprogrammatie multiprogrammati

Lezione 2 Chiamate di procedura e risposta alle interruzioni

Sistemi Operativi. Introduzione UNICAL. Facoltà di Ingegneria. Domenico Talia A.A

Sistemi Operativi UNICAL. Facoltà di Ingegneria. Domenico Talia A.A Sistemi Operativi. D. Talia - UNICAL

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

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Architetture parallele

CALCOLATORI ELETTRONICI Lezione n. Arch_Par 3

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Il Sistema Operativo. Informatica Sistema Operativo 1

Sistemi Operativi (prima parte) Appunti di TPI Elaborati dal prof. Ing. Mario Catalano Per la classe 3 Einf.

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel

CAPITOLO 5 - Sistemi Operativi Moderni

Sistemi Operativi: Concetti Introduttivi

Un semplice commutatore a pacchetto

Sistemi Operativi GESTIONE DEI PROCESSI. D. Talia - UNICAL. Sistemi Operativi 4.1

Il Processore. Informatica di Base -- R.Gaeta 27

Componenti e connessioni. Capitolo 3

ARCHITETTURE MULTIPROCESSORE E CALCOLO PARALLELO (Motivazioni e Classificazioni)

Il Sistema Operativo

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas

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

Dal sistema operativo all' hardware

Architetture di rete. 4. Le applicazioni di rete

1: Generalità sulle reti di trasmissione numeriche

Introduzione alla rete Internet

Sistema Operativo (Software di base)

Modelli di programmazione parallela

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

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

Fondamenti di Informatica T. Il Software

I THREAD O PROCESSI LEGGERI

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

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

Personal Computer: introduzione

Capitolo 6 Le infrastrutture SoftWare

Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:

Programmazione modulare

Introduzione ai sistemi operativi

Architettura dei calcolatori

Architettura di Von Neumann

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

Architettura hardware

Architettura dei calcolatori e Software di sistema

Sistemi Distribuiti Introduzione al corso

Introduzione al funzionamento di un calcolatore elettronico

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Computer e Programmazione

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Topologie delle reti di telecomunicazione

Le aree dell informatica

Sistemi Operativi per Calcolatori Paralleli

Come funziona un sistema di elaborazione

LA GESTIONE DELLA I/O

Prof. Rossella Cancelliere

Architettura dei Sistemi Dual-Core

Transcript:

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 considerevoli, a volte intrattabili in architetture tradizionali (scale-up) Risolvere problemi trattabili anche con architetture tradizionali, ma in minor tempo (speed-up) 2

CLASSIFICAZIONI E CONCETTI DI BASE Sistemi con processori multipli Varie classificazioni possibili Determinate da: organizzazione dei processori organizzazione delle memorie struttura della relativa interconnessione (HW) accoppiamento tra SW e HW sui vari processori Diverse problematiche per i relativi S.O.! 4

CLASSIFICAZIONE HW Classificazioni HW Classificazione HW Tassonomia di Flynn Classificazione dei MIMD Tassonomia di Tannenbaum Tassonomia di Stallings 6

Tassonomia di Flynn (1966) Flusso dei dati Flusso di istruzioni 7 Tassonomia di Flynn Flusso dei dati Singolo Multiplo Singolo Flusso di istruzioni Multiplo 8

Tassonomia di Flynn Flusso dei dati Singolo Multiplo Flusso di istruzioni Singolo SISD SIMD Multiplo MISD MIMD 9 Tassonomia di Flynn Gli elementi fondamentali di un calcolatore sono Flusso di istruzioni (IS): programma da eseguire Flusso di dati (DS): operandi e risultati delle istruzioni Unità di controllo (CU): esegue prelievo e decodifica dell istruzione Unità di elaborazione (PU): esegue le istruzioni (ALU+registri) Memoria principale (MM): contiene istruzioni e dati 10

Tassonomia di Flynn SISD Un processore Una memoria Un flusso di istruzioni, ogni istruzione applicata ad un dato alla volta Si tratta della macchina di Von Neumann 11 Tassonomia di Flynn SIMD Più processori Ognuno con la propria memoria Un flusso di istruzioni, applicato simultaneamente ai vari dati Es.: array processor 12

Tassonomia di Flynn MISD Più processori Una memoria Un flusso dati, sul quale sono applicati i vari flussi di istruzioni MAI implementato 13 Tassonomia di Flynn MIMD Più processori Più memorie Più flussi dati, sui quali vengono eseguite le diverse sequenze di istruzioni Caso interessante Tutti i sistemi distribuiti sono MIMD 14

Classificazione dei MIMD Con memoria condivisa (multiprocessori) Detti anche tightly coupled Condividono clock e memoria Eseguono lo stesso S.O. Comunicazioni frequenti e veloci Velocità di comunicazione = velocità della memoria Adatti a lavorare in parallelo su un singolo problema 15 Classificazione dei MIMD Con memoria distribuita (multicalcolatori) Detti anche loosely coupled Memoria locale ad ogni macchina Eseguono diversi S.O. Comunicazioni occasionali e lente Velocità comunicazione = velocità della rete Adatti a lavorare su molti problemi differenti contemporaneamente 16

Tassonomia di Tannenbaum In base al tipo di connessione fisica 17 Sistemi multiprocessore a bus N CPU connesse ad un singolo bus e a un unica memoria Architettura semplice, permette broadcast, ma poco scalabile a causa del bus Ogni CPU ha una cache per evitare il collassamento del bus Problema: coerenza delle cache con la memoria Soluzione: es.: snoopy write-through cache SMP (Symmetric MultiProcessor) 18

Sistemi multiprocessore a bus 19 Sistemi multiprocessore a bus 20

Sistemi multiprocessore a commutazione Sistemi multiprocessore a commutazione N processori con N memorie Collegamento basato su switch A griglia (crossbar switch, 2 livelli) [n 2 switch] (costosi) Omega network (switch 2x2) [nlogn switch] (costosi e lenti) Gerarchici (NUMA, Non-Uniform Memory Access) (allocazione SW complessa) C C C C M M M M C C C C M M M M 21 Classificazione dei MIMD Sistemi multiprocessore grossi costano e sono difficili da realizzare (max 64 CPU) Sistemi multicomputer (cluster) Ogni macchina ha la propria memoria Facili da costruire (fino a 16000 CPU) A bus (host collegati su LAN) A commutazione Griglie Ipercubi Es.: http://www.cs.vu.nl/~bal/das.html µp M 22

Tassonomia di Stallings 23 Tassonomia di Stallings Master/Slave Asimmetrico Un processore (Master) esegue il S.O. Schedula i processori slave Effettua tutti i servizi del kernel Ha pieno controllo di tutte le risorse Gli altri processori (Slave) eseguono programmi utente ed eventuali utility Master può essere un collo di bottiglia e un punto critico di guasto 24

Sistemi multiprocessore Symmetric Multiprocessor (SMP) Simmetrico Tutti i processori sono uguali Architettura a bus S.O. + difficile da progettare rispetto ai sistemi master/slave 25 SMP Importante la modularità! 26

SMP Il kernel può eseguire su qualsiasi processore Tipicamente in parallelo, thread multiple su processori diversi Ogni processore è auto-schedulante Problemi chiave nel progetto di S.O. per SMP Conflitti di scheduling tra processori Sincronizzazione accessi a memoria condivisa Gestione dell esecuzione concorrente di servizi del S.O. Fornire affidabilità e tolleranza ai guasti 27 Cluster Generica architettura multicomputer Alternativa a SMP Calcolatori poco eterogenei No memoria condivisa Appaiono come un unico calcolatore In generale diverso da un insieme di calcolatori su una rete locale Molti processori Connessione dedicata (tipo LAN) 28

Cluster Es: C-Plant Phase III 1536 nodi (466 MHz Compaq DS10L) 100MB/s Linux 29 Cluster vs. SMP SMP più facili da gestire e configurare occupa meno spazio e consuma meno sono orami stabili Cluster sono superiori rispetto alla scalabilità permettono una maggior ridondanza 30

CLASSIFICAZIONE SW Classificazione SW HW vs. SW definisce il tipo di S.O. HW SW 32

Classificazione SW HW Loosely Tightly coupled coupled SW Loosely coupled Tightly coupled 33 Classificazione SW HW Loosely Tightly coupled coupled SW Loosely coupled Network O.S. (NOS) _ Tightly coupled Distributed O.S. (DOS) Multiprocessor O.S. (MOS) 34

S.O. multiprocessore (MOS) Un processo può essere eseguito su qualunque CPU Tutte le CPU eseguono lo stesso S.O. File system simile al caso uniprocessore Memoria condivisa Problematica à consistenza memoria/cache 35 S.O. di rete (NOS) Ogni macchina esegue il suo S.O. La molteplicità delle macchine è visibile agli utenti L accesso alle risorse avviene in modo esplicito: Login remoto Trasferimento dati (es. Via FTP) Esempio di NOS: NFS (network file system) Usato per condivisione di file system Non propriamento un S.O.! 36

Architettura NOS Necessario usare comandi ad hoc per usare le risorse distribuite in rete Manca trasparenza Host A Host B Host C Servizi del SO di rete Applicazioni distribuite Servizi del SO di rete Kernel Kernel Kernel rete Servizi del SO di rete 37 S.O. distribuiti (DOS) La molteplicità delle macchine NON è visibile agli utenti L accesso alle risorse remote simile a quelle locali Macchine sono in qualche modo, ma non completamente, autonome Tutte le macchine eseguono lo stesso S.O. 38

Architettura DOS Memoria condivisa via SW Assegnamento task ai processori Interprocess communication Mascheratura di guasti HW Host A Host B Host C Applicazioni distribuite Servizi del SO distribuito Kernel Kernel Kernel rete 39 Middleware DOS à trasparenza ma poca scalabilità, no eterogenità NOS à non trasparenza ma molta scalabilità/ eterogeneità Middleware: Strato SW che unisce i benefici di DOS e NOS Primitive di comunicazione ad alto livello (es.: RPC) File system distribuito Naming Host A Host B Host C Servizi del SO di rete Applicazioni distribuite Middleware Servizi del SO di rete Kernel Kernel Kernel rete Servizi del SO di rete 40

Classificazione NOS DOS Middleware MOS Uniprocessore virtuale No Si No Si CPU eseguono lo stesso S.O. No Si No Si Quante copie di S.O.? N N N 1 Comunicazione Unica coda di esecuzione per i processi? Semantica di condivisione dei file Condivisione file/messaggi Messaggi Dipende dal middleware Memoria condivisa No No No Si No, in genere Si Si Si Grado di trasparenza Basso Alto Alto Molto alto Scalabilità Si Moderata Dipende No Gestione risorse Locale Globale, distribuita Locale Globale, centralizzata 41 Obiettivo Analizzare le problematiche che riguardano i sistemi operativi per le varie categorie di sistemi Priorità: sistemi distribuiti Presentano le problematiche più interessanti Significativamente diverse da S.O. centralizzati Diffusione più ampia In parte, problematiche comuni a sistemi multicomputer/cluster 42

Perché usare DOS? Prezzo/Prestazioni Una rete di workstation fornisce + MIPS di un grosso mainframe Prestazioni più elevate N processori forniscono idealmente N volte il lavoro di un processore Condivisione delle risorse Risorse costose non devono essere replicate 43 Perché usare DOS? Scalabilità Una struttura modulare permette di aggiungere/rimpiazzare risorse in modo + semplice Affidabilità La ridondanza di risorse permette tolleranza ai guasti 44