SlideShare a Scribd company logo
1 of 40
Download to read offline
Alessandro Della Rocca alexdellarocca AT alice.it
Marco Fazzone fazzone.marco AT gmail.com
Natasha Marmo natasha87_n AT libero.it
Università degli Studi di Salerno
Programmazione Concorrente e Parallela
A.A. 2013/2014
An MPI approach to
building philogenetics trees
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Outline
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
1. Introduzione
 Problema iniziale
 Dataset
2. Soluzione adottata
 Soluzione sequenziale
 Soluzione parallela
o Algoritmo di allineamento
 Algoritmo Needleman-Wunsch
o Calcolo della distanza e algoritmo
 Algoritmo Damerau-Levenshtein
 Sequenziale vs. Parallelo
o Costruzione dell’albero
 output.txt
 Algortimo UPGMA
3. Metodologia di testing
 Metodologia adottata
o Script utilizzati
 Grafici dei risultati
4. Conclusioni
Introduzione
Qual era il problema che ci eravamo
proposti…?
La crescente necessità di scoprire relazioni evolutive tra le
varie componenti biologiche e organismi in relazione alle
scoperte di nuove proteine che devono essere classificate e
inserite all’interno di famiglie proteiche.
Per calcolare relazioni evolutive è necessario confrontare
una sequenza di input con un numero elevato di sequenze,
a volte con il contenuto di un intero database.
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Introduzione
Quindi…
Sviluppare un sistema che permetta di cercare le
sequenze proteiche che mostrano uno score di
allineamento elevato rispetto ad una sequenza
input, all’interno di un database proteico di
dimensioni variabili.
Costruzione dell’albero filogenetico ad esse
relativo .
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Descrizione funzionale del sistema
proposto
La metodologia standard per la costruzione di alberi filogenetici di sequenze
proteiche prevede:
• scelta di sequenze di cui calcolare l’albero filogenetico,
• ottenere uno score tramite un algoritmo di allineamento
• Con metodi basati sulla distanza calcolare l’albero delle proteine considerate.
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Dataset
• Gli algoritmi e le tecniche di allineamento e confronto di proteine si
basano su elaborazioni di stringhe.
• La maggior parte delle banche dati sono fruibili in formato FLAT-file:
Ogni entry è memorizzata in un file di testo generalmente strutturato,
contenente le informazioni. (.FASTA)
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Soluzione sequenziale
Struct Allineamento
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Definizione di una struct Allineamento che costituisce
l’unità computazionale di base utilizzata nell’algoritmo.
Soluzione sequenziale
Algoritmo di Needleman
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Inizializzazione della
matrice
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Soluzione sequenziale
Algoritmo di Needleman (2)
Calcolo della matrice
di scoring
Soluzione sequenziale
Algoritmo di Damerau - Levenshtein
Calcolo della distanza
di Damerau
Levenshtein
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Soluzione sequenziale
Main
Operazioni di
inizializzazione
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Soluzione sequenziale
Main(2)
Calcolo degli
allineamenti
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Soluzione sequenziale
Main(3)
Calcolo della
matrice di
distanza
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
UPGMA
Basato su tre funzioni principali:
- cluster(): effettua la clusterizzazione delle sequenze secondo
una misura basata sulla distanza genetica. Ad ogni passo crea
un nuovo nodo facendo il join delle sequenze con distanza
minore.
- reduceMatrix(): dopo la clusterizzazione ricalcola le distanze di
tutte le sequenze rispetto al nodo appena calcolato e crea una
nuova matrice di dimensioni inferiori.
- drawTree(): al termine della computazione disegna l’albero su
standard output e lo scrive su file.
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Soluzione Parallela
Paradigma di Scatter
Master
P1 P2 P3 P4 Pn
…….
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Soluzione Parallela MPI
Strutture dati
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Struttura dati per
l’allineamento
Struttura dati per
la distanza
Damereau
Struttura dati per
la distanza
Damereau
Soluzione Parallela MPI
Master
‘Serializzazione’
dei dati in input
per lo scattering
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Soluzione Parallela MPI
Master (2)
Scatter/Gather ai
processi figli per il
calcolo
dell’allineamento.
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Soluzione Parallela MPI
Master (3)
Scatter/Gather ai processi
figli per il calcolo
dell’allineamento.
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Soluzione Parallela MPI
Master (3)
Scatter/Gather ai processi
figli per il calcolo
dell’allineamento.
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Soluzione Parallela MPI
Master (3)
Scatter/Gather ai processi
figli per il calcolo
dell’allineamento.
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Soluzione Parallela MPI
Processo figlio
Il processo figlio riceve le
sequenze da elaborare.
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Soluzione Parallela MPI
Processo figlio (2)
Esecuzione di Needlemann
per tutte le sequenze della
share di computazione.
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Soluzione Parallela MPI
Processo figlio (3)
Esecuzione di Needlemann
per tutte le sequenze della
share di computazione.
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Soluzione Parallela MPI
Processo figlio (4)
Sorting delle sequenze
allineate e creazione della
struttura dati toSend da
restituire nel gathering.
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Soluzione Parallela MPI
Processo figlio (5)
Invio dei risultati al
processo padre.
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Output Damerau phase
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Output UPGMA
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Metodologia di Testing
Metodologia adottata
Tests effettuati variando i seguenti parametri:
- # Nodi di computazione: 2, 4, 7
- Job Size: 1 GB, 4 GB, 8 GB
- # Sequenze per l’albero (howmany) = 10, 100
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Risultati su 1 GB
(howmany = 10)
0
2000
4000
6000
8000
10000
12000
1 macchina(2) 2 macchine(4) 4 macchine(8) 7 macchine(14)
Test su 1GB
TEMPO(sec)
• # sequences : 2231326
• # best sequences : 16469
2 macchine: < 1 second - 48 sec
4 macchine: < 1 second - 39 sec
7 macchine: 1 second - 34 sec
LEGENDA
1 macchina: 2 h 58 m 14 sec
2 macchine: 2 h 1 m 17 sec
4 macchine: 56 m 35 sec
7 macchine: 29 m 14 sec
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
0
5000
10000
15000
20000
25000
30000
2 macchine(4) 4 macchine(8) 7 macchine(14)
Test su 4GB
TEMPO(sec)
• # sequences : 8925304
• # best sequences : 62719
2 macchine: < 1 second - 49 sec
4 macchine: < 1 second - 38 sec
7 macchine: < 1 second - 36 sec
LEGENDA
2 macchine: 7 h 5 m 36 sec
4 macchine: 3 h 27 m 19 sec
7 macchine: 1 h 53 m 12 sec
Risultati su 4 GB
(howmany = 10)
0
5000
10000
15000
20000
25000
4 macchine(8) 7 macchine(14)
Test su 8GB
TEMPO(sec)
• # sequence : 17850608
• # best sequence : 117289
LEGENDA
4 macchine: 6 h 42 m 36 sec
7 macchine: 3 h 28 m 22 sec
4 macchine: < 1 second - 45 sec
7 macchine: < 1 second - 40 sec
Risultati su 8 GB
(howmany = 10)
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
0
2000
4000
6000
8000
10000
12000
1 macchina 2 macchine 4 macchine 7 macchine
Test su 1GB
TEMPO(sec)
• # sequences : 2231326
• # best sequences : 160469
2 macchine: 26 sec - 57 sec
4 macchine: 24 sec - 56 sec
7 macchine: 25sec - 52 sec
LEGENDA
1 macchina: 2 h 58 m 29 sec
2 macchine: 2 h 3 m 26 sec
4 macchine: 1 h 0 m 18 sec
7 macchine: 34 m 7 sec
Risultati su 1 GB
(howmany = 100)
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
0
5000
10000
15000
20000
25000
30000
2 macchine 4 macchine 7 macchine
Test su 4GB
TEMPO(sec)
• # sequence : 8925304
• # best sequence : 620719
2 macchine: 23 sec - 55 sec
4 macchine: 26 sec - 51 sec
7 macchine: 24 sec - 49 sec
LEGENDA
2 macchine: 7 h 32 m 50 sec
4 macchine: 3 h 36 m 34sec
7 macchine: 2 h 5m 37 sec
Risultati su 4 GB
(howmany = 100)
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
0
5000
10000
15000
20000
25000
4 macchine 7 macchine
Test su 8GB
TEMPO(sec)
• # sequence : 17850608
• # best sequence : 1170289
LEGENDA
4 macchine: 5 h 32 m 52 sec
7 macchine: 3 h 33 m 58 sec
Risultati su 8 GB
(howmany = 100)
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
4 macchine: 27 sec - 48 sec
7 macchine: 26 sec - 46 sec
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Grafici dei risultati
Processori Speedup Efficienza
4p 2,94 0,73
8p 6,32 0,78
14p 12,18 0,87
0
2
4
6
8
10
12
14
4p 8p 14p
Speedup 1 GB
Speedup 1 GB (10)
Speedup 1 GB (100)
Processori Speedup Efficienza
4p 2,88 0,72
8p 5,90 0,73
14p 10,40 0,74
Howmany = 10 Howmany = 100
Speedup(p) = T(1) / T(p)
Efficienza = Speedup(p)/p
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Grafici dei risultati
Processori Speedup Efficienza
4p 3,22 0,81
8p 6,88 0,86
14p 12,6 0,9
Tempo sequenziale
stimato: 4* T(1GB)
Processori Speedup Efficienza
4p 3,14 0,78
8p 6,60 0,82
14p 11,24 0,81
0
2
4
6
8
10
12
14
4p 8p 14p
Speedup 4 gb
Speedup 4 gb (100)
Speedup 4g (10)
Howmany = 10 Howmany = 100
Speedup(p) = T(1) / T(p)
Efficienza = Speedup(p)/p
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
Grafici dei risultati
Processori Speedup Efficienza
8p 7,08 0,89
14p 13,20 0,95
Tempo sequenziale
stimato: 8* T(1GB)
0
2
4
6
8
10
12
14
8p 14p
Speedup 8GB (10)
Speedup 8GB (100)
Speedup 8GB (10)
Processori Speedup Efficienza
8p 7,04 0,87
14p 12,70 0,91
Howmany = 10 Howmany = 100
Speedup(p) = T(1) / T(p)
Efficienza = Speedup(p)/p
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni
- La soluzione parallela implementata risulta essere scalabile
rispetto a quella sequenziale.
- Lo speedup cresce al crescere della taglia del job di computazione
assegnato.
- Abbiamo scelto di non utilizzare la soluzione parallela per la fase
di Damerau in quanto per un numero di sequenze basso la
comunicazione interprocesso influisce molto.
- Aumentando il numero di sequenze che costituiscono l’albero,
l’overhead della comunicazione interprocesso ha un impatto
maggiore sul tempo totale facendo peggiorare lo speedup.
Conclusioni
Grazie per
l’attenzione
An MPI approach to
building philogenetics trees
An MPI approach to
building
philogenetics trees
Marmo Natasha
Della Rocca
Alessandro
Fazzone Marco
---------------------------
Introduzione
• Problema
• Dataset
Soluzione adottata
• Soluzione
sequenziale
• Soluzione parallela
Metodologia di testing
• Metodologia
adottata
• Grafici dei risultati
Conclusioni

More Related Content

Similar to An MPI approach to build philogenetics trees

CRADLE: Clustering by RAndom minimization Dispersion based LEarning - Un algo...
CRADLE: Clustering by RAndom minimization Dispersion based LEarning - Un algo...CRADLE: Clustering by RAndom minimization Dispersion based LEarning - Un algo...
CRADLE: Clustering by RAndom minimization Dispersion based LEarning - Un algo...
Leonardo Di Donato
 
Monitoraggio di applicazioni software mediante modelli di Markov - slides
Monitoraggio di applicazioni software mediante modelli di Markov - slidesMonitoraggio di applicazioni software mediante modelli di Markov - slides
Monitoraggio di applicazioni software mediante modelli di Markov - slides
rkjp
 
Laboratorio Di Basi Di Dati 01 Introduzione
Laboratorio Di  Basi Di  Dati 01 IntroduzioneLaboratorio Di  Basi Di  Dati 01 Introduzione
Laboratorio Di Basi Di Dati 01 Introduzione
guestbe916c
 

Similar to An MPI approach to build philogenetics trees (20)

Definizione e comparazione dei modelli di classificazione con Scikit-Learn
Definizione e comparazione dei modelli di classificazione con Scikit-LearnDefinizione e comparazione dei modelli di classificazione con Scikit-Learn
Definizione e comparazione dei modelli di classificazione con Scikit-Learn
 
3DD 1e Salomone
3DD 1e Salomone3DD 1e Salomone
3DD 1e Salomone
 
CRADLE: Clustering by RAndom minimization Dispersion based LEarning - Un algo...
CRADLE: Clustering by RAndom minimization Dispersion based LEarning - Un algo...CRADLE: Clustering by RAndom minimization Dispersion based LEarning - Un algo...
CRADLE: Clustering by RAndom minimization Dispersion based LEarning - Un algo...
 
tesi
tesitesi
tesi
 
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
Progettazione e sviluppo di un sistema di visione artificiale per il monitora...
 
Presentazione ic progetto_b
Presentazione ic progetto_bPresentazione ic progetto_b
Presentazione ic progetto_b
 
Introducing PRSs and Drools (in Italian)
Introducing PRSs and Drools (in Italian)Introducing PRSs and Drools (in Italian)
Introducing PRSs and Drools (in Italian)
 
Thesis Maggioni Slide it
Thesis Maggioni Slide itThesis Maggioni Slide it
Thesis Maggioni Slide it
 
Thesis Magnone Slides IT
Thesis Magnone Slides ITThesis Magnone Slides IT
Thesis Magnone Slides IT
 
Presentazione Roberto Pasini Laurea Triennale Ingegneria Elettronica e Inform...
Presentazione Roberto Pasini Laurea Triennale Ingegneria Elettronica e Inform...Presentazione Roberto Pasini Laurea Triennale Ingegneria Elettronica e Inform...
Presentazione Roberto Pasini Laurea Triennale Ingegneria Elettronica e Inform...
 
Progettazione e Sviluppo di un Sistema per Migliorare il Codice Generato da u...
Progettazione e Sviluppo di un Sistema per Migliorare il Codice Generato da u...Progettazione e Sviluppo di un Sistema per Migliorare il Codice Generato da u...
Progettazione e Sviluppo di un Sistema per Migliorare il Codice Generato da u...
 
Monitoraggio di applicazioni software mediante modelli di Markov - slides
Monitoraggio di applicazioni software mediante modelli di Markov - slidesMonitoraggio di applicazioni software mediante modelli di Markov - slides
Monitoraggio di applicazioni software mediante modelli di Markov - slides
 
Prelaurea Buriola
Prelaurea BuriolaPrelaurea Buriola
Prelaurea Buriola
 
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
 
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
Analisi e realizzazione di uno strumento per la verifica di conformità su sis...
 
Tesina di fine seminario sas ed sql
Tesina di fine seminario sas ed sqlTesina di fine seminario sas ed sql
Tesina di fine seminario sas ed sql
 
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
Sintesi automatica di una metrica di similarità tra stringhe tramite tecniche...
 
Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010
Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010
Stefano Bragaglia MSc Thesis, awarded as Best Italian thesis in AI 2009/2010
 
Laboratorio Di Basi Di Dati 01 Introduzione
Laboratorio Di  Basi Di  Dati 01 IntroduzioneLaboratorio Di  Basi Di  Dati 01 Introduzione
Laboratorio Di Basi Di Dati 01 Introduzione
 
PASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL ServerPASS Virtual Chapter - Unit Testing su SQL Server
PASS Virtual Chapter - Unit Testing su SQL Server
 

An MPI approach to build philogenetics trees

  • 1. Alessandro Della Rocca alexdellarocca AT alice.it Marco Fazzone fazzone.marco AT gmail.com Natasha Marmo natasha87_n AT libero.it Università degli Studi di Salerno Programmazione Concorrente e Parallela A.A. 2013/2014 An MPI approach to building philogenetics trees An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 2. Outline An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni 1. Introduzione  Problema iniziale  Dataset 2. Soluzione adottata  Soluzione sequenziale  Soluzione parallela o Algoritmo di allineamento  Algoritmo Needleman-Wunsch o Calcolo della distanza e algoritmo  Algoritmo Damerau-Levenshtein  Sequenziale vs. Parallelo o Costruzione dell’albero  output.txt  Algortimo UPGMA 3. Metodologia di testing  Metodologia adottata o Script utilizzati  Grafici dei risultati 4. Conclusioni
  • 3. Introduzione Qual era il problema che ci eravamo proposti…? La crescente necessità di scoprire relazioni evolutive tra le varie componenti biologiche e organismi in relazione alle scoperte di nuove proteine che devono essere classificate e inserite all’interno di famiglie proteiche. Per calcolare relazioni evolutive è necessario confrontare una sequenza di input con un numero elevato di sequenze, a volte con il contenuto di un intero database. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 4. Introduzione Quindi… Sviluppare un sistema che permetta di cercare le sequenze proteiche che mostrano uno score di allineamento elevato rispetto ad una sequenza input, all’interno di un database proteico di dimensioni variabili. Costruzione dell’albero filogenetico ad esse relativo . An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 5. Descrizione funzionale del sistema proposto La metodologia standard per la costruzione di alberi filogenetici di sequenze proteiche prevede: • scelta di sequenze di cui calcolare l’albero filogenetico, • ottenere uno score tramite un algoritmo di allineamento • Con metodi basati sulla distanza calcolare l’albero delle proteine considerate. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 6. Dataset • Gli algoritmi e le tecniche di allineamento e confronto di proteine si basano su elaborazioni di stringhe. • La maggior parte delle banche dati sono fruibili in formato FLAT-file: Ogni entry è memorizzata in un file di testo generalmente strutturato, contenente le informazioni. (.FASTA) An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 7. Soluzione sequenziale Struct Allineamento An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni Definizione di una struct Allineamento che costituisce l’unità computazionale di base utilizzata nell’algoritmo.
  • 8. Soluzione sequenziale Algoritmo di Needleman An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni Inizializzazione della matrice
  • 9. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni Soluzione sequenziale Algoritmo di Needleman (2) Calcolo della matrice di scoring
  • 10. Soluzione sequenziale Algoritmo di Damerau - Levenshtein Calcolo della distanza di Damerau Levenshtein An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 11. Soluzione sequenziale Main Operazioni di inizializzazione An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 12. Soluzione sequenziale Main(2) Calcolo degli allineamenti An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 13. Soluzione sequenziale Main(3) Calcolo della matrice di distanza An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 14. UPGMA Basato su tre funzioni principali: - cluster(): effettua la clusterizzazione delle sequenze secondo una misura basata sulla distanza genetica. Ad ogni passo crea un nuovo nodo facendo il join delle sequenze con distanza minore. - reduceMatrix(): dopo la clusterizzazione ricalcola le distanze di tutte le sequenze rispetto al nodo appena calcolato e crea una nuova matrice di dimensioni inferiori. - drawTree(): al termine della computazione disegna l’albero su standard output e lo scrive su file. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 15. Soluzione Parallela Paradigma di Scatter Master P1 P2 P3 P4 Pn ……. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 16. Soluzione Parallela MPI Strutture dati An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni Struttura dati per l’allineamento Struttura dati per la distanza Damereau Struttura dati per la distanza Damereau
  • 17. Soluzione Parallela MPI Master ‘Serializzazione’ dei dati in input per lo scattering An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 18. Soluzione Parallela MPI Master (2) Scatter/Gather ai processi figli per il calcolo dell’allineamento. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 19. Soluzione Parallela MPI Master (3) Scatter/Gather ai processi figli per il calcolo dell’allineamento. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 20. Soluzione Parallela MPI Master (3) Scatter/Gather ai processi figli per il calcolo dell’allineamento. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 21. Soluzione Parallela MPI Master (3) Scatter/Gather ai processi figli per il calcolo dell’allineamento. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 22. Soluzione Parallela MPI Processo figlio Il processo figlio riceve le sequenze da elaborare. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 23. Soluzione Parallela MPI Processo figlio (2) Esecuzione di Needlemann per tutte le sequenze della share di computazione. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 24. Soluzione Parallela MPI Processo figlio (3) Esecuzione di Needlemann per tutte le sequenze della share di computazione. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 25. Soluzione Parallela MPI Processo figlio (4) Sorting delle sequenze allineate e creazione della struttura dati toSend da restituire nel gathering. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 26. Soluzione Parallela MPI Processo figlio (5) Invio dei risultati al processo padre. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 27. Output Damerau phase An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 28. Output UPGMA An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 29. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni Metodologia di Testing Metodologia adottata Tests effettuati variando i seguenti parametri: - # Nodi di computazione: 2, 4, 7 - Job Size: 1 GB, 4 GB, 8 GB - # Sequenze per l’albero (howmany) = 10, 100
  • 30. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni Risultati su 1 GB (howmany = 10) 0 2000 4000 6000 8000 10000 12000 1 macchina(2) 2 macchine(4) 4 macchine(8) 7 macchine(14) Test su 1GB TEMPO(sec) • # sequences : 2231326 • # best sequences : 16469 2 macchine: < 1 second - 48 sec 4 macchine: < 1 second - 39 sec 7 macchine: 1 second - 34 sec LEGENDA 1 macchina: 2 h 58 m 14 sec 2 macchine: 2 h 1 m 17 sec 4 macchine: 56 m 35 sec 7 macchine: 29 m 14 sec
  • 31. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni 0 5000 10000 15000 20000 25000 30000 2 macchine(4) 4 macchine(8) 7 macchine(14) Test su 4GB TEMPO(sec) • # sequences : 8925304 • # best sequences : 62719 2 macchine: < 1 second - 49 sec 4 macchine: < 1 second - 38 sec 7 macchine: < 1 second - 36 sec LEGENDA 2 macchine: 7 h 5 m 36 sec 4 macchine: 3 h 27 m 19 sec 7 macchine: 1 h 53 m 12 sec Risultati su 4 GB (howmany = 10)
  • 32. 0 5000 10000 15000 20000 25000 4 macchine(8) 7 macchine(14) Test su 8GB TEMPO(sec) • # sequence : 17850608 • # best sequence : 117289 LEGENDA 4 macchine: 6 h 42 m 36 sec 7 macchine: 3 h 28 m 22 sec 4 macchine: < 1 second - 45 sec 7 macchine: < 1 second - 40 sec Risultati su 8 GB (howmany = 10) An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 33. 0 2000 4000 6000 8000 10000 12000 1 macchina 2 macchine 4 macchine 7 macchine Test su 1GB TEMPO(sec) • # sequences : 2231326 • # best sequences : 160469 2 macchine: 26 sec - 57 sec 4 macchine: 24 sec - 56 sec 7 macchine: 25sec - 52 sec LEGENDA 1 macchina: 2 h 58 m 29 sec 2 macchine: 2 h 3 m 26 sec 4 macchine: 1 h 0 m 18 sec 7 macchine: 34 m 7 sec Risultati su 1 GB (howmany = 100) An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 34. 0 5000 10000 15000 20000 25000 30000 2 macchine 4 macchine 7 macchine Test su 4GB TEMPO(sec) • # sequence : 8925304 • # best sequence : 620719 2 macchine: 23 sec - 55 sec 4 macchine: 26 sec - 51 sec 7 macchine: 24 sec - 49 sec LEGENDA 2 macchine: 7 h 32 m 50 sec 4 macchine: 3 h 36 m 34sec 7 macchine: 2 h 5m 37 sec Risultati su 4 GB (howmany = 100) An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni
  • 35. 0 5000 10000 15000 20000 25000 4 macchine 7 macchine Test su 8GB TEMPO(sec) • # sequence : 17850608 • # best sequence : 1170289 LEGENDA 4 macchine: 5 h 32 m 52 sec 7 macchine: 3 h 33 m 58 sec Risultati su 8 GB (howmany = 100) An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni 4 macchine: 27 sec - 48 sec 7 macchine: 26 sec - 46 sec
  • 36. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni Grafici dei risultati Processori Speedup Efficienza 4p 2,94 0,73 8p 6,32 0,78 14p 12,18 0,87 0 2 4 6 8 10 12 14 4p 8p 14p Speedup 1 GB Speedup 1 GB (10) Speedup 1 GB (100) Processori Speedup Efficienza 4p 2,88 0,72 8p 5,90 0,73 14p 10,40 0,74 Howmany = 10 Howmany = 100 Speedup(p) = T(1) / T(p) Efficienza = Speedup(p)/p
  • 37. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni Grafici dei risultati Processori Speedup Efficienza 4p 3,22 0,81 8p 6,88 0,86 14p 12,6 0,9 Tempo sequenziale stimato: 4* T(1GB) Processori Speedup Efficienza 4p 3,14 0,78 8p 6,60 0,82 14p 11,24 0,81 0 2 4 6 8 10 12 14 4p 8p 14p Speedup 4 gb Speedup 4 gb (100) Speedup 4g (10) Howmany = 10 Howmany = 100 Speedup(p) = T(1) / T(p) Efficienza = Speedup(p)/p
  • 38. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni Grafici dei risultati Processori Speedup Efficienza 8p 7,08 0,89 14p 13,20 0,95 Tempo sequenziale stimato: 8* T(1GB) 0 2 4 6 8 10 12 14 8p 14p Speedup 8GB (10) Speedup 8GB (100) Speedup 8GB (10) Processori Speedup Efficienza 8p 7,04 0,87 14p 12,70 0,91 Howmany = 10 Howmany = 100 Speedup(p) = T(1) / T(p) Efficienza = Speedup(p)/p
  • 39. An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni - La soluzione parallela implementata risulta essere scalabile rispetto a quella sequenziale. - Lo speedup cresce al crescere della taglia del job di computazione assegnato. - Abbiamo scelto di non utilizzare la soluzione parallela per la fase di Damerau in quanto per un numero di sequenze basso la comunicazione interprocesso influisce molto. - Aumentando il numero di sequenze che costituiscono l’albero, l’overhead della comunicazione interprocesso ha un impatto maggiore sul tempo totale facendo peggiorare lo speedup. Conclusioni
  • 40. Grazie per l’attenzione An MPI approach to building philogenetics trees An MPI approach to building philogenetics trees Marmo Natasha Della Rocca Alessandro Fazzone Marco --------------------------- Introduzione • Problema • Dataset Soluzione adottata • Soluzione sequenziale • Soluzione parallela Metodologia di testing • Metodologia adottata • Grafici dei risultati Conclusioni