Valutazione delle prestazioni di programmi paralleli

Slides:



Advertisements
Presentazioni simili
Metodologia Sperimentale Agronomica / Metodi Statistici per la Ricerca Ambientale Marco Acutis a.a CdS.
Advertisements

I circuiti elettrici.
IL GOLD STANDARD: INTRODUZIONE
XXXII CONVEGNO NAZIONALE Società Italiana di Chimica Agraria
Il problema dello zaino
Campi di gravità e topografia: analisi con QGIS
Regole associative Gianluca Amato
Ciclo di Seminari e Corso
Valutazione dei risultati della classificazione
Generalità Laboratorio Arduino.
Natura e origini della attuale crisi europea
ECONOMIA DELLE ISTITUZIONI FINANZIARIE
Stato di COMPASS Franco Bradamante CSN1 Roma, 16 luglio 2012.
La struttura dei materiali
ESSERE HOMELESS: PERCORSI DI VITA E FATTORI DETERMINANTI
Introduzione a VPN Ing. Gianpiero Ciacci.
Le verifiche empiriche del teorema di Heckscher-Ohlin: il paradosso di Leontief Wassily Leontief realizzò la prima verifica empirica del teorema di HO.
…. modello di Solow?.
Politica economica: che cosa è?
 π BUZZO GIACOMO D’AGOSTINO ALBERTO DE ANGELIS FEDERICA
“BLAISE PASCAL”- Voghera-
La vitamina C è una molecola contenente C,H e O
REDDITO DI CITTADINANZA E OPPORTUNITA’ ECONOMICA: UN CONFRONTO TRA ITALIA E RESTO D’EUROPA Pasquale Tridico Dipartimento di Economia, Università Roma Tre.
Classificazione e Predizione
L’economia monetaria Corso di Economia delle Istituzioni Finanziarie
L’infiltrazione LM-75: 2016/2017
UN NUOVO MODO DI GUARDARE IL MONDO
LA PREVENZIONE INCENDI NELLE STRUTTURE RELIGIOSE APERTE AL PUBBLICO
LE NOVITÀ DEL BILANCIO 2016 …………………………………………………………………………………………………………..
Le unità territoriali per le analisi socio-economiche
Pompe di calore a integrazione geotermica
ISTITUZIONI (regole scritte e nn scritte che governano l’interazione tra individui) → d.p. e contratti → norme sociali con appropriati Δ delle regole.
Università di Roma Tor Vergata
Convegno europeo sui minori
ATIPICITA’ DEL FATTORE UMANO NEL PILOTAGGIO DEI DRONI
CALENDARIO LEZIONI AGGIORNATO
RAEE è l’acronimo di Rifiuti da Apparecchiature Elettriche ed Elettroniche; ogni elettrodomestico ha un ciclo di vita terminato il quale, sia per malfunzionamento.
Appunti per ostetriche e non solo
Ricerca e innovazione:
Pubblica Amministrazione: semplificazione e costi della politica
Il processo di analisi dei fabbisogni
Comunicazioni Assemblea nazionale TTA 1-2 dicembre 2016
Proactive Care e Proactive Care Advanced
Maria Antonietta Volonté Dipartimento di Neurologia
IL CONFLITTO NELLA CHIESA PRIMITIVA
Piano di formazione Docenti neoassunti a.s. 2016/2017
È possibile rendere comprensibile oggi questo termine filosofico, al di fuori della esigua cerchia degli specialisti? Io una volta ci ho provato in una.
ACCORDO AGROAMBIENTALE D’AREA OPPORTUNITA’ PER LA VALDASO
Il secondo principio.
PROGETTO RELAZIONI PREPOTENTI
Vitamine Sono sostanze organiche a basso peso molecolare strutturalmente assai varie indispensabili per lo svolgimento delle funzioni vitali, di origine.
La misurazione e la valutazione della performance
1.2 Nuovi prodotti alimentari
ASSOCIAZIONE ITALIANA GIURISTI DI IMPRESA
L’evoluzione del Diritto delle Assicurazioni Continuità o rottura con il passato? Avv. Giuseppe Ranieri Studio Legale Tributario Ranieri Comitato Esecutivo.
ADOZIONE INTERNAZIONALE
Esame delle modifiche apportate al precedente ordinamento
e l’associazione in partecipazione
Profilo biografico e opere
IL TOTALITARISMO.
L’Imposta sul reddito delle società (IRES)
Asl Vco – Direzione Generale
Assunzioni, Attività, Investimenti
UROLOGIA - RIMINI VISITE UROLOGICHE AMBULATORIALI REGIME RICOVERO
Endometriosi profonda: quando la chirurgia
Nota AIFA 75 Determinazione 18 novembre 2010 (GU 29 novembre 2010, n. 279): modifiche, con riferimento alla nota AIFA 75,  alla determinazione del 4 gennaio.
PIANO DI RIORDINO PRESIDI DI FOLIGNO E SPOLETO
SINTOMI DEL BASSO APPARATO URINARIO 4 MARZO 2017
Con gli occhi di Maxwell
Transcript della presentazione:

Valutazione delle prestazioni di programmi paralleli Moreno Marzolla Dip. di Informatica—Scienza e Ingegneria (DISI) Università di Bologna moreno.marzolla@unibo.it

Algoritmi Avanzati--modulo 2 Copyright © 2013, 2014, Moreno Marzolla, Università di Bologna, Italy (http://www.moreno.marzolla.name/teaching/AA2014/) This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License (CC-BY-SA). To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA. Algoritmi Avanzati--modulo 2

Algoritmi Avanzati--modulo 2 Speedup Definiamo p = Numero di processori / core Tserial = Tempo di esecuzione del programma sequenziale Tparallel (p) = Tempo di esecuzione del programma parallelo su p processori / core Nel caso ideale, il programma parallelo impiega 1/p del tempo del programma sequenziale Tparallel (p) = Tserial / p Algoritmi Avanzati--modulo 2

Speedup ed Efficienza Speedup S(p) Efficienza E(p) Spesso si definisce Tserial = Tparallel(1) Speedup S(p) Efficienza E(p) Solitamente S(p) ≤ p S(p) = p è il caso ottimo di speedup lineare Quando può verificarsi S(p) > p ? 𝑆 𝑝 = 𝑇 serial 𝑇 parallel 𝑝 𝐸 𝑝 = 𝑆 𝑝 𝑝 = 𝑇 serial 𝑝× 𝑇 parallel 𝑝 Algoritmi Avanzati--modulo 2

Porzioni non parallelizzabili Supponiamo che una frazione α del tempo di esecuzione sia dovuto ad una componente intrinsecamente seriale del programma Supponiamo che la rimanente frazione (1 - α) del tempo di esecuzione sia relativo ad una componente che puo' essere parallelizzata perfettamente Quindi avremo 𝑇 parallel 𝑝 =α 𝑇 serial + 1−α 𝑇 serial 𝑝 Algoritmi Avanzati--modulo 2

Algoritmi Avanzati--modulo 2 Esempio P = 1 P = 2 P = 4 Porzione non parallelizzabile  Tserial Tparallel(4) Tparallel(2) Tserial Porzione parallelizzabile 𝑇 parallel 𝑝 =α 𝑇 serial + 1−α 𝑇 serial 𝑝 (1 - ) Tserial Algoritmi Avanzati--modulo 2

Algoritmi Avanzati--modulo 2 Legge di Amdahl Quale è lo speedup ottenibile? 𝑆 𝑝 = 𝑇 serial 𝑇 parallel 𝑝 = 𝑇 serial α 𝑇 serial + 1−α 𝑇 serial 𝑝 = 1 α+ 1−α 𝑝 Legge di Amdahl Gene Myron Amdahl (1922—) Algoritmi Avanzati--modulo 2

Algoritmi Avanzati--modulo 2 Legge di Amdahl 𝑆 𝑝 = 1 α+ 1−α 𝑝 Da otteniamo che, per p tendente a +infinito, lo speedup asintotico è 1 / α Se una frazione α di un programma seriale non è parallelizzabile, allora lo speedup è limitato superiormente da 1/α, indipendentemente dal numero di core a disposizione Algoritmi Avanzati--modulo 2

Algoritmi Avanzati--modulo 2 Speedup Note: scala log-log Frazione non parallelizzabile 0.1% 1% 10% 20% Algoritmi Avanzati--modulo 2

Algoritmi Avanzati--modulo 2 Efficiency 0.1% 1% 10% 20% Frazione non parallelizzabile Algoritmi Avanzati--modulo 2

Algoritmi Avanzati--modulo 2 Scalabilità Un algoritmo è scalable se riesce a gestire problemi di dimensioni crescenti Se riusciamo a incrementare il numero di processiori mantenendo l'efficienza e la dimensione del problema costanti, l'algoritmo è strongly scalable. Se riusciamo a mantenere l'efficienza costante incrementando contemporaneamente la dimensione del problema e il numero di core, l'algoritmo è weakly scalable. Algoritmi Avanzati--modulo 2

Algoritmi Avanzati--modulo 2 Misurazione dei tempi Per valutare sperimentalmente speedup ed efficienza, il tempo di esecuzione che viene misurato è il wall clock time del programma, ESCLUDENDO il tempo necessario a leggere l'input e a scrivere l'output. theoretical function omp_get_wtime MPI_Wtime Algoritmi Avanzati--modulo 2

Misurazione dei tempi Per valutare sperimentalmente speedup ed efficienza, il tempo di esecuzione che viene misurato è il wall clock time del programma, ESCLUDENDO il tempo necessario a leggere l'input e a scrivere l'output. double start, finish; /* lettura dei dati di input da file; questo NON va considerato */ start = Get_current_time(); /* omp_get_wtime() oppure MPI_Wtime() */ /* parte di codice di cui vogliamo misurare il wall clock time */ finish = Get_current_time(); printf(“The elapsed time = %e seconds\n”, finish – start); /* scrittura dell'output; questo NON va considerato */ Questa è la parte in cui sono svolte le computazioni, Algoritmi Avanzati--modulo 2

Misurazione del wall-clock time Per i programmi OpenMP: omp_get_wtime() Per i programmi MPI: MPI_Wtime() Soluzione “generica”: clock_gettime() Soluzione SBAGLIATA: clock() NAME clock - Determine processor time SYNOPSIS #include <time.h> clock_t clock(void); DESCRIPTION The clock() function returns an approximation of processor time used by the program. Algoritmi Avanzati--modulo 2

Algoritmi Avanzati--modulo 2 Esempio M. Marzolla, Fast Training of Support Vector Machines on the Cell Processor, Neurocomputing, Volume 74, Issue 17, October 2011, pp. 3700–3707, ISSN 0925-2312; disponibile all'indirizzo http://www.moreno.marzolla.name/publications/ Algoritmi Avanzati--modulo 2

Algoritmi Avanzati--modulo 2 Esempio RS(n) = TSPE,n / TSPE,1 Algoritmi Avanzati--modulo 2

Algoritmi Avanzati--modulo 2 Esempio Algoritmi Avanzati--modulo 2