SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
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
FisiogramasElisascp
 
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.2010gueste50beb3
 
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 socialesMª 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 2014Oil & Gas Magazine
 
estructuras textuales de carlos merchan
 estructuras textuales de carlos merchan estructuras textuales de carlos merchan
estructuras textuales de carlos merchanCarlos Alfredo
 
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 ATDSHAH MURAD
 
Aprendizaje Digital Vii
Aprendizaje Digital ViiAprendizaje Digital Vii
Aprendizaje Digital Viitrashrudeboy
 
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 latinoamericanasIlse Patiño
 
Muebles Ecologicos
Muebles EcologicosMuebles Ecologicos
Muebles EcologicosDeana Soto
 
110851259 rogacion-de-cabeza
110851259 rogacion-de-cabeza110851259 rogacion-de-cabeza
110851259 rogacion-de-cabezaRoberto 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 doctoralBiblioteca 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

INFECCION DE TRACTO URINARIO (ITU) EN GESTANTES
INFECCION DE TRACTO URINARIO (ITU) EN GESTANTESINFECCION DE TRACTO URINARIO (ITU) EN GESTANTES
INFECCION DE TRACTO URINARIO (ITU) EN GESTANTESangelojosue
 
Sala Situacional Nacional - MINSA Perú 2024
Sala Situacional Nacional - MINSA Perú 2024Sala Situacional Nacional - MINSA Perú 2024
Sala Situacional Nacional - MINSA Perú 2024Miguel Yan Garcia
 
Epidemiologia 4: Estructura metodologica de un trabajo cientifico, Fases de r...
Epidemiologia 4: Estructura metodologica de un trabajo cientifico, Fases de r...Epidemiologia 4: Estructura metodologica de un trabajo cientifico, Fases de r...
Epidemiologia 4: Estructura metodologica de un trabajo cientifico, Fases de r...Juan Rodrigo Tuesta-Nole
 
escalas para evaluación de desarrollo psicomotor
escalas para evaluación de desarrollo psicomotorescalas para evaluación de desarrollo psicomotor
escalas para evaluación de desarrollo psicomotorJessica Valda
 
CLASE 1 MASAJE DESCONTRACTURANTE2016.pdf
CLASE 1 MASAJE DESCONTRACTURANTE2016.pdfCLASE 1 MASAJE DESCONTRACTURANTE2016.pdf
CLASE 1 MASAJE DESCONTRACTURANTE2016.pdfdanicanelomasoterapi
 
ANATOMIA Y FISIOLOGIA DE LAS UÑAS, RECOPILACIONES.pptx
ANATOMIA Y FISIOLOGIA DE LAS UÑAS, RECOPILACIONES.pptxANATOMIA Y FISIOLOGIA DE LAS UÑAS, RECOPILACIONES.pptx
ANATOMIA Y FISIOLOGIA DE LAS UÑAS, RECOPILACIONES.pptxgerenciasalud106
 
(2024-04-19). DERMATOSCOPIA EN ATENCIÓN PRIMARIA (PPT)
(2024-04-19). DERMATOSCOPIA EN ATENCIÓN PRIMARIA (PPT)(2024-04-19). DERMATOSCOPIA EN ATENCIÓN PRIMARIA (PPT)
(2024-04-19). DERMATOSCOPIA EN ATENCIÓN PRIMARIA (PPT)UDMAFyC SECTOR ZARAGOZA II
 
Como se produjo la Penicilina de forma massiva en la II Guerra Mundial.pdf
Como se produjo la Penicilina de forma massiva en la II Guerra Mundial.pdfComo se produjo la Penicilina de forma massiva en la II Guerra Mundial.pdf
Como se produjo la Penicilina de forma massiva en la II Guerra Mundial.pdfKEVINYOICIAQUINOSORI
 
Guía para superar los pensamientos atemorizantes, obsesivos o inquietantes.pdf
Guía para superar los pensamientos atemorizantes, obsesivos o inquietantes.pdfGuía para superar los pensamientos atemorizantes, obsesivos o inquietantes.pdf
Guía para superar los pensamientos atemorizantes, obsesivos o inquietantes.pdfcpimperiumsac
 
UNIDAD DE APRENDIZAJE ABRIL Y MAYO 2024.docx
UNIDAD DE APRENDIZAJE ABRIL Y MAYO 2024.docxUNIDAD DE APRENDIZAJE ABRIL Y MAYO 2024.docx
UNIDAD DE APRENDIZAJE ABRIL Y MAYO 2024.docxRosiChucasDiaz
 
Clase 9 Miembro Inferior Osteologia 2024.pdf
Clase 9 Miembro Inferior Osteologia  2024.pdfClase 9 Miembro Inferior Osteologia  2024.pdf
Clase 9 Miembro Inferior Osteologia 2024.pdfgarrotamara01
 
Clase 10 Artrologia Generalidades Anatomia 2024.pdf
Clase 10 Artrologia Generalidades Anatomia 2024.pdfClase 10 Artrologia Generalidades Anatomia 2024.pdf
Clase 10 Artrologia Generalidades Anatomia 2024.pdfgarrotamara01
 
Sarampión alerta sanitaria en 2024 México
Sarampión alerta sanitaria en 2024 MéxicoSarampión alerta sanitaria en 2024 México
Sarampión alerta sanitaria en 2024 Méxicoglobuspalido
 
Manuel para el his cancer essalud .pptx
Manuel para el his cancer essalud  .pptxManuel para el his cancer essalud  .pptx
Manuel para el his cancer essalud .pptxluciana824458
 
Anatomía de la Esclera y clasificación.
Anatomía de la Esclera y clasificación.Anatomía de la Esclera y clasificación.
Anatomía de la Esclera y clasificación.MaraBelnZamoraAguila
 
Clase 11 Articulaciones de la Cabeza 2024.pdf
Clase 11 Articulaciones de la Cabeza 2024.pdfClase 11 Articulaciones de la Cabeza 2024.pdf
Clase 11 Articulaciones de la Cabeza 2024.pdfgarrotamara01
 
Betty Neuman-YessiAlvarez. TEORISTA EN ENFERMERIA
Betty Neuman-YessiAlvarez. TEORISTA EN ENFERMERIABetty Neuman-YessiAlvarez. TEORISTA EN ENFERMERIA
Betty Neuman-YessiAlvarez. TEORISTA EN ENFERMERIAMONICATRINIDAD7
 
Instrumental Quirúrgico 2° ed - Renee Nemitz (2).pdf
Instrumental Quirúrgico 2° ed - Renee Nemitz (2).pdfInstrumental Quirúrgico 2° ed - Renee Nemitz (2).pdf
Instrumental Quirúrgico 2° ed - Renee Nemitz (2).pdfAnaSanchez18300
 
Avance Tarea-3-Cuidados-Basicos de enfermeria.pptx
Avance Tarea-3-Cuidados-Basicos de enfermeria.pptxAvance Tarea-3-Cuidados-Basicos de enfermeria.pptx
Avance Tarea-3-Cuidados-Basicos de enfermeria.pptxangelicacardales1
 

Último (20)

INFECCION DE TRACTO URINARIO (ITU) EN GESTANTES
INFECCION DE TRACTO URINARIO (ITU) EN GESTANTESINFECCION DE TRACTO URINARIO (ITU) EN GESTANTES
INFECCION DE TRACTO URINARIO (ITU) EN GESTANTES
 
Situaciones difíciles. La familia reconstituida
Situaciones difíciles. La familia reconstituidaSituaciones difíciles. La familia reconstituida
Situaciones difíciles. La familia reconstituida
 
Sala Situacional Nacional - MINSA Perú 2024
Sala Situacional Nacional - MINSA Perú 2024Sala Situacional Nacional - MINSA Perú 2024
Sala Situacional Nacional - MINSA Perú 2024
 
Epidemiologia 4: Estructura metodologica de un trabajo cientifico, Fases de r...
Epidemiologia 4: Estructura metodologica de un trabajo cientifico, Fases de r...Epidemiologia 4: Estructura metodologica de un trabajo cientifico, Fases de r...
Epidemiologia 4: Estructura metodologica de un trabajo cientifico, Fases de r...
 
escalas para evaluación de desarrollo psicomotor
escalas para evaluación de desarrollo psicomotorescalas para evaluación de desarrollo psicomotor
escalas para evaluación de desarrollo psicomotor
 
CLASE 1 MASAJE DESCONTRACTURANTE2016.pdf
CLASE 1 MASAJE DESCONTRACTURANTE2016.pdfCLASE 1 MASAJE DESCONTRACTURANTE2016.pdf
CLASE 1 MASAJE DESCONTRACTURANTE2016.pdf
 
ANATOMIA Y FISIOLOGIA DE LAS UÑAS, RECOPILACIONES.pptx
ANATOMIA Y FISIOLOGIA DE LAS UÑAS, RECOPILACIONES.pptxANATOMIA Y FISIOLOGIA DE LAS UÑAS, RECOPILACIONES.pptx
ANATOMIA Y FISIOLOGIA DE LAS UÑAS, RECOPILACIONES.pptx
 
(2024-04-19). DERMATOSCOPIA EN ATENCIÓN PRIMARIA (PPT)
(2024-04-19). DERMATOSCOPIA EN ATENCIÓN PRIMARIA (PPT)(2024-04-19). DERMATOSCOPIA EN ATENCIÓN PRIMARIA (PPT)
(2024-04-19). DERMATOSCOPIA EN ATENCIÓN PRIMARIA (PPT)
 
Como se produjo la Penicilina de forma massiva en la II Guerra Mundial.pdf
Como se produjo la Penicilina de forma massiva en la II Guerra Mundial.pdfComo se produjo la Penicilina de forma massiva en la II Guerra Mundial.pdf
Como se produjo la Penicilina de forma massiva en la II Guerra Mundial.pdf
 
Guía para superar los pensamientos atemorizantes, obsesivos o inquietantes.pdf
Guía para superar los pensamientos atemorizantes, obsesivos o inquietantes.pdfGuía para superar los pensamientos atemorizantes, obsesivos o inquietantes.pdf
Guía para superar los pensamientos atemorizantes, obsesivos o inquietantes.pdf
 
UNIDAD DE APRENDIZAJE ABRIL Y MAYO 2024.docx
UNIDAD DE APRENDIZAJE ABRIL Y MAYO 2024.docxUNIDAD DE APRENDIZAJE ABRIL Y MAYO 2024.docx
UNIDAD DE APRENDIZAJE ABRIL Y MAYO 2024.docx
 
Clase 9 Miembro Inferior Osteologia 2024.pdf
Clase 9 Miembro Inferior Osteologia  2024.pdfClase 9 Miembro Inferior Osteologia  2024.pdf
Clase 9 Miembro Inferior Osteologia 2024.pdf
 
Clase 10 Artrologia Generalidades Anatomia 2024.pdf
Clase 10 Artrologia Generalidades Anatomia 2024.pdfClase 10 Artrologia Generalidades Anatomia 2024.pdf
Clase 10 Artrologia Generalidades Anatomia 2024.pdf
 
Sarampión alerta sanitaria en 2024 México
Sarampión alerta sanitaria en 2024 MéxicoSarampión alerta sanitaria en 2024 México
Sarampión alerta sanitaria en 2024 México
 
Manuel para el his cancer essalud .pptx
Manuel para el his cancer essalud  .pptxManuel para el his cancer essalud  .pptx
Manuel para el his cancer essalud .pptx
 
Anatomía de la Esclera y clasificación.
Anatomía de la Esclera y clasificación.Anatomía de la Esclera y clasificación.
Anatomía de la Esclera y clasificación.
 
Clase 11 Articulaciones de la Cabeza 2024.pdf
Clase 11 Articulaciones de la Cabeza 2024.pdfClase 11 Articulaciones de la Cabeza 2024.pdf
Clase 11 Articulaciones de la Cabeza 2024.pdf
 
Betty Neuman-YessiAlvarez. TEORISTA EN ENFERMERIA
Betty Neuman-YessiAlvarez. TEORISTA EN ENFERMERIABetty Neuman-YessiAlvarez. TEORISTA EN ENFERMERIA
Betty Neuman-YessiAlvarez. TEORISTA EN ENFERMERIA
 
Instrumental Quirúrgico 2° ed - Renee Nemitz (2).pdf
Instrumental Quirúrgico 2° ed - Renee Nemitz (2).pdfInstrumental Quirúrgico 2° ed - Renee Nemitz (2).pdf
Instrumental Quirúrgico 2° ed - Renee Nemitz (2).pdf
 
Avance Tarea-3-Cuidados-Basicos de enfermeria.pptx
Avance Tarea-3-Cuidados-Basicos de enfermeria.pptxAvance Tarea-3-Cuidados-Basicos de enfermeria.pptx
Avance Tarea-3-Cuidados-Basicos de enfermeria.pptx
 

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.