SlideShare una empresa de Scribd logo
Paralelización del
algoritmo de
Smith-Waterman
Luis Belloch Gómez
Bioinformática, Mayo 2010
Master Computación Paralela y Distribuida
BLAST y similares son más rápidos, pero pueden no
          detectar algunas alineaciones.


Smith-Waterman es más preciso, pero su ejecución
             es mucho más lenta.
-   H    E    A    G    A    W    G    H    E    E

              -   0   0    0    0    0    0    0    0    0    0    0
)
              P   0   0    0    0    0    0    0    0    0    0    0

              A   0   0    0    5    0    5    0    0    0    0    0

              W   0   0    0    0    2    0    20   12   4    0    0

              H   0   10   2    0    0    0    12   18   22   14   6

              E   0   2    16   8    0    0    4    10   18   21   20

              A   0   0    8    21   13   5    0    4    10   20   27

              E   0   0    6    13   18   12   4    0    4    16   26




            1. Construcción de la matriz de puntuación.
            2. Recorrido inverso a partir del máximo.
    E   F
Para poder ejecutar en paralelo es necesario saber
        qué dependencias de datos existen
E      0       0   6    13    18   12   4   0       4


  Análisis de dependencias

                                                     -   H

                                                 -   0   0
             A(i-1,j-1)     A(i-1,j)
                                                 P   0   0

                                                 A   0   0
             A(i,j-1)       A(i,j)
                                                 W   0   0

                                                 H   0   10

                                                 E   0   2

Cada elemento depende de su fila superior
                                       A             0   0
         y su columna izquierda.       E             0   0
Análisis de dependencias
               P1        P2

               A          B


               B          C



        Si ordenáramos la ejecución,
los elemento B pueden ejecutarse en paralelo
F   G   H        I    J   K




                     Ejecución por bloques
                          -   H    E    A    G    A    W    G    H    E    E

                      -   0   0    0    0    0    0    0    0    0    0    0

                      P   0   0    0    0    0    0    0    0    0    0    0

            P1        A   0   0    0    5    0    5    0    0    0    0    0

                      W   0   0    0    0    2    0    20   12   4    0    0

                      H   0   10   2    0    0    0    12   18   22   14   6

            P2        E   0   2    16   8    0    0    4    10   18   21   20

                      A   0   0    8    21   13   5    0    4    10   20   27

            P3        E   0   0    6    13   4    10   4    0    4    16   26




            Para evitar un envío excesivo de datos,
                se divide la matriz en bloques
                          -   H    E    A    G    A    W    G    H    E    E

                      -   0   0    0    0    0    0    0    0    0    0    0

                      P   0   0    0    0    0    0    0    0    0    0    0
P2    E   0   2    16   8    0    0    4    10   18   21   20

          A   0   0    8    21   13   5    0    4    10   20   27

    P3
         Ejecución por bloques
          E   0   0    6    13   4    10   4    0    4    16   26




              -   H    E    A    G    A    W    G    H    E    E

          -   0   0    0    0    0    0    0    0    0    0    0

          P   0   0    0    0    0    0    0    0    0    0    0

    P1    A   0   0    0    5    0    5    0    0    0    0    0
                                                                    envío de datos
          W   0   0    0    0    2    0    20   12   4    0    0       de P1 a P2
          H   0   10   2    0    0    0    12   18   22   14   6

   P2     E   0   2    16   8    0    0    4    10   18   21   20
                                                                    envío de datos
          A   0   0    8    21   13   5    0    4    10   20   27      de P3 a P4

   P3     E   0   0    6    13   4    10   4    0    4    16   26




Cada proceso comparte su última fila con el resto
A        0           0       8    21      13          5   0   4   10   20   27
                                E   0    0        6     13 18 12   4  0   4   16 26
                                              E        0   0  6  13 18 12   4   0  4                                 16   26



                Ejecución por bloques

B   C   A D B   E C   F D       E   F
                                                      P1                       P1
C   D   B E C   F D   G E       F   G

        C F D                                         P2                       P2
D   E           G E   H F       G   H

E   F   D G E   H F   I G       H   I
                                                      P3                       P3
F   G   E H F   I G   J H       I   J

        F I G                                         P4                       P4
G   H           J H   K I       J   K




    La ejecución se realiza en cascada, como máximo
        existirán max(c,f) procesos en paralelo
                                    -    H    E            A       G       A        W       G       H   E   E
                      -     H   E    A    G       A            W       G       H        E       E
                                -   0    0    0            0       0       0        0       0       0   0   0
Detalles Implementación
         Paradigma: Memoria Distribuida.
            Desarrollado en C & MPI.
  La matriz de puntuación es un vector de c x f
        enteros, contiguos en memoria.
 En lugar de almacenar la matriz de dirección por
separado, se empaqueta en los dos bits superiores.

          00          bits 29 a 0
Entorno de pruebas
        Quadcluster del DSIC
       SGI Altix XE, 4 nodos


             Cada nodo
2 Intel Xeon Quadcore 5365 (64 bits)
          8 cores por nodo
             16 GB RAM


  Total 32 procesadores (nucleos)
Estructura de pruebas
El coste del algoritmo está en la construcción de la
                matriz de puntuación.
     Secuencias de 100, 3K y 30K elementos,
              sacadas de Uniprot.

      HBA_HUMAN.fasta
                                  142 x 147
      HBB_HUMAN.fasta

      FBN2_HUMAN.fasta
                                2.912 x 2.907
      FBN2_MOUSE.fasta

     TITIN_HUMAN.fasta
                               34.350 x 35.213
     TITIN_MOUSE.fasta
Coste Espacial

 Una secuencia de 30K elementos produce una
matriz de 30K x 30K = 900 millones de elementos.


            900 x 4bytes ≅ 3.35GB


   Repartidos entre 32 procesadores, cada uno
construye una matriz de 30K x (30K/32) ≅ 100MB
Resultados secuencial


icc test2.c util.c sw.c -o test2 -std=c99 -O3
./test2
Prueba de rendimiento secuencial (matriz puntuación   solo).
t25a.s   t25b.s    la:    25 lb:     25   it:1000     tst: 1   T:     0.01   ms
t100a.s t100b.s    la:   140 lb:    140   it:1000     tst: 1   T:     0.16   ms
t3Ka.s   t3Kb.s    la: 2912 lb: 2907      it:1        tst: 1   T:    75.00   ms
t30Ka.s t30Kb.s    la: 34350 lb: 35213    it:1        tst: 1   T: 11000.00   ms
Resultados paralelo
     TITIN HumanMouse, 34Kx35K elementos
         4.5GB total, 140MB por proceso




np     ts       tp            Sp            Ep
 4       11     2,641         4,165         1,041
 8       11     1,365         8,059         1,007
16       11     0,709        15,507         0,969
24       11     0,493        22,324         0,930
32       11     0,389        28,292         0,884
                                          * tiempos en seg.
4            11   2,64114     4,16     4,00       1,04    1,00
  8            11   1,36494     8,06     8,00       1,01    1,00
  16
  24
  32
               11
               11
               11
                    Speed Up
                    0,70934
                    0,49275
                    0,38880
                               15,51
                               22,32
                               28,29
                                        16,00
                                        24,00
                                        32,00
                                                    0,97
                                                    0,93
                                                    0,88
                                                            1,00
                                                            1,00
                                                            1,00


Tiempo del mejor algoritmo secuencial frente al
     tiempo del paralelo (sp = t1 / tp)
       40,00
       35,00
       30,00
       25,00                                        28,29

       20,00                               22,32
       15,00
                                15,51
       10,00
        5,00          8,06

          0 4,16
             4          8        16         24       32

                    Speed Up              Sp ref.
0                   4           11   2,641     4,165        1,041
0                   8           11   1,365     8,059        1,007
0                   16          11   0,709    15,507        0,969
0
0
                    24
                    32
                          Eficiencia
                                11
                                11
                                     0,493
                                     0,389
                                              22,324
                                              28,292
                                                            0,930
                                                            0,884




    Grado de utilización del sistema (ep = sp/p)
        1,10


        1,00 1,04
                         1,01
                                       0,97
        0,90                                           0,93
                                                                    0,88

        0,80


        0,70
               4          8             16             24           32

                         Eficiencia                Ep ref.
Conclusiones


La paralelización funciona mejor con tamaños de
problema grandes, el algoritmo secuencial se las
         arregla para secuencias cortas.


          Posibles trabajos futuros:
   Memoria compartida o sistemas híbridos.
Paralelización del algoritmo de Smith-Waterman

Más contenido relacionado

Destacado

Fisiogramas
FisiogramasFisiogramas
Fisiogramas
Elisascp
 
CV Eng Qasim A Irshid 8 Feb 2016
CV Eng Qasim A Irshid 8 Feb 2016CV Eng Qasim A Irshid 8 Feb 2016
CV Eng Qasim A Irshid 8 Feb 2016QASIM IRSHID
 
Präsentation Immobiliengespräch 11.05.2010
Präsentation Immobiliengespräch 11.05.2010Präsentation Immobiliengespräch 11.05.2010
Präsentation Immobiliengespräch 11.05.2010
gueste50beb3
 
Guía para profesionales y agentes sociales
Guía para profesionales y agentes socialesGuía para profesionales y agentes sociales
Guía para profesionales y agentes sociales
Mª Debora Garcia Monte
 
umanian life insurance
umanian life insuranceumanian life insurance
umanian life insuranceglenalyn
 
Oil & Gas Magazine Septiembre 2014
Oil & Gas Magazine Septiembre 2014Oil & Gas Magazine Septiembre 2014
Oil & Gas Magazine Septiembre 2014
Oil & Gas Magazine
 
estructuras textuales de carlos merchan
 estructuras textuales de carlos merchan estructuras textuales de carlos merchan
estructuras textuales de carlos merchan
Carlos Alfredo
 
GRAND DEFI
GRAND DEFIGRAND DEFI
GRAND DEFI
Maguy VERTUEUX
 
Resume of PROF DR SHAHMURAD of FMDC ATD
Resume of PROF DR SHAHMURAD of FMDC ATDResume of PROF DR SHAHMURAD of FMDC ATD
Resume of PROF DR SHAHMURAD of FMDC ATD
SHAH MURAD
 
Aprendizaje Digital Vii
Aprendizaje Digital ViiAprendizaje Digital Vii
Aprendizaje Digital Vii
trashrudeboy
 
Cataratas Del Iguazú
Cataratas Del IguazúCataratas Del Iguazú
Cataratas Del Iguazú
martarure
 
Retos de la calidad de la educación: perspectivas latinoamericanas
Retos de la calidad de la educación: perspectivas latinoamericanasRetos de la calidad de la educación: perspectivas latinoamericanas
Retos de la calidad de la educación: perspectivas latinoamericanas
Ilse Patiño
 
Muebles Ecologicos
Muebles EcologicosMuebles Ecologicos
Muebles EcologicosDeana Soto
 
110851259 rogacion-de-cabeza
110851259 rogacion-de-cabeza110851259 rogacion-de-cabeza
110851259 rogacion-de-cabeza
Roberto Gonzalez
 
Pautes per elaborar, estructurar i redactar un TFM o una tesi doctoral
Pautes per elaborar, estructurar i redactar un TFM o una tesi doctoralPautes per elaborar, estructurar i redactar un TFM o una tesi doctoral
Pautes per elaborar, estructurar i redactar un TFM o una tesi doctoral
Biblioteca del Campus Terrassa
 

Destacado (16)

Fisiogramas
FisiogramasFisiogramas
Fisiogramas
 
CV Eng Qasim A Irshid 8 Feb 2016
CV Eng Qasim A Irshid 8 Feb 2016CV Eng Qasim A Irshid 8 Feb 2016
CV Eng Qasim A Irshid 8 Feb 2016
 
Präsentation Immobiliengespräch 11.05.2010
Präsentation Immobiliengespräch 11.05.2010Präsentation Immobiliengespräch 11.05.2010
Präsentation Immobiliengespräch 11.05.2010
 
Guía para profesionales y agentes sociales
Guía para profesionales y agentes socialesGuía para profesionales y agentes sociales
Guía para profesionales y agentes sociales
 
umanian life insurance
umanian life insuranceumanian life insurance
umanian life insurance
 
Oil & Gas Magazine Septiembre 2014
Oil & Gas Magazine Septiembre 2014Oil & Gas Magazine Septiembre 2014
Oil & Gas Magazine Septiembre 2014
 
Rajeevdetails
RajeevdetailsRajeevdetails
Rajeevdetails
 
estructuras textuales de carlos merchan
 estructuras textuales de carlos merchan estructuras textuales de carlos merchan
estructuras textuales de carlos merchan
 
GRAND DEFI
GRAND DEFIGRAND DEFI
GRAND DEFI
 
Resume of PROF DR SHAHMURAD of FMDC ATD
Resume of PROF DR SHAHMURAD of FMDC ATDResume of PROF DR SHAHMURAD of FMDC ATD
Resume of PROF DR SHAHMURAD of FMDC ATD
 
Aprendizaje Digital Vii
Aprendizaje Digital ViiAprendizaje Digital Vii
Aprendizaje Digital Vii
 
Cataratas Del Iguazú
Cataratas Del IguazúCataratas Del Iguazú
Cataratas Del Iguazú
 
Retos de la calidad de la educación: perspectivas latinoamericanas
Retos de la calidad de la educación: perspectivas latinoamericanasRetos de la calidad de la educación: perspectivas latinoamericanas
Retos de la calidad de la educación: perspectivas latinoamericanas
 
Muebles Ecologicos
Muebles EcologicosMuebles Ecologicos
Muebles Ecologicos
 
110851259 rogacion-de-cabeza
110851259 rogacion-de-cabeza110851259 rogacion-de-cabeza
110851259 rogacion-de-cabeza
 
Pautes per elaborar, estructurar i redactar un TFM o una tesi doctoral
Pautes per elaborar, estructurar i redactar un TFM o una tesi doctoralPautes per elaborar, estructurar i redactar un TFM o una tesi doctoral
Pautes per elaborar, estructurar i redactar un TFM o una tesi doctoral
 

Último

(2024-05-21). Doctor, estoy embarazada ¿y ahora qué? (PPT)
(2024-05-21). Doctor, estoy embarazada ¿y ahora qué? (PPT)(2024-05-21). Doctor, estoy embarazada ¿y ahora qué? (PPT)
(2024-05-21). Doctor, estoy embarazada ¿y ahora qué? (PPT)
UDMAFyC SECTOR ZARAGOZA II
 
A.3 Proyecto de descanso nocturno (Jornada Infermeria)
A.3 Proyecto de descanso nocturno (Jornada Infermeria)A.3 Proyecto de descanso nocturno (Jornada Infermeria)
A.3 Proyecto de descanso nocturno (Jornada Infermeria)
Badalona Serveis Assistencials
 
Presentación Aminoglucósidos (Farmacología)
Presentación Aminoglucósidos (Farmacología)Presentación Aminoglucósidos (Farmacología)
Presentación Aminoglucósidos (Farmacología)
felipaaracely111
 
Clase 25 miologia de mmii (Parte 2) 2024.pdf
Clase 25  miologia de mmii (Parte 2) 2024.pdfClase 25  miologia de mmii (Parte 2) 2024.pdf
Clase 25 miologia de mmii (Parte 2) 2024.pdf
garrotamara01
 
Transaminacion y desaminacion en el ciclo de krebs
Transaminacion y desaminacion en el ciclo de krebsTransaminacion y desaminacion en el ciclo de krebs
Transaminacion y desaminacion en el ciclo de krebs
valentinasandovalmon
 
Clase 24 miologia de mmii (Parte1) 2024.pdf
Clase 24  miologia de mmii (Parte1) 2024.pdfClase 24  miologia de mmii (Parte1) 2024.pdf
Clase 24 miologia de mmii (Parte1) 2024.pdf
garrotamara01
 
(2024-30-05) Consejos para sobrevivir a una guardia de traumatología (ptt).pptx
(2024-30-05) Consejos para sobrevivir a una guardia de traumatología (ptt).pptx(2024-30-05) Consejos para sobrevivir a una guardia de traumatología (ptt).pptx
(2024-30-05) Consejos para sobrevivir a una guardia de traumatología (ptt).pptx
UDMAFyC SECTOR ZARAGOZA II
 
Aparato urinario PRACTICA. HISTOLOGIA ROSS
Aparato urinario PRACTICA. HISTOLOGIA ROSSAparato urinario PRACTICA. HISTOLOGIA ROSS
Aparato urinario PRACTICA. HISTOLOGIA ROSS
LeslieGodinez1
 
2024 SEPSIS MATERNA & SHOCK SEPTICO FULL UCAYALI (1).pdf
2024 SEPSIS MATERNA & SHOCK SEPTICO FULL UCAYALI (1).pdf2024 SEPSIS MATERNA & SHOCK SEPTICO FULL UCAYALI (1).pdf
2024 SEPSIS MATERNA & SHOCK SEPTICO FULL UCAYALI (1).pdf
TATIANA822331
 
IA, la clave de la genomica (May 2024).pdf
IA, la clave de la genomica (May 2024).pdfIA, la clave de la genomica (May 2024).pdf
IA, la clave de la genomica (May 2024).pdf
Paul Agapow
 
CASO CLINICO FALLA CARDIACA - UCI CORONARIA.pptx
CASO CLINICO FALLA CARDIACA - UCI CORONARIA.pptxCASO CLINICO FALLA CARDIACA - UCI CORONARIA.pptx
CASO CLINICO FALLA CARDIACA - UCI CORONARIA.pptx
everybh
 
Examen físico 2.pdf examen abdominal semiología
Examen físico  2.pdf examen abdominal semiologíaExamen físico  2.pdf examen abdominal semiología
Examen físico 2.pdf examen abdominal semiología
DaniellaPrez3
 
Caso Complejo AP Intervención Multidimensional atención primaria
Caso Complejo AP Intervención Multidimensional atención primariaCaso Complejo AP Intervención Multidimensional atención primaria
Caso Complejo AP Intervención Multidimensional atención primaria
Las Sesiones de San Blas
 
(2024-30-05) Consejos para sobrevivir a una guardia de traumatología (doc).docx
(2024-30-05) Consejos para sobrevivir a una guardia de traumatología (doc).docx(2024-30-05) Consejos para sobrevivir a una guardia de traumatología (doc).docx
(2024-30-05) Consejos para sobrevivir a una guardia de traumatología (doc).docx
UDMAFyC SECTOR ZARAGOZA II
 
Deformaciones de la columna vertebral en los p
Deformaciones de la columna vertebral en los pDeformaciones de la columna vertebral en los p
Deformaciones de la columna vertebral en los p
leslycandela
 
via de administracion subcutanea princios cientificos
via de administracion subcutanea princios cientificosvia de administracion subcutanea princios cientificos
via de administracion subcutanea princios cientificos
KualescaPalomino
 
cambios en el sistema digestivo anciano.pptx
cambios en el sistema digestivo anciano.pptxcambios en el sistema digestivo anciano.pptx
cambios en el sistema digestivo anciano.pptx
adriana ortiz
 
Evidencia de aprendizaje. Los sistemas de salud en tu entorno.
Evidencia de  aprendizaje. Los  sistemas de salud  en tu entorno.Evidencia de  aprendizaje. Los  sistemas de salud  en tu entorno.
Evidencia de aprendizaje. Los sistemas de salud en tu entorno.
murguiagarciaf
 
Triptico-dengue.pdf.pdf como prevenir el dengue
Triptico-dengue.pdf.pdf como prevenir el dengueTriptico-dengue.pdf.pdf como prevenir el dengue
Triptico-dengue.pdf.pdf como prevenir el dengue
LIZSHARODELACRUZALIA
 
ureteroscopia tecnica , historia , complicaiones
ureteroscopia tecnica  , historia , complicaionesureteroscopia tecnica  , historia , complicaiones
ureteroscopia tecnica , historia , complicaiones
JuanDanielRodrguez2
 

Último (20)

(2024-05-21). Doctor, estoy embarazada ¿y ahora qué? (PPT)
(2024-05-21). Doctor, estoy embarazada ¿y ahora qué? (PPT)(2024-05-21). Doctor, estoy embarazada ¿y ahora qué? (PPT)
(2024-05-21). Doctor, estoy embarazada ¿y ahora qué? (PPT)
 
A.3 Proyecto de descanso nocturno (Jornada Infermeria)
A.3 Proyecto de descanso nocturno (Jornada Infermeria)A.3 Proyecto de descanso nocturno (Jornada Infermeria)
A.3 Proyecto de descanso nocturno (Jornada Infermeria)
 
Presentación Aminoglucósidos (Farmacología)
Presentación Aminoglucósidos (Farmacología)Presentación Aminoglucósidos (Farmacología)
Presentación Aminoglucósidos (Farmacología)
 
Clase 25 miologia de mmii (Parte 2) 2024.pdf
Clase 25  miologia de mmii (Parte 2) 2024.pdfClase 25  miologia de mmii (Parte 2) 2024.pdf
Clase 25 miologia de mmii (Parte 2) 2024.pdf
 
Transaminacion y desaminacion en el ciclo de krebs
Transaminacion y desaminacion en el ciclo de krebsTransaminacion y desaminacion en el ciclo de krebs
Transaminacion y desaminacion en el ciclo de krebs
 
Clase 24 miologia de mmii (Parte1) 2024.pdf
Clase 24  miologia de mmii (Parte1) 2024.pdfClase 24  miologia de mmii (Parte1) 2024.pdf
Clase 24 miologia de mmii (Parte1) 2024.pdf
 
(2024-30-05) Consejos para sobrevivir a una guardia de traumatología (ptt).pptx
(2024-30-05) Consejos para sobrevivir a una guardia de traumatología (ptt).pptx(2024-30-05) Consejos para sobrevivir a una guardia de traumatología (ptt).pptx
(2024-30-05) Consejos para sobrevivir a una guardia de traumatología (ptt).pptx
 
Aparato urinario PRACTICA. HISTOLOGIA ROSS
Aparato urinario PRACTICA. HISTOLOGIA ROSSAparato urinario PRACTICA. HISTOLOGIA ROSS
Aparato urinario PRACTICA. HISTOLOGIA ROSS
 
2024 SEPSIS MATERNA & SHOCK SEPTICO FULL UCAYALI (1).pdf
2024 SEPSIS MATERNA & SHOCK SEPTICO FULL UCAYALI (1).pdf2024 SEPSIS MATERNA & SHOCK SEPTICO FULL UCAYALI (1).pdf
2024 SEPSIS MATERNA & SHOCK SEPTICO FULL UCAYALI (1).pdf
 
IA, la clave de la genomica (May 2024).pdf
IA, la clave de la genomica (May 2024).pdfIA, la clave de la genomica (May 2024).pdf
IA, la clave de la genomica (May 2024).pdf
 
CASO CLINICO FALLA CARDIACA - UCI CORONARIA.pptx
CASO CLINICO FALLA CARDIACA - UCI CORONARIA.pptxCASO CLINICO FALLA CARDIACA - UCI CORONARIA.pptx
CASO CLINICO FALLA CARDIACA - UCI CORONARIA.pptx
 
Examen físico 2.pdf examen abdominal semiología
Examen físico  2.pdf examen abdominal semiologíaExamen físico  2.pdf examen abdominal semiología
Examen físico 2.pdf examen abdominal semiología
 
Caso Complejo AP Intervención Multidimensional atención primaria
Caso Complejo AP Intervención Multidimensional atención primariaCaso Complejo AP Intervención Multidimensional atención primaria
Caso Complejo AP Intervención Multidimensional atención primaria
 
(2024-30-05) Consejos para sobrevivir a una guardia de traumatología (doc).docx
(2024-30-05) Consejos para sobrevivir a una guardia de traumatología (doc).docx(2024-30-05) Consejos para sobrevivir a una guardia de traumatología (doc).docx
(2024-30-05) Consejos para sobrevivir a una guardia de traumatología (doc).docx
 
Deformaciones de la columna vertebral en los p
Deformaciones de la columna vertebral en los pDeformaciones de la columna vertebral en los p
Deformaciones de la columna vertebral en los p
 
via de administracion subcutanea princios cientificos
via de administracion subcutanea princios cientificosvia de administracion subcutanea princios cientificos
via de administracion subcutanea princios cientificos
 
cambios en el sistema digestivo anciano.pptx
cambios en el sistema digestivo anciano.pptxcambios en el sistema digestivo anciano.pptx
cambios en el sistema digestivo anciano.pptx
 
Evidencia de aprendizaje. Los sistemas de salud en tu entorno.
Evidencia de  aprendizaje. Los  sistemas de salud  en tu entorno.Evidencia de  aprendizaje. Los  sistemas de salud  en tu entorno.
Evidencia de aprendizaje. Los sistemas de salud en tu entorno.
 
Triptico-dengue.pdf.pdf como prevenir el dengue
Triptico-dengue.pdf.pdf como prevenir el dengueTriptico-dengue.pdf.pdf como prevenir el dengue
Triptico-dengue.pdf.pdf como prevenir el dengue
 
ureteroscopia tecnica , historia , complicaiones
ureteroscopia tecnica  , historia , complicaionesureteroscopia tecnica  , historia , complicaiones
ureteroscopia tecnica , historia , complicaiones
 

Paralelización del algoritmo de Smith-Waterman

  • 1. Paralelización del algoritmo de Smith-Waterman Luis Belloch Gómez Bioinformática, Mayo 2010 Master Computación Paralela y Distribuida
  • 2. BLAST y similares son más rápidos, pero pueden no detectar algunas alineaciones. Smith-Waterman es más preciso, pero su ejecución es mucho más lenta.
  • 3. - H E A G A W G H E E - 0 0 0 0 0 0 0 0 0 0 0 ) P 0 0 0 0 0 0 0 0 0 0 0 A 0 0 0 5 0 5 0 0 0 0 0 W 0 0 0 0 2 0 20 12 4 0 0 H 0 10 2 0 0 0 12 18 22 14 6 E 0 2 16 8 0 0 4 10 18 21 20 A 0 0 8 21 13 5 0 4 10 20 27 E 0 0 6 13 18 12 4 0 4 16 26 1. Construcción de la matriz de puntuación. 2. Recorrido inverso a partir del máximo. E F
  • 4. Para poder ejecutar en paralelo es necesario saber qué dependencias de datos existen
  • 5. E 0 0 6 13 18 12 4 0 4 Análisis de dependencias - H - 0 0 A(i-1,j-1) A(i-1,j) P 0 0 A 0 0 A(i,j-1) A(i,j) W 0 0 H 0 10 E 0 2 Cada elemento depende de su fila superior A 0 0 y su columna izquierda. E 0 0
  • 6. Análisis de dependencias P1 P2 A B B C Si ordenáramos la ejecución, los elemento B pueden ejecutarse en paralelo
  • 7. F G H I J K Ejecución por bloques - H E A G A W G H E E - 0 0 0 0 0 0 0 0 0 0 0 P 0 0 0 0 0 0 0 0 0 0 0 P1 A 0 0 0 5 0 5 0 0 0 0 0 W 0 0 0 0 2 0 20 12 4 0 0 H 0 10 2 0 0 0 12 18 22 14 6 P2 E 0 2 16 8 0 0 4 10 18 21 20 A 0 0 8 21 13 5 0 4 10 20 27 P3 E 0 0 6 13 4 10 4 0 4 16 26 Para evitar un envío excesivo de datos, se divide la matriz en bloques - H E A G A W G H E E - 0 0 0 0 0 0 0 0 0 0 0 P 0 0 0 0 0 0 0 0 0 0 0
  • 8. P2 E 0 2 16 8 0 0 4 10 18 21 20 A 0 0 8 21 13 5 0 4 10 20 27 P3 Ejecución por bloques E 0 0 6 13 4 10 4 0 4 16 26 - H E A G A W G H E E - 0 0 0 0 0 0 0 0 0 0 0 P 0 0 0 0 0 0 0 0 0 0 0 P1 A 0 0 0 5 0 5 0 0 0 0 0 envío de datos W 0 0 0 0 2 0 20 12 4 0 0 de P1 a P2 H 0 10 2 0 0 0 12 18 22 14 6 P2 E 0 2 16 8 0 0 4 10 18 21 20 envío de datos A 0 0 8 21 13 5 0 4 10 20 27 de P3 a P4 P3 E 0 0 6 13 4 10 4 0 4 16 26 Cada proceso comparte su última fila con el resto
  • 9. A 0 0 8 21 13 5 0 4 10 20 27 E 0 0 6 13 18 12 4 0 4 16 26 E 0 0 6 13 18 12 4 0 4 16 26 Ejecución por bloques B C A D B E C F D E F P1 P1 C D B E C F D G E F G C F D P2 P2 D E G E H F G H E F D G E H F I G H I P3 P3 F G E H F I G J H I J F I G P4 P4 G H J H K I J K La ejecución se realiza en cascada, como máximo existirán max(c,f) procesos en paralelo - H E A G A W G H E E - H E A G A W G H E E - 0 0 0 0 0 0 0 0 0 0 0
  • 10. Detalles Implementación Paradigma: Memoria Distribuida. Desarrollado en C & MPI. La matriz de puntuación es un vector de c x f enteros, contiguos en memoria. En lugar de almacenar la matriz de dirección por separado, se empaqueta en los dos bits superiores. 00 bits 29 a 0
  • 11. Entorno de pruebas Quadcluster del DSIC SGI Altix XE, 4 nodos Cada nodo 2 Intel Xeon Quadcore 5365 (64 bits) 8 cores por nodo 16 GB RAM Total 32 procesadores (nucleos)
  • 12. Estructura de pruebas El coste del algoritmo está en la construcción de la matriz de puntuación. Secuencias de 100, 3K y 30K elementos, sacadas de Uniprot. HBA_HUMAN.fasta 142 x 147 HBB_HUMAN.fasta FBN2_HUMAN.fasta 2.912 x 2.907 FBN2_MOUSE.fasta TITIN_HUMAN.fasta 34.350 x 35.213 TITIN_MOUSE.fasta
  • 13. Coste Espacial Una secuencia de 30K elementos produce una matriz de 30K x 30K = 900 millones de elementos. 900 x 4bytes ≅ 3.35GB Repartidos entre 32 procesadores, cada uno construye una matriz de 30K x (30K/32) ≅ 100MB
  • 14. Resultados secuencial icc test2.c util.c sw.c -o test2 -std=c99 -O3 ./test2 Prueba de rendimiento secuencial (matriz puntuación solo). t25a.s t25b.s la: 25 lb: 25 it:1000 tst: 1 T: 0.01 ms t100a.s t100b.s la: 140 lb: 140 it:1000 tst: 1 T: 0.16 ms t3Ka.s t3Kb.s la: 2912 lb: 2907 it:1 tst: 1 T: 75.00 ms t30Ka.s t30Kb.s la: 34350 lb: 35213 it:1 tst: 1 T: 11000.00 ms
  • 15. Resultados paralelo TITIN HumanMouse, 34Kx35K elementos 4.5GB total, 140MB por proceso np ts tp Sp Ep 4 11 2,641 4,165 1,041 8 11 1,365 8,059 1,007 16 11 0,709 15,507 0,969 24 11 0,493 22,324 0,930 32 11 0,389 28,292 0,884 * tiempos en seg.
  • 16. 4 11 2,64114 4,16 4,00 1,04 1,00 8 11 1,36494 8,06 8,00 1,01 1,00 16 24 32 11 11 11 Speed Up 0,70934 0,49275 0,38880 15,51 22,32 28,29 16,00 24,00 32,00 0,97 0,93 0,88 1,00 1,00 1,00 Tiempo del mejor algoritmo secuencial frente al tiempo del paralelo (sp = t1 / tp) 40,00 35,00 30,00 25,00 28,29 20,00 22,32 15,00 15,51 10,00 5,00 8,06 0 4,16 4 8 16 24 32 Speed Up Sp ref.
  • 17. 0 4 11 2,641 4,165 1,041 0 8 11 1,365 8,059 1,007 0 16 11 0,709 15,507 0,969 0 0 24 32 Eficiencia 11 11 0,493 0,389 22,324 28,292 0,930 0,884 Grado de utilización del sistema (ep = sp/p) 1,10 1,00 1,04 1,01 0,97 0,90 0,93 0,88 0,80 0,70 4 8 16 24 32 Eficiencia Ep ref.
  • 18. Conclusiones La paralelización funciona mejor con tamaños de problema grandes, el algoritmo secuencial se las arregla para secuencias cortas. Posibles trabajos futuros: Memoria compartida o sistemas híbridos.