4/10/2005 Diego Puppin ISTI-CNR Sequence alignment... in parallel!! Diego Puppin.

Slides:



Advertisements
Presentazioni simili
Allineamento Pairwise e Multiplo di Bio-Sequenze.
Advertisements

UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA
Meccanismi di IPC Problemi classici di IPC
1 Introduzione ai calcolatori Parte II Software di base.
Gestione della memoria centrale
Massa Laura Mela Enrica
Gestione del processore
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
1 Processi e Thread Meccanismi di IPC (1). 2 Comunicazioni fra processi/thread Processi/thread eseguiti concorrentemente hanno bisogno di interagire per.
FEM 2010, Roma 13 dicembre 2010 S. Ventre et all, Calcolo Elettromagnetico Intensivo per la soluzione di problemi basati su formulazione integrale Calcolo.
INTRODUZIONE AI SISTEMI OPERATIVI
Introduzione al calcolo parallelo SISTEMI INFORMATIVI AZIENDALI Pierpaolo Guerra Anno accademico 2009/2010.
1 14. Verifica e Validazione Come assicurarsi che il software corrisponda alle necessità dellutente? Introdurremo i concetti di verifica e validazione.
I programmi di ricerca in banche dati possono essere oppure essere utilizzabili via web residenti in un calcolatore di cui siamo proprietari o utenti.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
File.
Corso di Informatica (Programmazione)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Problemi e algoritmi Anno Accademico 2009/2010.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
Disco magnetico (2) Ciascuna traccia è divisa in settori
CONTROLLO DI SUPPLY CHAIN MEDIANTE TECNICHE H-INFINITO E NEGOZIAZIONE
Struttura dei sistemi operativi (panoramica)
Xscale Nicola Rebagliati 2001s135. Cose Xscale Xscale è una microarchitettura per processori che fornisce ottime prestazioni con bassi consumi energetici.
Biologia computazionale A.A semestre II U NIVERSITÀ DEGLI STUDI DI MILANO Docente: Giorgio Valentini Istruttore: Matteo Re p4p4 Programmazione.
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
Unità Didattica 2 I Linguaggi di Programmazione
1) Algoritmi di allineamento 2) Algoritmi di ricerca in database
Bioinformatica Andrea G. B. Tettamanzi.
Sistemi Operativi SCHEDULING DELLA CPU.
Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
Fondamenti di Informatica1 Ripetizioni di segmenti di codice Spesso è necessario ripetere più volte uno stesso segmento dell'algoritmo (e.g. I/O, elaborazioni.
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
Allineamento Metodo bioinformatico che date due o più sequenze ne mette in evidenza similarità/diversità, supponendo che le sequenze analizzate abbiano.
Algoritmi di String Matching
ALLINEAMENTI GLOBALI E LOCALI
Elementi di Informatica di base
STRUTTURA GENERALE DI UN ELABORATORE
Passo 3: calcolo del costo minimo
Algoritmi e Strutture Dati
Docente: Dr. Stefania Bortoluzzi Dipartimento di Biologia
I programmi di ricerca in banche dati possono essere
Classificazione (aka Cluster Analysis)
Threads.
A.A CORSO INTEGRATO DI INFORMATICA E BIOINFORMATICA per il CLT in BIOLOGIA MOLECOLARE Scuola di Scienze, Università di Padova Docenti: Dr.
Migliorare le prestazioni delle cache
Bus Interface Unit L1 I-CacheL1 D-Cache Fetch/Decode unit Dispatch/Execute unit Retire unit Instruction Pool System Bus L2 Cache 256 KB integrata 4 cicli.
Vettori (a una dimensione)
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Applicazione della gerarchia di memoria –Memoria cache fra la CPU e la memoria centrale Il processore vedrà.
SCHEDA INFORMATIVA DI UNITÀ. Introduzione Esigenze di memoria per un sistema di calcolo –Dati –Istruzioni Obiettivi –Raggiungere i migliori compromessi.
Esempio di utilizzo del programma BLAST disponibile all’NCBI
Gestione del processore (Scheduler)
Corso di laurea specialistica magistrale Biotecnologia aula 6a ore corso di genomica a.a. 2009/10 lezione martedì 15 Dicembre 2009 lezione.
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.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
1 Alcuni esempi di dispositivi Disco rigido, RAID, video.
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
WORKING WITH BIOSEQUENCES Alignments and similarity search.
Allineamento di sequenze
ALLINEAMENTO DI SEQUENZE
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
“ Pseudocodice ” Un programma per computer lavorerà su in insieme di “ variabili ” contenenti i dati del problema, soluzioni intermedie, soluzioni finali.
Psicometria modulo 1 Scienze tecniche e psicologiche Prof. Carlo Fantoni Dipartimento di Scienze della Vita Università di Trieste Campionamento.
HARDWARE (2). MEMORIE Due classi di memoria MEMORIA CENTRALE –media capacità - ottima velocità MEMORIA DI MASSA elevata capacità - bassa velocità.
Allineamenti Multipli Problema Durante l’evoluzione i residui importanti per il mantenimento della struttura e della funzione sono conservati. Come riconoscere.
Transcript della presentazione:

4/10/2005 Diego Puppin ISTI-CNR Sequence alignment... in parallel!! Diego Puppin

4/10/2005 Diego Puppin ISTI-CNR Oggi parliamo di... Introduzione: Allineamento di sequenze – Algoritmi basati su Programmazione Dinamica – Algoritmo Smith-Waterman Micro-parallelismo – Parallelismo intra-sequenza / inter-sequenza Soluzioni parallele / distribuite – Multithreaded / Memoria Condivisa Conclusioni

4/10/2005 Diego Puppin ISTI-CNR OUR FEATURE PRESENTATION Matrici di profilo Scheduling a fronte d'onda Funzione max senza salti Approccio ottimistico ai gap Interi calcolati come floating point Scheduling multi-threaded interleaved

4/10/2005 Diego Puppin ISTI-CNR L'allineamento di sequenze Strumento essenziale in bio-informatica – Alcune scoperte sono risultato di allineamenti Al cuore di molti problemi – Ricostruzione di alberi filo-genetici – Scoperta di geni – Somiglianza tra proteine

4/10/2005 Diego Puppin ISTI-CNR

4/10/2005 Diego Puppin ISTI-CNR Applicazioni Comparative analysis of gene clusters Looking for missing genes Studying horizontal gene transfer Studying evolution of metabolism Designing new organisms

4/10/2005 Diego Puppin ISTI-CNR Crescente disponibilita' di dati Trascritto il DNA di interi organismi – Incluso l'uomo!! Archivi come GenBank/EMBL/DDDBJ raddoppiano ogni 15 mesi – Alcuni liberamente accessibili Sfidano la legge di Moore! – Servono migliori algoritmi

4/10/2005 Diego Puppin ISTI-CNR... i dati! – Major Seq. Repositories (7) – Comparative Genomics (7) – Gene Expression (19) – Gene ID & Structure (31) – Genetic & Physical Maps (9) – Genomic (49) – Intermolecular Interactions (5) – Metabolic Pathways & Cellular Regulation (12) – Mutation (34) –Pathology (8) –Protein (51) –Protein Sequence Motifs (18) –Proteome Resources (8) –Retrieval Systems & DB Structure (3) –RNA Sequences (26) –Structure (32) –Transgenics (2) –Varied Biomedical (18) Numero di basi di dati per settore, da: Baxevanis, A.D Nucleic Acids Research 30: 1-12.

4/10/2005 Diego Puppin ISTI-CNR Algoritmi esatti di allineamento Allineamento = determinare una sequenza (la piu' probabile) di sostituzioni, inserimenti ed eliminazioni che ha causato la trasformazione di una sequenza in un'altra Indicare per ogni base in A, quale le corrisponde in B (oppure GAP) Ogni operazione ha un costo (~probabilita') codificate nell'esperienza del ricercatore

4/10/2005 Diego Puppin ISTI-CNR Modelli di costo Incorporano in maniera sistematica l'esperienza: – Matrice di sostituzione (x, y) Standard: BLOSUM, PAM – Penalita' di gap Vari modelli (1-1, affine) L'algoritmo e' independente dal modello di costo – Ma cambia la qualita' del risultato Problema ortogonale – oggi non ne parliamo!

4/10/2005 Diego Puppin ISTI-CNR Allineamento L'algoritmo cerca l'allineamento che da' il minimo costo di trasformazione

4/10/2005 Diego Puppin ISTI-CNR Algoritmo di programmazione dinamica Matrice di somiglianza – Per (i,j) da' il costo del miglior allineamento tra A[1..i-1] e B[1..j-1] Programmazione dinamica a partire da (0, 0) Massimo tra tre opzioni: – Allinea A[i] con B[j] (costo sostituzione) – Allinea A[i] con GAP in B – Allinea B[j] con GAP in A

4/10/2005 Diego Puppin ISTI-CNR Programmazione dinamica (2) Estendibile a piu' dimensioni –...ed ottimizzato

4/10/2005 Diego Puppin ISTI-CNR Storia 1970, presentato da Needleman-Wunsch (ricerca globale) 1981, Smith-Waterman per ricerca locale 1982, ottimizzazioni di Gotoh

4/10/2005 Diego Puppin ISTI-CNR Altre soluzioni Algoritmi basati su euristiche – FASTA, BLAST, velocita' 40x – Soluzioni approx. a volte imprecise – Non riconoscono allineamenti deboli Hardware ad-hoc – Molto costoso, poco diffuso

4/10/2005 Diego Puppin ISTI-CNR Micro-Parallelismo

4/10/2005 Diego Puppin ISTI-CNR Micro-Parallelismo Idea: sfruttare il parallelismo all'interno di un processore (nativo o simulato) Necessario codice di backup a volte!

4/10/2005 Diego Puppin ISTI-CNR Ordinamento a fronte d'onda Wavefront scheduling Riorganizza il calcolo mettendo in evidenza dati independenti Ristruttura il ciclo – Migliora l'uso della cache Permette di ridurre la richiesta di memoria – Due sole righe se non dobbiamo ricostruire l'allineamento

4/10/2005 Diego Puppin ISTI-CNR

4/10/2005 Diego Puppin ISTI-CNR Parallelismo Inter-Sequenza Alpen et al. Eseguono in parallelo allineamenti IBM Power2 – 2 allineamenti, 20% piu' veloce Intel i860 – istruzioni grafiche su registri lunghi, – fornisce min – 4 allineamenti, 6.41 speed-up

4/10/2005 Diego Puppin ISTI-CNR Interi -> Virgola mobile Su IBM Power2, usano virgola mobile (veloce) per implementare l'algoritmo – Piccoli problemi di arrotondamento – 3.46 speed-up

4/10/2005 Diego Puppin ISTI-CNR Micro-Parallelismo su un Pentium!! SWMMX, di Rognes e Seeberg Usano MMX di Pentium III Varie ottimizzazioni: – Approccio ottimistico al gap (SWAT2) – Uso di partizioni verticali – 8 caselle calcolate insieme – Matrice di profilo – Ottimizzazioni in genere

4/10/2005 Diego Puppin ISTI-CNR

4/10/2005 Diego Puppin ISTI-CNR Matrice di profilo Invece di consultare una tabella – cost (x, y) si accede una tabella – cost (posx, y) Il profilo si accede in sequenza (cache) – prefetching della colonna cost(pos x+1) E' riutilizzabile per fare analisi multiple

4/10/2005 Diego Puppin ISTI-CNR Approccio ott. al gap Se il costo del gap e' alto, i gap saranno rari Con buona probabilita', i valori N e W non contribuiscono al massimo valore Le righe sono indipendenti! Serve codice di backup per verificare e correggere

4/10/2005 Diego Puppin ISTI-CNR Risultati 13x rispetto SW non-ottimizzato 6x rispetto SW ottimizzato Confrontabile con FASTA/BLAST a massima precisione (ancora approssimati)

4/10/2005 Diego Puppin ISTI-CNR

4/10/2005 Diego Puppin ISTI-CNR

4/10/2005 Diego Puppin ISTI-CNR Ogni trucco e' valido MAX(x,y) senza salto!!!! MAX(x,y) x -= y t = (x >> (sizeof(x) – 1)) x &= ~t x += y

4/10/2005 Diego Puppin ISTI-CNR MicroPar su Workstation Wozniak usa le istruzioni grafiche su ULTRA SPARC – riorganizza l'ordine del calcolo – esegue il calcolo su 8 righe alla volta – max senza salti! – 2x speed-up su un singolo processore – NON usa matrici di profilo, gap ottimistici etc.

4/10/2005 Diego Puppin ISTI-CNR Multi-threading e Memoria Condivisa

4/10/2005 Diego Puppin ISTI-CNR Soluzione multi-threaded Martins et al. similarity matrix (SM) e' divisa in blocchi – Riduce le comunicazioni assegnati a thread (ciclicamente) – Bilanciamento di carico EARTH system, implementato su MANNA, SP2, Sun SMP, Beowulf

4/10/2005 Diego Puppin ISTI-CNR Distribuzione ciclica, a blocchi

4/10/2005 Diego Puppin ISTI-CNR

4/10/2005 Diego Puppin ISTI-CNR Soluzione su memoria condivisa (allineamento locale) Melo et al. usano DSM JIAJIA Usano ordinamento a ondate, bastano due righe di memoria Se il punteggio dell'allineamento aumenta, miglioro l'allineamento locale, altrimenti devo ricominciare

4/10/2005 Diego Puppin ISTI-CNR Risultati Speed-up di 4.58x su 8 macchine Efficienza simile a MT, ma modello piu' semplice e HW standard

4/10/2005 Diego Puppin ISTI-CNR Conclusioni

4/10/2005 Diego Puppin ISTI-CNR Conclusioni L'allineamento e' importante La quantita' di dati cresce piu' velocemente della velocita' dell'HW (crescita super- Moore!!!) => deve aumentare l'efficacia degli algoritmi Gli algoritmi approssimati spesso non sono sufficienti (soddisfacenti)

4/10/2005 Diego Puppin ISTI-CNR Conclusioni (2) Abbiamo mostrato come affrontare l'algoritmo esatto – Fare in parallo allineamenti – Migliorare il singolo all. con matrice profilo, approccio ottimistico al gap, max senza salti... – Soluzioni multi-threaded o memoria condisiva Prestazioni confrontabili con gli alg. approssimati