reti - gallinigenova.altervista.org · il modello iso – osi ... in questo livello lavora il...

16
RETI RETI calcolo calcolo parallelo parallelo , , calcolo calcolo distribuito distribuito Approfondimento sulle Pablo Genova Pablo Genova Informatica Informatica A. S. 2016-2017 A. S. 2016-2017 Istituto Statale di Istruzione Superiore Istituto Statale di Istruzione Superiore A. Omodeo, Mortara A. Omodeo, Mortara Indirizzo Tecnico Economico Indirizzo Tecnico Economico

Upload: trinhthuan

Post on 14-Feb-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

RETIRETIcalcolocalcolo paralleloparallelo,,

calcolocalcolo distribuitodistribuito

Approfondimento sulle

Pablo GenovaPablo Genova

InformaticaInformatica A. S. 2016-2017A. S. 2016-2017

Istituto Statale di Istruzione SuperioreIstituto Statale di Istruzione Superiore A. Omodeo, MortaraA. Omodeo, Mortara Indirizzo Tecnico EconomicoIndirizzo Tecnico Economico

Il Modello ISO – OSIIl Modello ISO – OSI Approfondimento: come è strutturata una rete?

Esiste uno standard chiamato

Open System Interconnection OSI

stabilito dall'

International Organization for Standardization ISO

Modello ISO – OSIISO – OSI: standard internazionale che descrive la struttura di una rete di calcolatori.

Il modello ISO –– OSI descrive un'architettura di rete composta da 7 livelli ben precisi che insieme svolgono tutte le funzionalità della rete.Per ogni livello sono definiti opportuni protocollli di comunicazione (= regole di comunicazione → ripasso)

Per capirci subito ecco un'analogia “postale”

Segui le frecce!

Il Modello ISO – OSIIl Modello ISO – OSI Ecco i sette livelli

Applicazione

Presentazione

Sessione

Trasporto

Rete

Collegamento

Fisico

Dati

DATA LINK

layer

NETWORK

Frames

Il Modello ISO – OSI caratteristiche generaliIl Modello ISO – OSI caratteristiche generali

ROUTER

Host: singolo nodo di connessione (pc, portatile, smartphone etc etc)

Osserva il flusso dei dati attraverso i vari livelli

Host1 → Router1 → Router2 → Host2

La linea nera indica il flusso dei dati lungo la rete

Il router= “instradatore” lavora solo sui primi 3 livelli: FISICO – COLLEGAMENTO DATI – RETE

““Evoluzione della specieEvoluzione della specie””: il router negli anni : il router negli anni

The Interface Message Processor primo router della storia1969

1987 router CISCO al CERN

OGGI router CISCO 7600aziendale

OGGI router domestico

CISCO 7600

I LIVELLI PRINCIPALI DEL MODELLO ISO OSI I LIVELLI PRINCIPALI DEL MODELLO ISO OSI

Dei sette livelli che abbiamo introdotto i più importanti solo i seguenti 5:

LIVELLO FISICO – PHYSICAL LAYER

LIVELLO COLLEGAMENTO DATI – DATA LINK LAYER

LIVELLO RETE – NETWORK LAYER

LIVELLO TRASPORTO – TRANSPORT LAYER

LIVELLO APPLICAZIONE – APPLICATION LAYER

H O S T

R O U T E R

Ogni livello comunica in modo opportuno con il livello sottostante e/o soprastante, in ogni livello sono definiti opportuni protocolli. I livelli sessione (session) e presentazione (presentation) sono meno usati

Il router usa soltanto i primi tre livelli, gli hosts tutti i livelli

I PRIMI TRE LIVELLI: FISICO – DATA LINK – RETE I PRIMI TRE LIVELLI: FISICO – DATA LINK – RETE

Livello Fisico:

questo livello si occupa della trasmissione dei bit “grezzi” su un canale di trasmissione. La sua unità è il bit, i canali di trasmissione possono essere di tre tipi: 1) elettrico → rete via cavo2) ottico → fibra ottica 3) onda elettromagnetica → connessione senza fili

Livello Data linkcollegamento dati:

questo livello controlla la corretta trasmissione dei dati. Per fare ciò lavora con un gruppo di byte detto frame. In sintesi fa tre operazioni:1) spezzetta i dati in frames (gruppi di bit)2) invia in frames in sequenza3) aspetta un ack (= acknowledgement frame) è un segnale per dire che “va tutto bene” (o capire gli errori)

E' un livello di controllo e regolazione del traffico

In questo livello di data link è

definito il MAC ADDRESS

Livello ReteNetwork

questo livello si occupa dell'instradamento (routing) di pacchetti di dati. Esso lavora con un pacchetto di dati, che viene opportunamente inviato lungo opportuni percorsi di rete → algoritmo di routing, scelta del miglior cammino, trattamento della congestione della rete.In questo livello lavora il protocollo IP, è definito l'indirizzo IP (→ ripasso)

TRANSPORT & APPLICATION LAYERS TRANSPORT & APPLICATION LAYERS

Livello Trasportotransport

questo livello è presente solo sugli hosts è il cuore di tutta la gerarchia dei protocolli. Esso provvede alla gestione complessiva del trasferimento dei dati da un host ad un altro (“end to end”).

Lavora da un host ad un altro, mediante segmenti di dati, occupandosi della connessione, del flusso dei dati, della congestione, dell'affidabilità, dell'indirizzamento (ad esempio mediante):

IP ADDRESS + NUMERO DI PORTA

Protocollo tipico TCP Transmission (o Transfer) Control ProtocolAttenzione: non è il trasporto fisico dei dati! (ciò avviene nei livelli sottostanti)

Livello Applicazione

questo livello è, finalmente, il livello in cui lavora l'utente.L'unità di questo livello sono i dati (che come abbiamo visto vengono poi spezzettati in segmenti – pacchetti – frames – bits).In questo livello ci sono i terminali dell'utente, la grafica, le shell...I protocolli come http (ripasso → ipertesti), scp e ftp (ripasso → trasferimento files) smtp e pop (ripasso → gestione mail) sono tutti al livello applicazione.

MAC ADDRESS VS IP ADDRESS MAC ADDRESS VS IP ADDRESS

MAC ADDRESS o indirizzo fisico: codice di 48 bit (6 bytes) assegnato in modo univoco dal produttore ad ogni scheda di rete ethernet o wireless prodotta al mondo.MAC sta per Media Access Control, il MAC Address è definito nel livello 2 del Modello ISO OSI, livello DATA LINK

Esempio: 02 – 50 – E2 – 9F – 66 – 7B sei numeri (tra 00 e FF) in notazione esadecimale (base 16) separati da “–”

indirizzo IP: (→ ripasso) etichetta numerica che identifica un host nel protocollo IP, costituita da 32 bit (4 bytes).E' definito nel livello 3 Network/Rete, dove è definito (anche) il protocollo IP

Esempio: 192.128.3.0 quattro numeri compresi tra 0 e 255 in notazione decimale separati da “.”

Da shell (DOS) il comando ipconfig -all permette di visualizzare sia il MAC address che l'IP address

CALCOLO PARALLELO CALCOLO PARALLELO Calcolo parallelo: esecuzione simultanea di un programma o di un processo su più processori, su più CPU contemporaneamente.

Nei sempre più diffusi sistemi MULTICORE (vedi slide), il PC è già costituito da più CPU, più cores che lavorano in parallelo

Il processo viene suddiviso in singoli sottoprocessi chiamati threads (“fili”)

Il “vero” calcolo parallelo avviene quando ogni threadviene eseguito su una CPU diversa (un core diverso)[se si ha una sola CPU si può solo eseguire ora un thread ora l'altro, alternando i thread, ma non è un vero parallelismo]

Con questa tecnica si può velocizzare notevolmente l'esecuzione di un programma.

Attenzione: non tutto è parallelizzabile!

Legge di AmdahlAumentando il numero di processori, aumenta la velocità dell'esecuzione del programma, fino ad unvalore massimo dipendente dalla frazioneparallelizzabile, vedi grafico ascisse (x) numero di processori

ordinate (y) velocità del programmaAL VARIARE DELLA FRAZIONE PARALLELIZZABILE

CALCOLO DISTRIBUITO CALCOLO DISTRIBUITO Calcolo distribuito: è un concetto analogo a quello di calcolo parallelo, anche in questo caso si aumentano le prestazioni eseguendo in parallelo uno o più processi. Per capire la differenza bisogna considerare sia il processore sia la memoria (→ ripasso archiettura di Von Neumann)

Nel calcolo distribuito le risorse sono distribuite: ci sono tanti processori e tante memorie fisicamente distinte. Esse lavorano in parallelo scambiandosi (opportune) informazioni.

schema calcolo distribuito

schema calcolo parallelo

Nel calcolo parallelo ci sono tanti processori ma un'unica memoria condivisa

Nel calcolo distribuito ci sono tanti processori e tante memorie distinte che si scambiano informazioni

SISTEMI MULTI - CORE SISTEMI MULTI - CORE

I processori che usiamo oggi (anche sui telefonini!!) sono multi-core:hanno infatti un certo numero di processori distinti che lavorano in parallelo,tipicamente 2, 4, 6, 8 (dual, quad, esa, oct – core, ma può anche essere un numero dispari)

L'architettura nel dual-core diventa così

L1 Cache e L2 Cache sono memorie veloci associate al singolo processore, la RAM è condivisa con entrambi i processori

ogni processo è suddivisoin tanti threads che vengonoeseguiti indipendentemente

esempio quad-core

SEMPLICE ESEMPIOSEMPLICE ESEMPIO DI ALGORITMO PARALLELO DI ALGORITMO PARALLELO Somma dei numeri da 0 a 99

in 4 processi paralleliINIZIO

fork()fork()così spezzo in 4 parti il lavoro

iterazione da 0 a 24

join()

iterazione da 25 a 49

iterazione da 50 a 74

iterazione da 75 a 99

1 2 3 4

Ognuno dei blocchi 1-2-3-4

corrisponde ad una serie di blocchi di tipo iterativo come quelli già visti

S

join() così metto insieme il lavoro (join)

questa parte tra fork e join

è

calcolo parallelo

usandoCPU diverse

o core diversi

Attenzione: questa parte non è parallelizzata

stampo S (risultato somma)

Legge di Amdahl “in agguato”:non tutto è parallelizzabile FINE

Domanda: rispetto all'algoritmo non parallelo, questo algoritmo parallelo di quanto sarà più veloce? … Pensaci!

GRID (griglia) E CLOUD (nuvola)GRID (griglia) E CLOUD (nuvola)Queste tecniche di parallelizzazione e distribuzione del calcolo vengono (e verranno) utilizzate in modo sempre più frequente, non solo fra pochi computers, ma su scala mondiale (come per il web).

In particolare si parla di:

GRID o grid computing

CLOUD o cloud computing

GRID e CLOUD sono concetti simili, ma non identici.

Senza entrare nel dettaglio, i progetti GRID sono più orientati all'ambito scientifico, sono non profit e gratuiti, specializzati in settori specifici quali un esperimento scientifico, invece il CLOUD tipicamente è pensato in ambito privato e commerciale, di utilizzo generale (non solo orientato al calcolo o ad un progetto specifico), con servizi a pagamento.

In entrambi i casi, con modalità diverse, si ottiene il risultato di distribuire e parallelizzare le risorse hardware e software con grande vantaggio

La vera origine del GRID (slide ironica!!)La vera origine del GRID (slide ironica!!)

Bill Gates (giovane)Paul Allen cofondatore Microsoft

Come si può vedere sulla loro lavagna era presente una griglia!Sarà questa la vera origine del GRID??

;-) ;-) ;-)