Slides:



Advertisements
Presentazioni simili
Scheduling (Schedulazione) Susanna Pelagatti – Università di Pisa
Advertisements

STRUTTURA DEL SISTEMA OPERATIVO
La struttura fisica e logica di un elaboratore
Concetti teorici di base della tecnologia dell’informazione
Prof. Emanuele Marino Concetti teorici di base della tecnologia dellinformazione.
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Architettura di un sistema informatico Hardware
Esercizi sulle architetture
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
1 Introduzione Necessità Misura delle prestazioni affidabili per sistemi di calcolo sempre più vari ed applicazioni evolute Definizione di insieme di programmi.
1 Introduzione Sistema di calcolo (1) Valutazione delle prestazioni (2) Metriche oggettive (3)
1 Introduzione Ottimizzazione di un sistema (per es. di calcolo) (1) Analisi dellimpatto delle varie soluzioni possibili (2) Legge di Amdhal (3) Scelta.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione SISTEMA DI CALCOLO Valutazione delle prestazioni Metriche oggettive di analisiRisultati oggettivi.
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
1 Introduzione Il concetto di prestazione si presta facilmente a valutazioni soggettive, spesso fuorvianti Metriche di analisi oggettive sono utili per.
Tipo Documento: unità didattica 0 Modulo 0 Compilatore: ??? Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
IL PATRIMONIO DI DATI - LE BASI DI DATI. Il patrimonio dei dati Il valore del patrimonio di dati: –Capacità di rispondere alle esigenze informative di.
Introduzione DSP. Trestino Cosmo Università degli studi di Padova Capitolo 1, Slide 2 Obiettivi della lezione Perché elaborare i segnali in digitale ?
Struttura dei sistemi operativi (panoramica)
L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.
La gestione dell'I/O Architettura degli elaboratori 1 - A. Memo La gestione dellI/O 4Prestazioni e generalità 4.1Modelli di funzionamento 4.2Dischi.
Sistemi Operativi Distribuiti: indice
FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
PRESENTAZIONE di RICCARDO
L' ARCHITETTURA DI VON NEUMANN
Architettura del calcolatore
Università degli Studi di Salerno Corso di Calcolatori Elettronici
Esercitazioni I/O. Dischi: Esercizio 1 Si consideri un programma che legge blocchi di 2 KB da disco, esegue un’elaborazione su questi, e quindi li riscrive.
I processi.
1 Gestione del Processore (Scheduling). 2 Scheduling dei processi È l’attività mediante la quale il sistema operativo effettua delle scelte tra i processi,
Gestione del Processore (Scheduling)
1 Introduzione Sistema di calcolo + applicazioni Possibilità di effettuare confronti e stime dei tempi di esecuzione Metriche di misura delle prestazioni.
Architettura di una CPU
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dell’Informazione Politecnico di Milano introduzione alle architetture superscalari Come.
1 Introduzione Sistema di calcolo Valutazione dell’impatto delle varie modifiche sulle prestazioni globali del sistema Modifiche all’architettura.
Estratto dalle slide di Informatica Industriale - DU - 10
3  Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione  elaborazione dati  memorizzazione dati 
INTERFACCE Schede elettroniche che permettono al calcolatore di comunicare con le periferiche, che possono essere progettate e costruite in modo molto.
Calcolatori Elettronici Il Processore
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Gestione del processore (Scheduler)
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Calcolatori Elettronici Valutazione delle Prestazioni Francesco Lo Presti Rielaborate da Salvatore Tucci.
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Informatica Generale Marzia Buscemi
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il calcolatore Stefano Cagnoni e Monica Mordonini
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
Architetture dei sistemi di calcolo, sistemi operativi, reti di calcolatori Dr. Luciano Bononi Facoltà di Scienze, Fisiche Naturali dell’Università di.
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
INTRODUZIONE AI SISTEMI OPERATIVI. Introduzione Il software può essere diviso un due grandi classi: Il software può essere diviso un due grandi classi:
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
1 Informatica di Base Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Transcript della presentazione:

5 Valutazione delle prestazioni Architettura degli elaboratori 5 Valutazione delle prestazioni 5 Generalità 5.1 Prestazioni della CPU 5.2 Prestazioni del sistema 5.3 Considerazioni finali Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo Alessandro Memo

Architettura degli elaboratori 1 - A. Memo 5. Generalità La misura delle prestazioni permette il confronto di architetture o sistemi diversi generalmente le prestazioni sono collegate alla velocità di esecuzione possono essere classificate in base: alle durate temporali delle singole istruzioni alla durata temporale di interi programmi o sezioni significative Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.1 Prestazioni della CPU classificazione è utile distinguere tra prestazioni della CPU legate ai tempi di esecuzione della CPU, quindi user CPU time ed eventualmente anche system CPU time prestazioni del sistema legate al tempo di esecuzione totale, e quindi al-l’I/O, ai dispositivi di memoria, all’architettura, ... Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.1 Prestazioni della CPU definizione parametri 1 Confrontiamo le caratteristiche di due mezzi di tras- porto in un generico tratto autostradale da 100 Km: Chi è il mezzo più veloce per l’utente? (tempo di trasferimento) Chi è il mezzo più veloce per il gestore dei trasfe-rimenti ? (numero utenti trasferiti nell’unità di tempo) Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.1 Prestazioni della CPU definizione parametri 2 Occorre distinguere due parametri: tempo di esecuzione (detto anche response time o elapsed time), intervallo di tempo necessario ad eseguire una data attività banda passante (detto anche bandwidth o throughput), numero di attività eseguite in un dato intervallo di tempo Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.1 Prestazioni della CPU tempo di esecuzione 1 le prestazioni di un sistema in base al tempo di esecuzione si possono misurare con 1 tempo_esecuzione_X prestazioni_X = due sistemi hanno prestazioni diverse se il tempo di esecuzione della stessa attività è diverso Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.1 Prestazioni della CPU tempo di esecuzione 2 in un sistema il tempo di esecuzione può dipendere anche da fattori esterni, quali la presenza o meno di processi concorrenti in generale il tempo di esecuzione CPU (CPU time), o tempo dedicato dalla CPU per svolgere quell’attività, è composto da tempo CPU dedicato all’utente (user CPU time) tempo CPU dedicato al sistema (system CPU time) Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.1 Prestazioni della CPU tempo di esecuzione 3 provare ad esempio in ambiente LINUX il comando per calcolare il tempo di sistema e quello totale di un dato comando: time ls -l xxx u yyy s z:zz pp% xxx = user CPU time yyy = system CPU time z:zz = elapsed time (tempo totale di esecuzione) = xxx + yyy + non_CPU_time Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.1 Prestazioni della CPU tempo di esecuzione 4 il tempo CPU di esecuzione, o CPU time, è dato da CPU_time = (numero cicli di clock CPU) * (durata di un ciclo) numero cicli di clock CPU frequenza di clock = esempio: se una CPU ha una frequenza di clock di 200 MHz e richiede 100 cicli di clock per eseguire un dato comando, il tempo CPU di esecuzione vale: CPU_time = 100 / (200 x 106) = 0,5 mS Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.1 Prestazioni della CPU CPI 1 Clock cycles per instruction, numero medio di cicli di clock necessari per eseguire un’istruzione; per il calcolo si può partire da un insieme di istruzioni partire dal tempo totale di esecuzione di un dato insieme di istruzioni con Ci = numero cicli istruzione i-esima Fi = frequenza istruzione i-esima CPI = Si Ci x Fi CPU_Time x frequenza_clock numero_istruzioni_eseguite CPI = Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.1 Prestazioni della CPU CPI 2 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.1 Prestazioni della CPU MIPS 1 MIPS, Million Instructions Per Second MIPS nativo = numero di istruzioni tempo di esecuzione x 106 = frequenza di clock CPI x 106 MIPS di picco, quando le istruzioni sono scelte per minimizzare il CPI (poco realistico) MIPS relativo, quando fa riferimento ad una macchina standard (difficile da mantenere aggiornato) Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.1 Prestazioni della CPU caratteristiche del MIPS 1 facile da capire e da calcolare teoricamente e da valutare praticamente inadatto nel confronto con CPU aventi set di istruzioni diverse (penalizza le CISC) strettamente dipendente dal mix di istruzioni prese in esame Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.1 Prestazioni della CPU caratteristiche del MIPS 2 Supponiamo di avere due sistemi, M1 ed M2, con il medesimo set di istruzioni, ma con architetture e fre-quenze di clock diverse, rispettivamente 200 e 300 MHz Dividiamo le istruzioni in classi omoge-nee per fre-quenza di uti-lizzo e di du-rata in cicli. Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.1 Prestazioni della CPU caratteristiche del MIPS 3 calcolo del MIPS nativo su tutte le istruzioni: MIPS native = freq_clock / CPI x 106 CPI globale = Si Ci x Fi CPI M1 = 1x0,5 + 2x0,3 + 3x0,15 + 4x0,05 = 1,75 MIPS nativo M1 = 200 x 106 / 1,75 x 106 = 114 CPI M2 = 2x0,5 + 2x0,3 + 4x0,15 + 4x0,05= 2,40 MIPS nativo M2 = 300 x 106 / 2,40 x 106 = 125 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.1 Prestazioni della CPU caratteristiche del MIPS 4 calcolo del tempo di esecuzione di 106 istruzioni: CPU time M1 = 1,75 x 106 / 200 x 106 = 8,7 mS CPU time M2 = 2,40 x 106 / 300 x 106 = 8,0 mS CPU time = numero_istruzioni x CPI_globale frequenza_di_clock Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.1 Prestazioni della CPU caratteristiche del MIPS 5 calcolo del MIPS di picco: MIPS peak = freq_clock / CPI_minimo = 200 x 106 / 1 = 200 MIPS peak per M1 = 300 x 106 / 2 = 150 MIPS peak per M2 calcolo del MIPS nativo con istruzioni di classe A e C: MIPS nativo M1 = 200 x 106 / (0,5x1 + 0,5x3) x 106 = 100 MIPS nativo M2 = 300 x 106 / (0,5x2 + 0,5x4) x 106 = 100 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.1 Prestazioni della CPU MFLOPS MFLOPS, Million FLoating-point Operations Per Second, ha le stesse caratteristiche del MIPS, ma valuta solo le prestazioni dell’unità FP è influenzato dal mix di istruzioni usate (non tutte le istruzioni FP sono implementate in tutte le CPU) MFLOPS normalizzato, in cui viene adottata una ripartizione percentuale prefissata delle varie operazioni FP Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.2 Prestazioni del sistema generalità Spesso non interessa sapere le prestazioni della CPU, quanto quelle dell’intero sistema purtroppo queste dipendono da l’algoritmo e le strutture dati adottate il compilatore utilizzato il tipo di CPU in uso ed il set di istruzioni l’ambiente operativo le prestazioni della memoria e dell’I/O Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.2 Prestazioni del sistema benchmark 1 un benchmark è un programma (o insieme di programmi) atto a valutare le prestazioni del sistema in cui viene fatto eseguire usato in macchina diverse permette di confrontarle usato nella stessa macchina, permette di valutare gli effetti di modifiche hardware o le prestazioni di compilatori diversi Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.2 Prestazioni del sistema benchmark 2 I benchmark si possono dividere in limitati (toy benchmark), in cui il numero contenuto di linee di programma permette un’analisi molto sommaria del sistema sintetici (synthetic benchmark), basati su una distribuzione di istruzioni che riproducono la distribuzione tipica dei programmi commerciali significativi (kernel benchmark), composti da parti significative di programmi commerciali reali (real benchmark), basati sull’esecuzione standard di più programmi commerciali Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.2 Prestazioni del sistema benchmark 3 I più noti sono: Whetstone, adatto per valutazioni FP Dhrystone, adatto a valutare integer e FP, è troppo corto e può risiedere gran parte in cache Linpack, adatto per valutare FP SPEC Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.2 Prestazioni del sistema benchmark 4 offrono un sistema di valutazione globale abbastanza veloce e facilmente trasportabile in varie piattaforme i limitati ed i sintetici non riproducono situazioni operative reali non si valuta la capacità elaborativa del sistema, ma l’accoppiata sistema-software specifico, e non è detto che con nuovo software le prestazioni siano analoghe Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.2 Prestazioni del sistema SPEC 1 Standard Performance Evaluation Corporation, creato da un gruppo di venditori per creare un prodotto di valutazione standard viene aggiornato ogni 3 anni circa, attualmente SPEC95, composto da 8 moduli integer e 10 FP è un insieme di benchmark specifici, di cui viene fatta la media geometrica fornisce informazioni numeriche inversamente legate al tempo di esecuzione (valori SPEC elevati = migliori prestazioni) Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.2 Prestazioni del sistema SPEC 2 nella determinazione dello SPEC sono ammessi tutti i trucchi per aumentare l eprestazioni (disabilitare tutti gli altri processi, adottare specifici flag per il compilatore, modificare il kernel del S.O.,..) in tal modo si evitano controlli rigorosi e si ha la sicurezza che il valore ottenuto rappresenta il massimo raggiungile Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.3 Considerazioni finali prestazioni medie Dovendo calcolare la media di più risultati si può adottare: media aritmetica Xa = S Ri / N (tempi di esecuzione) media geometrica Xg = P Ri 1/N (tempi normalizzati) media armonica Xm = N / S 1/Ri (throughput) N i=1 N i=1 N i=1 Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.3 Considerazioni finali legge di Amdahl 1 determina lo speed-up (aumento della velocità) conseguente all’aumento di prestazioni di una frazione di sistema Vecchie_prestazioni Nuove_prestazioni Speed Up = Vecchie_prestazioni = Vecchie_prestazioni Incremento_parziale Vecchie_prestazioni (1-a) + a Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo

5.3 Considerazioni finali legge di Amdahl 2 Se ad esempio raddoppio le prestazioni di un’unità della CPU (ad esempio l’ALU FP), ed il tempo di esecuzione normalmente speso da questa unità è il 10% del tempo totale, lo speed-up vale: 1 Speed Up = = 1,05 0,1 2 (1-0,1) + Valutazione delle prestazioni Architettura degli elaboratori 1 - A. Memo