UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de...

241

Transcript of UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de...

Page 1: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

UNIVERSIDADE DE SANTIAGO DE COMPOSTELADEPARTAMENTO DE ELECTRÓNICA E COMPUTACIÓN

TESIS DOCTORALTé ni as de resolu ión de sistemas de e ua ionesdensos en multi omputadores: apli a ión al re imiento de grietas en estru turas

Presentada por:Patri ia González GómezNoviembre de 2000

Page 2: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.
Page 3: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Dr. Tomás Fernández Pena,Profesor Titular de Arquite tura yTe nología de Computadores de laUniversidad de Santiago de Com-postela.Dr. José Carlos Cabaleiro Domínguez,Profesor Titular de Arquite tura y Te nolo-gía de Computadores de la Universidad deSantiago de Compostela.

CERTIFICAN:Que la memoria titulada �Té ni as de resolu ión de sistemas dee ua iones densos en multi omputadores: apli a ión al re i-miento de grietas en estru turas�, ha sido realizada por Dña. Pa-tri ia González Gómez bajo nuestra dire ión en el Departamento deEle tróni a y Computa ión de la Universidad de Santiago de Compos-tela y on luye la Tesis que presenta para optar al grado de Do tor enCien ias Físi as. Santiago, 15 de noviembre de 2000Dr. Tomás Fernández PenaCodire tor de la tesis Dr. José Carlos Cabaleiro DomínguezCodire tor de la tesis

Fdo. Dr. Senén Barro Ameneiro,Dire tor del Departamento deEle tróni a y Computa ión.

Page 4: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.
Page 5: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

A mi familia,por su pa ien iay su apoyo in ondi ional

Page 6: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.
Page 7: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Agrade imientosMu has personas e institu iones han ontribuido a que el trabajo que he realizadoen los últimos años haya on luido en esta memoria de tesis. A todos ellos mi mássin ero agrade imiento. En parti ular, me gustaría desta ar:A los odire tores de esta tesis, José Carlos Cabaleiro Domínguez y Tomás Fernán-dez Pena, por su dire ión y ayuda, así omo por la on�anza depositada en mitrabajo.A Fran is o Argüello Pedreira por las múltiples dis usiones sobre wavelets, algunasde las uales han ontribuido al rumbo tomado por esta tesis.A Fran is o Fernández Rivera por el interés que ha demostrado en mi trabajo du-rante todos estos años.A todos los miembros del Departamento de Ele tróni a y Computa ión y, en parti u-lar, a mis ompañeros del Grupo de Arquite tura de Computadores, por su apoyo y ompañerismo; en espe ial a los que durante los últimos tiempos han seguido másde er a el desarrollo de este trabajo: Álvaro, Antonio, David, Dora, Inma, Juan,Mar os, Paula y Roberto. Valoro espe ialmente su amistad y la ayuda que me hanofre ido en todo momento.Por último, a los siguientes entros, institu iones y empresas: al CESGA (Centro deSuper omputa ión de Gali ia) por la �nan ia ión a través de dos proye tos: �HIP-SIA: High performan e simulation for stru tural integrity analysis� 1997/CP207 y�A performan e predi tion tool for data redistribution between HPF and MPI odesfor irregular omputations� 1998/CP199, este último en olabora ión on la empresaFujitsu; al omité ientí� o del Proye to I arus (TMR) por las ayudas on edidaspara las estan ias en CINECA (Centro Interuniversitario del Norte de Italia), y aeste último por ha ernos posible el uso del multi omputador Cray T3E una vez on-

Page 8: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

luidas las estan ias; a la Xunta de Gali ia por el soporte e onómi o on edido através del proye to PGIDT99PX120604A. Noviembre 2000

Page 9: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Índi e GeneralIntrodu ión 11 Computadores paralelos y su programa ión 51.1 Cara terísti as de los omputadores paralelos . . . . . . . . . . . . . 61.1.1 Flujo de instru iones y datos . . . . . . . . . . . . . . . . . . 61.1.2 Organiza ión de la memoria . . . . . . . . . . . . . . . . . . . 71.1.3 Topología . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.1.4 Modelo de programa ión . . . . . . . . . . . . . . . . . . . . . 91.1.5 Nivel de paralelismo . . . . . . . . . . . . . . . . . . . . . . . 111.2 Computadores paralelos de memoria distribuida . . . . . . . . . . . . 111.2.1 El omputador paralelo AP3000 de Fujitsu . . . . . . . . . . . 121.2.2 El omputador paralelo Cray T3E de Sili on . . . . . . . . . . 131.3 Programa ión de los sistemas paralelos . . . . . . . . . . . . . . . . . 142 Resolu ión de sistemas de e ua iones lineales densos 172.1 Métodos dire tos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.2 Métodos iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.2.1 Métodos iterativos bási os . . . . . . . . . . . . . . . . . . . . 202.2.2 Métodos de proye ión . . . . . . . . . . . . . . . . . . . . . . 212.2.3 Convergen ia . . . . . . . . . . . . . . . . . . . . . . . . . . . 28i

Page 10: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

ii Índi e General2.3 Pre ondi ionadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.3.1 Itera iones pre ondi ionadas . . . . . . . . . . . . . . . . . . . 292.3.2 Té ni as de pre ondi ionamiento . . . . . . . . . . . . . . . . 302.4 Métodos dire tos frente a métodos iterativos . . . . . . . . . . . . . . 332.5 Métodos iterativos paralelos . . . . . . . . . . . . . . . . . . . . . . . 342.5.1 Opera iones ve toriales . . . . . . . . . . . . . . . . . . . . . . 352.5.2 Produ tos matriz�ve tor . . . . . . . . . . . . . . . . . . . . . 362.5.3 Otras opera iones . . . . . . . . . . . . . . . . . . . . . . . . . 383 Transformada Wavelet 393.1 Perspe tiva general . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.2 Transformada Wavelet ontinua . . . . . . . . . . . . . . . . . . . . . 413.3 Análisis multirresolu ión . . . . . . . . . . . . . . . . . . . . . . . . . 443.3.1 La fun ión es alado y los subespa ios Vj . . . . . . . . . . . . 443.3.2 La fun ión wavelet madre y los espa ios Wj . . . . . . . . . . 453.4 La transformada wavelet rápida . . . . . . . . . . . . . . . . . . . . . 463.5 Ban os de �ltros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.5.1 La transformada wavelet a partir de �ltros . . . . . . . . . . . 493.6 Re onstru ión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.6.1 Wavelets (bi)ortogonales . . . . . . . . . . . . . . . . . . . . . 533.6.2 Umbral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.7 Wavelets de segunda genera ión . . . . . . . . . . . . . . . . . . . . . 583.7.1 Esquema lifting . . . . . . . . . . . . . . . . . . . . . . . . . . 583.7.2 Ejemplos: Transformadas Haar y Daube hies . . . . . . . . . . 623.8 Transformada wavelet en multipro esadores . . . . . . . . . . . . . . 643.8.1 Evalua ión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Page 11: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Índi e General iii4 Resolu ión de sistemas densos usando wavelets 714.1 Aproxima ión dispersa a una matriz densa . . . . . . . . . . . . . . . 724.1.1 Sele ión del umbral . . . . . . . . . . . . . . . . . . . . . . . 794.1.2 Evalua ión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 814.2 Matri es de oe� ientes densas y suaves . . . . . . . . . . . . . . . . . 854.2.1 Convergen ia del método . . . . . . . . . . . . . . . . . . . . . 864.2.2 Evalua ión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894.3 Matri es de oe� ientes densas on degenera iones . . . . . . . . . . . 924.3.1 División y fusión . . . . . . . . . . . . . . . . . . . . . . . . . 944.3.2 Esquema iterativo on transformadas wavelet . . . . . . . . . 964.3.3 Implementa ión prá ti a de la transformada wavelet . . . . . . 994.3.4 Convergen ia del esquema . . . . . . . . . . . . . . . . . . . . 1024.3.5 Coste del esquema de resolu ión . . . . . . . . . . . . . . . . . 1024.3.6 Evalua ión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034.4 Esquema iterativo paralelo . . . . . . . . . . . . . . . . . . . . . . . . 1054.4.1 Evalua ión del esquema iterativo paralelo . . . . . . . . . . . . 1065 Pre ondi ionadores paralelos para sistemas densos 1195.1 Pre ondi ionadores explí itos frente a implí itos . . . . . . . . . . . . 1215.2 Pre ondi ionadores paralelos . . . . . . . . . . . . . . . . . . . . . . . 1235.2.1 Constru ión del pre ondi ionador . . . . . . . . . . . . . . . 1245.2.2 Apli a ión del pre ondi ionador . . . . . . . . . . . . . . . . . 1245.3 Fa toriza iones in ompletas . . . . . . . . . . . . . . . . . . . . . . . 1265.3.1 Fa toriza iones ILU para matri es densas . . . . . . . . . . . . 1275.3.2 ILU usando transformadas wavelet . . . . . . . . . . . . . . . 1285.3.3 Implementa iones paralelas . . . . . . . . . . . . . . . . . . . 129

Page 12: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

iv Índi e General5.3.4 Apli a ión del pre ondi ionador . . . . . . . . . . . . . . . . . 1305.3.5 Evalua ión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1335.4 Pre ondi ionadores SPAI . . . . . . . . . . . . . . . . . . . . . . . . . 1405.4.1 Cál ulo de la aproximada inversa . . . . . . . . . . . . . . . . 1415.4.2 SPAI usando transformadas wavelet . . . . . . . . . . . . . . . 1435.4.3 Implementa iones paralelas . . . . . . . . . . . . . . . . . . . 1435.4.4 Apli a ión del pre ondi ionador . . . . . . . . . . . . . . . . . 1475.4.5 Evalua ión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1486 Apli a ión: análisis del re imiento de grietas en estru turas 1556.1 Formula ión del método de los elementos de ontorno . . . . . . . . . 1566.1.1 Método de los elementos de ontorno . . . . . . . . . . . . . . 1586.1.2 Método dual de los elementos de ontorno . . . . . . . . . . . 1626.2 Implementa ión paralela del método DBEM . . . . . . . . . . . . . . 1646.2.1 Té ni as de distribu ión . . . . . . . . . . . . . . . . . . . . . 1646.2.2 Redu ión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1666.2.3 Evalua ión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1676.3 Resolu ión de los sistemas de e ua iones . . . . . . . . . . . . . . . . 1706.3.1 Métodos iterativos usando el produ to 2W-MatVe . . . . . . 1736.3.2 Evalua ión de los pre ondi ionadores . . . . . . . . . . . . . . 187Con lusiones y prin ipales aporta iones 195A Tratamiento de las matri es dispersas 199A.1 Teoría de grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200A.2 Esquemas de alma enamiento . . . . . . . . . . . . . . . . . . . . . . 201A.3 Distribu ión de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

Page 13: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Índi e General vBibliografía 207

Page 14: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

vi Índi e General

Page 15: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Índi e de Tablas1.1 Cara terísti as del AP3000 y del Cray T3E . . . . . . . . . . . . . . . 144.1 Tiempo (en segundos) empleado en la transforma ión de la matriz,según el nivel de la wavelet. . . . . . . . . . . . . . . . . . . . . . . . 824.2 Número de no eros y grado de dispersión de las matri es de oe� ien-tes omprimidas usando transformadas wavelet de Haar y Daube hies(D4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904.3 Resultados de tiempo y a elera ión usando distintos métodos iterati-vos sobre los sistemas dispersos obtenidos mediante las transformadaswavelet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924.4 Estima ión del error relativo ometido usando el sistema disperso. . 934.5 Número de no eros de las matri es de oe� ientes omprimidas usan-do transformadas wavelet de Haar y Daube hies (D4) y oste en nú-mero de FLOPs para el produ to matriz�ve tor. . . . . . . . . . . . . 1044.6 Resultados de tiempo de eje u ión y a elera ión usando el produ to2W�MatVe en distintos métodos iterativos. . . . . . . . . . . . . . . 1054.7 Resultado de tiempos de eje u ión para los produ tos matriz�ve tor.Compara ión entre el produ to 2W�MatVe y el produ to matrizdensa�ve tor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1084.8 Resultado de tiempos usando el produ to 2W�MatVe en el métodoCGS. Compara ión on el resolutor denso. . . . . . . . . . . . . . . . 1134.9 Resultado de tiempos usando el produ to 2W�MatVe en el métodoBiCGSTAB. Compara ión on el resolutor denso. . . . . . . . . . . . 114vii

Page 16: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

viii Índi e de Tablas4.10 Resultado de tiempos usando el produ to 2W�MatVe en el métodoGMRES(1). Compara ión on el resolutor denso. . . . . . . . . . . . 1155.1 Resultados de tiempo y a elera ión para la onstru ión de los pre- ondi ionadores tipo ILU. . . . . . . . . . . . . . . . . . . . . . . . . 1365.2 Resultados de tiempo y número de itera iones para la resolu ión delos sistemas usando GMRES(1). . . . . . . . . . . . . . . . . . . . . 1375.3 Resultados de tiempo y a elera ión para la onstru ión de los pre- ondi ionadores SPAI. . . . . . . . . . . . . . . . . . . . . . . . . . . 1515.4 Resultados de tiempo y número de itera iones para la resolu ión delos sistemas usando GMRES(1). . . . . . . . . . . . . . . . . . . . . 1526.1 Tipos de nodos según su lo aliza ión en la malla, en el mar o de laimplementa ión DBEM . . . . . . . . . . . . . . . . . . . . . . . . . . 1656.2 Cara terísti as de los seis problemas que tratamos en este apítulo . . 1696.3 Número de �las totales y número de �las que se omprimen para adauno de los problemas. . . . . . . . . . . . . . . . . . . . . . . . . . . 1746.4 Resultados de número de no�nulos y dispersión para la zona que se omprime. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1746.5 Resultados de tiempo y a elera ión para el produ to matriz�ve tor.Compara ión entre el produ to 2W-MatVe y el produ to matrizdensa�ve tor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1756.6 Resultados de tiempo y a elera ión usando el método GMRES(1). 1806.7 Resultados de tiempo y a elera ión usando el método BiCGSTAB. . 1816.8 Resultados de tiempo y a elera ión usando el método CGS. . . . . . 1826.9 Resultados de tiempo y a elera ión para la onstru ión de los pre- ondi ionadores SPAI. . . . . . . . . . . . . . . . . . . . . . . . . . . 1886.10 Resultados de tiempo, a elera ión y número de itera iones para laresolu ión de los sistemas usando GMRES(1). . . . . . . . . . . . . . 192

Page 17: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Índi e de Figuras1.1 Modelo genéri o de multipro esador de memoria distribuida . . . . . 121.2 AP�Net del Fujitsu AP3000. . . . . . . . . . . . . . . . . . . . . . . . 131.3 Red toro 3D en el Cray T3E. . . . . . . . . . . . . . . . . . . . . . . 151.4 Diagrama de bloques de una elda del Cray T3E. . . . . . . . . . . . 152.1 Elimina ión gaussiana, (a) redu ión del sistema, (b) resolu ión. . . . 192.2 Algoritmo CG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.3 Algoritmo GMRES (ortogonaliza ión de Gram�S hmidt). . . . . . . 242.4 Algoritmo CGS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.5 Algoritmo BiCGSTAB. . . . . . . . . . . . . . . . . . . . . . . . . . 272.6 Distribu ión de autovalores para la matriz original y la matriz pre- ondi ionada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.1 Cubrimiento del dominio tiempo�fre uen ia para la transformada wa-velet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.2 Respuesta en fre uen ia de la transformada de Fourier y de la trans-formada wavelet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.3 Compara ión de la transformada de Fourier y de la transformadawavelet, en resolu iones de tiempo y fre uen ia . . . . . . . . . . . . . 443.4 Resultado de apli ar los �ltros pasa�alta y pasa�baja a una señal di-gital de entrada. Estos �ltros orresponden a la transformada waveletHaar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48ix

Page 18: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

x Índi e de Figuras3.5 Un nivel de la des omposi ión de una wavelet y su re onstru ión.Es un ban o de �ltros: la entrada se �ltra y divide a la mitad paraobtener una señal pasa-baja y una señal pasa�alta. . . . . . . . . . . 503.6 Transformada lási a wavelet en 2 dimensiones. . . . . . . . . . . . . 503.7 Fun iones orrespondientes a la wavelet Haar: fun ión wavelet madrey fun ión de es alado. . . . . . . . . . . . . . . . . . . . . . . . . . . 513.8 Pro edimiento de des omposi ión de una se uen ia de 8 datos poruna wavelet de 3 niveles. Los re uadros en negrita muestran las 8salidas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.9 Ejemplo de re onstru ión . . . . . . . . . . . . . . . . . . . . . . . . 523.10 Fun ión de es alado '(x) y fun ión wavelet madre (x) para la wa-velet D4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.11 El ban o de �ltros para la des omposi ión y re onstru ión de wave-lets biortogonales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.12 Apli a ión del umbral: (a) umbral duro, (b) umbral blando, ( ) otrasfun iones más so�sti adas. . . . . . . . . . . . . . . . . . . . . . . . . 573.13 Des omposi ión de un ban o de �ltros en pasos del esquema lifting. . 593.14 Esquema de transformada wavelet sobre una se uen ia de 8 datos,hasta distintos niveles. . . . . . . . . . . . . . . . . . . . . . . . . . . 633.15 Estru tura omputa ional usando el esquema lifting : (a) Wavelet deHaar (b) Wavelet Daube hies (D4) . . . . . . . . . . . . . . . . . . . 663.16 Tiempo de eje u ión y a elera ión para la transformada wavelet Haar. 683.17 Tiempo de eje u ión y a elera ión para la transformada wavelet Dau-be hies (D4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683.18 A elera ión en fun ión del tamaño de la imagen. . . . . . . . . . . . . 694.1 Estru tura de la matriz 2D�Lapla e (n=24). . . . . . . . . . . . . . . 754.2 Matriz densa original: Aij = 1=(i� j) si i 6= j, Aij = 1 si i = j. . . . . 764.3 Esquema lifting modi� ado para envolver los primeros oe� ientes ylos últimos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

Page 19: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Índi e de Figuras xi4.4 Ejemplo de histograma. Té ni a para sele ión del umbral de trun- amiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804.5 Grado de dispersión en fun ión de la dimensión de la matriz paraejemplo 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834.6 Grado de dispersión en fun ión de la dimensión de la matriz paraejemplo 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 834.7 Grado de dispersión en fun ión de la dimensión de la matriz paraejemplo 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844.8 Grado de dispersión en fun ión de la dimensión de la matriz paraejemplo 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844.9 Error relativo frente al tamaño de la matriz, en fun ión del nivel dela wavelet y del umbral de trun amiento (wavelet Haar). . . . . . . . 874.10 Error relativo frente al tamaño de la matriz, en fun ión del nivel dela wavelet y del umbral de trun amiento (wavelet D4). . . . . . . . . 884.11 Valores singulares y autovalores para la matriz ejemplo 1. . . . . . . 884.12 Ahorro de memoria on el uso de transformadas wavelet. . . . . . . . 904.13 MFLOPS para la opera ión matriz�ve tor . . . . . . . . . . . . . . . 934.14 Matriz de oe� ientes A. (a) Matriz original ompleta, (b) amplia iónde la zona suave de la matriz A . . . . . . . . . . . . . . . . . . . . . 954.15 Produ to matriz�ve tor on el esquema 2W�MatVe . . . . . . . . . . 984.16 Diferentes situa iones. Transformada wavelet Haar de un ve tor N =16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004.17 Transformada wavelet D4 de un ve tor N = 16, m = 10. . . . . . . . 1014.18 A elera ión del produ to 2W�MatVe sobre el denso se uen ial parael ejemplo 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094.19 A elera ión del produ to 2W�MatVe sobre el denso se uen ial parael ejemplo 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094.20 A elera ión del produ to 2W�MatVe sobre el denso se uen ial parael ejemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

Page 20: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

xii Índi e de Figuras4.21 A elera ión del produ to 2W�MatVe sobre el denso se uen ial parael ejemplo 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104.22 MFLOPS para la opera ión matriz�ve tor frente al número de pro e-sadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114.23 Balan eo de la arga omputa ional para los 4 ejemplos usando latransformada D4 (nivel 2) . . . . . . . . . . . . . . . . . . . . . . . . 1124.24 A elera ión del esquema paralelo sobre el se uen ial para el ejemplo 1 1164.25 A elera ión del esquema paralelo sobre el se uen ial para el ejemplo 2 1164.26 A elera ión del esquema paralelo sobre el se uen ial para el ejemplo 3 1174.27 A elera ión del esquema paralelo sobre el se uen ial para el ejemplo 4 1175.1 Fa toriza ión ILU(0) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1265.2 Matriz dividida en bloques. . . . . . . . . . . . . . . . . . . . . . . . 1285.3 Esquema para un bloque. . . . . . . . . . . . . . . . . . . . . . . . . . 1295.4 (a) Esquema de la resolu ión triangular paralela, (b) Ejemplo de sis-tema triangular paralelo on bloques totalmente desa oplados . . . . 1315.5 Distribu ión de autovalores para la matriz original A (ejemplo 1) ylas matri es pre ondi ionadas (MA) usando distintos pre ondi iona-dores tipo ILU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1325.6 Evolu ión del residuo on la an hura de la banda. . . . . . . . . . . . 1345.7 Evolu ión del residuo on la an hura de la zona de solape. . . . . . . 1345.8 Evolu ión del residuo on el umbral del patrón wavelet para el pre- ondi ionador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1355.9 A elera ión y e� ien ia de la resolu ión del sistema del ejemplo 1. . . 1385.10 A elera ión y e� ien ia de la resolu ión del sistema del ejemplo 3. . . 1395.11 A elera ión y e� ien ia de la resolu ión del sistema del ejemplo 4. . . 139

Page 21: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Índi e de Figuras xiii5.12 (a) matriz densa original; (b) obten ión del global L para la onstru - ión de las submatri es; ( ) submatriz para el ál ulo de la olumna 1de M , los ír ulos negros indi an las entradas originales que umplenlas ondi iones impuestas por la heurísti a elegida. . . . . . . . . . . 1455.13 Algoritmo paralelo para el ál ulo de un pre ondi ionador SPAI . . . 1465.14 Opera iones de gather y s atter. El resultado TOTAL puede quedarubi ado en un sólo pro esador o en todos (si se usa la opera iónallgather o alls atter) . . . . . . . . . . . . . . . . . . . . . . . . . . . 1465.15 Distribu ión de autovalores para las matri es pre ondi ionadas (MA)usando distintos pre ondi ionadores SPAI (ejemplo 1). . . . . . . . 1485.16 Evolu ión del residuo on la an hura de la banda. . . . . . . . . . . . 1495.17 Evolu ión del residuo on el umbral del patrón wavelet para el pre- ondi ionador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1505.18 A elera ión y e� ien ia de la resolu ión del sistema del ejemplo 1. . . 1535.19 A elera ión y e� ien ia de la resolu ión del sistema del ejemplo 3. . . 1535.20 A elera ión y e� ien ia de la resolu ión del sistema del ejemplo 4. . . 1546.1 Mallado de una pieza arbitraria. (a) FEM , (b) BEM. . . . . . . . . . 1566.2 Puntos de ontorno para un aso tridimensional. . . . . . . . . . . . . 1616.3 (a) Grieta ir ular interna a un ilindro ; (b) T on grieta semielípti aexterior; ( ) pla a on grieta semielípti a exterior; (d) grieta en lasuper� ie de un uarto de ilindro. . . . . . . . . . . . . . . . . . . . 1686.4 Tiempo y a elera ión para el problema 1 . . . . . . . . . . . . . . . . 1696.5 Tiempo y a elera ión para el problema 2 . . . . . . . . . . . . . . . . 1706.6 Tiempo y a elera ión problema 3 . . . . . . . . . . . . . . . . . . . . 1716.7 Tiempo y a elera ión problema 4 . . . . . . . . . . . . . . . . . . . . 1716.8 Tiempo y a elera ión problema 5 . . . . . . . . . . . . . . . . . . . . 1726.9 Tiempo y a elera ión problema 6 . . . . . . . . . . . . . . . . . . . . 172

Page 22: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

xiv Índi e de Figuras6.10 Tiempo de eje u ión y a elera ión del produ to matriz�ve tor para-lelo sobre el se uen ial denso para el problema 1 . . . . . . . . . . . . 1766.11 Tiempo de eje u ión y a elera ión del produ to matriz�ve tor para-lelo sobre el se uen ial denso para el problema 2 . . . . . . . . . . . . 1776.12 Tiempo de eje u ión y a elera ión del produ to matriz�ve tor para-lelo sobre el se uen ial denso para el problema 3 . . . . . . . . . . . . 1776.13 Tiempo de eje u ión y a elera ión del produ to matriz�ve tor para-lelo sobre el se uen ial denso para el problema 4 . . . . . . . . . . . . 1786.14 Tiempo de eje u ión y a elera ión del produ to matriz�ve tor para-lelo sobre el se uen ial denso para el problema 5 . . . . . . . . . . . . 1786.15 Tiempo de eje u ión y a elera ión del produ to matriz�ve tor para-lelo sobre el se uen ial denso para el problema 6 . . . . . . . . . . . . 1796.16 A elera ión y e� ien ia del esquema paralelo sobre el se uen ial densopara el problema 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1836.17 A elera ión y e� ien ia del esquema paralelo sobre el se uen ial densopara el problema 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1836.18 A elera ión y e� ien ia del esquema paralelo sobre el se uen ial densopara el problema 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1846.19 A elera ión y e� ien ia del esquema paralelo sobre el se uen ial densopara el problema 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856.20 A elera ión y e� ien ia del esquema paralelo sobre el se uen ial densopara el problema 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1856.21 A elera ión y e� ien ia del esquema paralelo sobre el se uen ial densopara el problema 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1866.22 A elera ión de la onstru ión de los pre ondi ionadores para los pro-blemas 1 y 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1896.23 A elera ión de la onstru ión de los pre ondi ionadores para los pro-blemas 3 y 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1906.24 A elera ión de la onstru ión de los pre ondi ionadores para el pro-blema 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

Page 23: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Índi e de Figuras xv6.25 A elera ión de la resolu ión de los problemas 1 y 2. . . . . . . . . . . 1936.26 A elera ión de la resolu ión de los problemas 3 y 4. . . . . . . . . . . 1936.27 A elera ión de la resolu ión del problema 5. . . . . . . . . . . . . . . 194A.1 Grafos de dos matri es dispersas 4� 4. . . . . . . . . . . . . . . . . . 201A.2 Modo de alma enamiento CCS . . . . . . . . . . . . . . . . . . . . . . 203

Page 24: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

xvi Índi e de Figuras

Page 25: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Introdu iónLos métodos iterativos han ganado popularidad en gran variedad de áreas de la omputa ión ientí� a para la resolu ión de grandes sistemas de e ua iones lineales.Hasta ha e po o se preferían los métodos dire tos para apli a iones reales dada surobustez y omportamiento prede ible. Sin embargo, el desarrollo de una gran va-riedad de resolutores iterativos, y la ne esidad re iente de resolver grandes sistemasde e ua iones, ha supuesto un giro rápido ha ia las té ni as iterativas en mu hasapli a iones.Dos desarrollos importantes han revolu ionado en dé adas anteriores los métodosde resolu ión para grandes sistemas lineales. Primero, el obtener ventaja del patrónde dispersión de las matri es de oe� ientes para diseñar métodos dire tos mu homás e onómi os. Segundo, el desarrollo de los métodos tipo gradiente onjugadopre ondi ionados para resolver sistemas lineales. Se en ontró que la ombina ión deun pre ondi ionador y un método del subespa io de Krylov podía obtener una e�- ien ia alta y ompetir on los métodos dire tos para pro edimientos de propósitogeneral. Gradualmente, la alidad (tanto en velo idad omo en pre isión obteni-da) de los métodos iterativos omenzó a aproximarse a la de los métodos dire tos.Al prin ipio, los métodos iterativos eran onsiderados de propósito espe í� o, y sue� ien ia dependía de iertos parámetros propios del problema a resolver.Hoy en día, los modelos tridimensionales son omunes y los métodos iterativos sonprá ti amente impres indibles para resolver las e ua iones lineales orrespondientesa estos problemas. La memoria y los requerimientos omputa ionales para resolvere ua iones diferen iales par iales en 3�D, o in luso bidimensionales que involu ranmu hos grados de libertad por punto, pueden ha er impra ti able el uso de métodosdire tos. Además, los métodos iterativos han ganado terreno gra ias a su fa ilidadde implementa ión en omputadores de alto rendimiento.Uno de los primeros, y también uno de los prin ipales, usos de los omputadores1

Page 26: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

2 Introdu iónha sido resolver problemas en ien ia e ingeniería, y, más on retamente, obtenersolu iones a modelos matemáti os que representan una situa ión físi a. Las té ni asusadas para obtener esa solu ión son parte de la llamada omputa ión ientí� a, e,inevitablemente, tienen mu ho que ver, por una parte, on las matemáti as y, porotra, on la omputa ión. Los modelos matemáti os que provienen de gran variedadde problemas físi os son sistemas de e ua iones diferen iales, tanto ordinarias omoen derivadas par iales. Las e ua iones diferen iales apare en de todas las formas ytamaños, e in luso on los potentes omputadores a tuales estamos lejos de onseguirresolver mu hos problemas de ientí� os e ingenieros. Sin embargo, hay mu hos otrosmodelos matemáti os que sí es posible resolver, y ada uno tiene sus propios retos.En este trabajo hemos estudiado métodos matemáti os de resolu ión de grandessistemas de e ua iones lineales densos. Estos sistemas provienen, por ejemplo, deproblemas dis retizados utilizando formula ión de elementos de ontorno (BEM).Estos ódigos dan lugar a sistemas de e ua iones on matri es de oe� ientes densas uyo tiempo de resolu ión puede resultar ríti o frente al tiempo de onstru ión delsistema. Hemos propuesto esquemas de resolu ión que involu ran el uso de trans-formadas wavelet, lo que permite transformar previamente el sistema denso en unsistema disperso, y onseguir así una mayor e� ien ia. También se muestran en estamemoria las implementa iones de estos esquemas para sistemas multipro esador.En el apítulo 1 se ha e una introdu ión a los sistemas multipro esador y se des- riben brevemente algunas de las ara terísti as de la omputa ión paralela. Tam-bién se des riben los multi omputadores que se han empleado para la evalua ión delos algoritmos que se men ionan en esta memoria.En el apítulo 2 se ofre e una visión de onjunto de los métodos a tuales deresolu ión de sistemas de e ua iones lineales. En general, hay dos aproxima ionesa la solu ión de los sistemas lineales: los métodos dire tos y los métodos iterativos.En este apítulo se tratan las dos aproxima iones, entrándose prin ipalmente enlos métodos iterativos por ser los que mejor se adaptan a nuestro aso de estudio.También se tratan, de forma pormenorizada, aspe tos relevantes de la paraleliza iónde las opera iones involu radas en los métodos iterativos, que son los que utilizamosen este trabajo.El apítulo 3 es una introdu ión a la teoría de las transformadas wavelet. Setratan, entre otros, aspe tos relevantes de la transformada wavelet omo sus pro-piedades, en on reto la multirresolu ión, la lo alidad en tiempo y fre uen ia, labiortogonalidad, o la estabilidad de las des omposi iones. También se muestran

Page 27: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Introdu ión 3aquí las llamadas wavelets de segunda genera ión. Y en on reto, se estudia un nue-vo método de onstru ión de wavelets, llamado lifting, que será el que utilizaremosen los esquemas de resolu ión que proponemos. Este apítulo es importante paraentender el material in luido en esta memoria. También se muestran en este apítuloresultados, en uanto a tiempo de eje u ión y a elera ión, de la implementa ión delesquema lifting en sistemas multipro esador.En el apítulo 4 presentamos el esquema de resolu ión de sistemas de e ua ioneslineales que proponemos para sistemas densos. La idea de usar las transformadaswavelet se presenta omo una alternativa para a elerar el pro eso de resolu ión degrandes sistemas densos de e ua iones. Si se apli a la transformada wavelet a unamatriz de oe� ientes densa, dependiendo de la naturaleza de las dis ontinuidadesque nos en ontremos, la matriz transformada resultante tendrá un patrón de dis-persión que se puede explotar para a elerar el pro eso de resolu ión del sistemamediante métodos iterativos. Se des riben y evalúan en este apítulo dos esquemasde resolu ión utilizando las transformadas wavelet. El primero es ade uado parala resolu ión de sistemas de e ua iones que presentan una matriz de oe� ientessuave, es de ir, sin degenera iones. El segundo es una variante que proponemospara la apli a ión del esquema general a matri es que presentan zonas no suaves yque, por lo tanto, no podrían utilizar el primero de los esquemas. El esquema queproponemos preserva la onvergen ia del esquema lási o. Mostramos también aquíresultados de su implementa ión en multi omputadores.El apítulo 5 profundiza en el estudio de pre ondi ionadores ade uados paralos métodos de resolu ión. Se des riben y evalúan varios patrones de dispersiónade uados para la forma ión de pre ondi ionadores dispersos SPAI e ILU que a túenbien sobre matri es densas. Se muestran resultados de la onstru ión y apli a iónde estos pre ondi ionadores sobre sistemas multi omputador.Como apli a ión prá ti a de lo estudiado en apítulos anteriores, en el apítulo6 se dis ute una implementa ión paralela de la formula ión usada para el análisisdel re imiento de grietas en estru turas, el método DBEM. Se evalúa el esquemade resolu ión de e ua iones propuesto en esta memoria, apli ándolo a los sistemaslineales que surgen de la apli a ión de este ódigo BEM sobre problemas reales.Por último, se indi an las prin ipales on lusiones y aporta iones de este trabajo,y se men ionan las líneas de investiga ión abiertas por el mismo.

Page 28: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4 Introdu ión

Page 29: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Capítulo 1Computadores paralelos y suprograma iónDesde la apari ión de los primeros omputadores digitales, los diseñadores han �jado omo uno de sus objetivos primordiales el in remento de la velo idad de opera ión.Por otra parte, ada vez es mayor el número de ampos de investiga ión dondeson pre isos los omputadores de alto rendimiento, omo en simula ión limatoló-gi a, físi a de altas temperaturas, romodinámi a uánti a, álgebra lineal, análisislineal, et . Mejorar la te nología utilizada para la implementa ión de los ompo-nentes del omputador, re�nar el diseño lógi o de los subsistemas, o mejorar losalgoritmos para la resolu ión de problemas pueden ser aminos que ondu en a la onse u ión de velo idades de opera ión superiores. Una aproxima ión diferente pa-ra la onse u ión de di ho objetivo es el pro esamiento paralelo. El pro esamientoparalelo [KGGK94℄ onstituye el on epto bási o sobre el que se fundamentan lasarquite turas multipro esador.La idea bási a del pro esamiento paralelo es la subdivisión del problema en un onjunto de partes resolubles de forma on urrente, de manera que el tiempo totalde resolu ión del problema quede dividido por el número de pro esadores utiliza-dos. El grado de onse u ión de este objetivo depende bási amente de dos fa tores:de la sobre arga omputa ional generada por la paraleliza ión del problema y delequilibrio de arga onseguido entre el onjunto de pro esadores. A tualmente la omputa ión masivamente paralela se ve omo la úni a alternativa viable para supe-rar los grandes retos pendientes de la super omputa ión. Estas máquinas presentanventajas evidentes sobre sus ante esoras superes alares y ve toriales, puesto que5

Page 30: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6 Capítulo 1. Computadores paralelos y su programa iónpueden ofre er un rendimiento mayor a un oste inferior.El obstá ulo fundamental para el avan e de la omputa ión paralela es el proble-ma de la programa ión, ya que los ompiladores que dete tan paralelismo automá-ti amente presentan todavía límites a su apli abilidad. La programa ión paralelade una arquite tura multipro esador se realiza mediante lenguajes que permitanexpresar el paralelismo e inter ambiar informa ión entre los pro esadores. En estesentido la meta prin ipal ha sido en ontrar un me anismo para la programa iónparalela independiente de la máquina.En este apítulo des ribimos brevemente las ara terísti as de la programa iónparalela así omo las arquite turas de las máquinas Cray T3E y AP3000 de Fujitsu,que han sido las empleadas para evaluar los ódigos paralelos que hemos desarrolladoen nuestro trabajo.1.1 Cara terísti as de los omputadores paralelosEl nombre de omputador paralelo engloba un amplio rango de sistemas de distintostipos. Existen iertas ara terísti as bási as que permiten lasi� ar estos sistemasen varios modelos bási os. Entre las más desta ables podemos onsiderar el �ujo deinstru iones y datos, la organiza ión de la memoria, la topología de inter onexión,el modelo de programa ión y la granularidad.1.1.1 Flujo de instru iones y datosEn uanto al �ujo de instru iones y datos, entre las distintas lasi� a iones quepodemos en ontrar está la reada por Flynn [Fly72℄, que se ara teriza por ser unade las más simples. Esta ordena ión se basa en la observa ión del paralelismo delos �ujos de instru iones y de datos posibles. Según esto, se en uentran uatro ategorías:1. SISD (Simple Instru ión�Simple Dato): Son las máquinas on un úni o pro- esador, que eje utan instru iones de forma se uen ial.2. SIMD (Simple Instru ión�Múltiple Dato): Se ara teriza porque todas lasunidades de eje u ión paralela están sin ronizadas y todas responden a unaúni a instru ión. Todos los pro esadores eje utan el mismo programa sobre

Page 31: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

1.1. Cara terísti as de los omputadores paralelos 7diferentes onjuntos de datos bajo la supervisión de una unidad de ontrolúni a.3. MISD (Múltiple Instru ión�Simple Dato): Corresponde a un modelo sinutilidad prá ti a.4. MIMD (Múltiple Instru ión�Múltiple Dato): Cada pro esador puede eje u-tar un programa distinto sobre datos distintos. Según el modo de ompartirla informa ión se distinguen dos tipos:� Multipro esadores: Son sistemas de memoria ompartida. La omu-ni a ión entre ellos se estable e a través de la memoria.� Multi omputadores: Usan memoria distribuida por lo ual deben o-muni arse vía paso explí ito de mensajes.Los dos tipos de arquite turas paralelas más extendidas son los omputadoresSIMD y los omputadores MIMD. Hasta ha e po o, se dis utía a menudo sobre losméritos relativos de ambas arquite turas. Las máquinas SIMD podían onstruirsede una forma más sen illa y e onómi a que las MIMD. La desventaja prin ipalque se les atribuía era que úni amente se adaptaban bien a una ierta lase deproblemas, omo, por ejemplo, el pro esamiento de imagen en las que una mismaopera ión se realiza sobre todos los píxeles de la imagen. Quizás, debido a estehe ho y al abaratamiento de los mi ropro esadores de propósito general, la mayoríade los fabri antes de máquinas paralelas se han esforzado en utilizar pro esadoresde propósito general para onstruir arquite turas MIMD.1.1.2 Organiza ión de la memoriaLa forma en la que los pro esadores realizan la omuni a ión on el subsistema dememoria determina de forma signi� ativa el rendimiento de un sistema multipro- esador. En los omputadores paralelos a tuales se pueden en ontrar dos grandestipos: sistemas de memoria ompartida y sistemas de memoria distribuida.Los omputadores on memoria ompartida utilizan una úni a unidad entralde memoria a la que todos los pro esadores tienen a eso dire to. En este esquemase asume que los pro esadores poseen idénti os me anismos para a eder a la me-moria omún, que está estru turada en módulos uyo número debe ser omparableal número de pro esadores para una mejor explota ión del paralelismo. En estos

Page 32: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

8 Capítulo 1. Computadores paralelos y su programa iónsistemas se pueden produ ir on�i tos de memoria, uando varios pro esadores pre-tenden a eder al mismo módulo, que pueden provo ar una pérdida signi� ativa derendimiento. Estos on�i tos pueden gestionarse mediante una serie de té ni as, omo los semáforos, y disminuirse in orporando a hes o memorias lo ales.Por otro lado, están los omputadores on memoria distribuida, en los que adapro esador tiene su propia memoria lo al a la que los demás no pueden a ederdire tamente. La omuni a ión entre pro esadores se realiza a través de una red deinter onexión. Cuando un pro esador ne esita un dato de la memoria lo al de otro,suspende su eje u ión hasta que obtiene el dato por la red de inter onexión. Poreso la topología utilizada para one tar los pro esadores resulta fundamental para onseguir un buen rendimiento de los ódigos paralelos.La mayoría de los sistemas masivamente paralelos a tuales son de memoria dis-tribuida, para evitar los problemas de on�i to de memoria aso iados on ientoso miles de pro esadores ompartiendo una gran memoria global. Los sistemas dememoria ompartida tienen, sin embargo, un atra tivo espe ial, debido a su relativafa ilidad de programa ión.En los últimos años han surgido arquite turas que intentan ombinar las ventajasde los dos modelos previamente des ritos en uanto a es alabilidad y fa ilidad deprograma ión, dando lugar a arquite turas de memoria ompartida�distribuida. Sonsistemas en los uales la memoria está físi amente distribuida pero se puede a edera ella usando té ni as software o hardware/software omo si fuera un modelo dememoria ompartida, usando un úni o espa io de dire ionamiento global, e in lusogestión de la oheren ia entre a hes lo ales a ada nodo. Combinan las ventajasde ambas aproxima iones porque, siendo máquinas de memoria distribuida, puedenser programadas virtualmente omo máquinas de memoria ompartida de formatransparente para el usuario. Las máquinas de este tipo se pueden lasi� ar en dostipos:� NUMA (Non�Uniform Memory A ess): son máquinas on un espa io de di-re iones físi o estáti o. Esta lase se puede subdividir en varios subgruposdependiendo del me anismo de oheren ia a he utilizado:� CC�NUMA (Ca he Coherent � NUMA): NUMA on a he oherente porhardware. Un ejemplo de este tipo es el sistema multipro esador SGIOrigin 2000 [LL97℄.� NCC�NUMA (Non Ca he Coherent � NUMA): NUMA sin a he ohe-

Page 33: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

1.1. Cara terísti as de los omputadores paralelos 9rente por hardware. Un ejemplo es el Cray T3E [S o96℄.� COMA (Ca he Only Memory A ess): en este aso tendríamos un espa iode dire iones dinámi o en el ual las memorias lo ales son tratadas omomemorias a he. En esta ategoría tendríamos el sistema KSR�1 (KendallSquare Resear h) [FBR93℄.1.1.3 TopologíaComo hemos visto, en las máquinas de memoria distribuida, la estru tura de lared de onexión va a determinar en gran medida el rendimiento del sistema. Elinter onexionado debe tender a redu ir el oste de las omuni a iones sin in remen-tar en ex eso el hardware del sistema. Son mu has las formas en las que se puedeestable er la inter onexión entre un onjunto de pro esadores. Entre las más ha-bituales desta an la hiper ubo, la malla 2D o 3D (pro esadores dispuestos en unarejilla bidimensional o tridimensional), la toroide, anillo, árbol, et . De entre todasestas, la topología hiper ubo es una de las más atra tivas pues posee un número de onexiones dire tas mayor que la mayoría de las topologías restantes. Sin embargo,es una topología bastante ostosa, desde el punto de vista hardware, y difí ilmentees alable.1.1.4 Modelo de programa iónLas apli a iones paralelas deben ser es ritas siguiendo un modelo de programa ión.El aso más simple de eje u ión paralela onsiste en el modelo de multiprograma- ión, en el ual varios programas se uen iales son eje utados simultáneamente sobrediferentes pro esadores sin ninguna intera ión entre ellos. Pero el aso más inte-resante lo onstituyen los programas paralelos propiamente di hos. Bási amente sepuede de ir que existen uatro alternativas para onstituir un programa paralelo: laparaleliza ión manual usando pase de mensajes, la paraleliza ión manual de sistemasde memoria ompartida, la paraleliza ión semi�automáti a basada en el paradigmade paralelismo de datos, y la paraleliza ión automáti a. A ontinua ión vamos arealizar una breve introdu ión a ada una de ellas.Modelo de programa ión de pase de mensajes: de�ne un onjunto de pro e-sos on su propio espa io de memoria, pero que pueden omuni arse on otros

Page 34: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

10 Capítulo 1. Computadores paralelos y su programa iónpro esos mediante el envío y la re ep ión de mensajes a través de la red de in-ter onexión. El modelo asume que un pro eso ualquiera puede enviar un men-saje a ualquier otro. La implementa ión de esta metodología se suele realizarutilizando librerías añadidas a los lenguajes de programa ión estándar, funda-mentalmente C y Fortran. A tualmente existen librerías estándar ampliamentedifundidas omo PVM (Parallel Virtual Ma hine) [GBD+94, GBD+96℄ y MPI(Message Passing Interfa e) [GLS94, Mes94℄. Se utiliza prin ipalmente enmultipro esadores de memoria distribuida MIMD y en redes de esta iones detrabajo, lo que permite usar este modelo en redes heterogéneas ompuestaspor diferentes sistemas on distintas arquite turas. Una medida importanteen la e� ien ia de un programa paralelo de este tipo es la rela ión entre eltiempo que onsumen los nodos pro esando datos y el tiempo empleado en las omuni a iones.Modelo de programa ión de sistemas de memoria ompartida: los progra-mas paralelos eje utados en sistemas de memoria ompartida se des omponenen varios pro esos que omparten los datos aso iados a una por ión de suespa io de dire iones. La oordina ión y oopera ión entre los pro esos serealiza a través de la le tura y es ritura de variables ompartidas y a través devariables de sin roniza ión. Cada pro eso puede llevar a abo la eje u ión deun sub onjunto de itera iones de un lazo omún, o bien, de forma más gene-ral, ada pro eso puede obtener sus tareas de una ola ompartida. El uso dehebras (threads) en los nuevos lenguajes permite al programador rear y on-trolar a tividades paralelas en su programa. La programa ión más e� iente,aunque di� ultosa, se estable e a través de onstru iones de bajo nivel tales omo barreras de sin roniza ión, regiones ríti as, lo ks, semáforos, et .Modelo de programa ión de paralelismo de datos: es un modelo de progra-ma ión laramente heredado de las máquinas SIMD y se utiliza prin ipalmentepara simpli� ar la programa ión de sistemas de memoria distribuida. En estaaproxima ión, un programa se uen ial se implementa on dire tivas o anota- iones insertadas en el programa para guiar al ompilador en su tarea de distri-buir los datos y las omputa iones. Los lenguajes de paralelismo de datos máspopulares son CM�Fortran (Conne tion�Ma hine Fortran) [Thi94℄, Fortran D[FHK+90℄, Craft [PMM94℄, Vienna Fortran [ZBC+92℄ y, más re ientemente,el HPF (High Performan e Fortran) [For96℄.Paraleliza ión automáti a: el ompilador asume todas las estrategias y de isio-nes, y genera automáti amente la versión paralela equivalente al ódigo se-

Page 35: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

1.2. Computadores paralelos de memoria distribuida 11 uen ial es rito en un lenguaje de programa ión onven ional. En general,los paralelizadores automáti os a tuales ofre en buenos resultados uando los ódigos a paralelizar tienen patrones de a eso a los datos regulares. Sinembargo, la paraleliza ión automáti a de ódigos irregulares, y entre ellos los ódigos dispersos, es una tarea mu ho más ompli ada y que no ha en ontradotodavía una solu ión e� iente. Varios grupos de investiga ión están trabajan-do en este ampo, entre los que abe desta ar el proye to SUIF [HAA+96℄,Polaris [BDE+96℄ y PFA/PCA [Sil96b, Sil96a℄.1.1.5 Nivel de paralelismoEn lo que respe ta a la granularidad, esta es una forma de medir el grado de parale-lismo que explota el sistema [FJL+88℄, un indi ador de la antidad de omputa ionesque pueden realizar los pro esadores sin intera ionar entre ellos. Así, en un modelode granularidad gruesa, el programa se divide en varias partes que pre isan po a omuni a ión entre ellas. Los omputadores MIMD, que están formados por pro- esadores potentes y débilmente inter one tados, on una sin roniza ión más sobrela base de tareas que de instru iones, pare en más ade uados para apli a iones degranularidad gruesa. En los modelos de granularidad �na, la omuni a ión entrelos pro esadores es más intensa y se eje utan relativamente po as instru iones sinne esidad de omuni a iones. Los omputadores SIMD son los más ade uados paralas apli a iones de granularidad �na, puesto que los pro esadores son más sen illosy fuertemente inter one tados entre sí.Para la realiza ión de esta memoria se han diseñado algoritmos paralelos que seeje utan en sistemas multipro esadores de memoria distribuida MIMD. Se analizael paralelismo a nivel de lazo (granularidad media) y se utiliza el modelo de progra-ma ión SPMD (Simple Programa�Múltiple �ujo de Datos) ha iendo que todos lospro esadores eje uten el mismo programa, trabajando sobre diferentes datos.1.2 Computadores paralelos de memoria distribui-daEstos sistemas (�gura 1.1) onstan de una serie de nodos, ada uno de los ualestiene un pro esador, una memoria lo al, que puede ser a edida úni amente por el

Page 36: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

12 Capítulo 1. Computadores paralelos y su programa iónpm

pm

p m

p m

p

m

p

m

p

m

m

p

m

p

m

p

Red de interconexión de paso de mensajes (malla, anillo, toro, etc)

Figura 1.1: Modelo genéri o de multipro esador de memoria distribuidapro esador al que está aso iada, y, en o asiones, dis os y otros dispositivos de E/S.Estos nodos se en uentran inter one tados mediante una red de paso de mensajesque propor iona onexiones estáti as punto a punto entre ellos. Debido a la mínima omparti ión de re ursos, estos sistemas re iben el nombre de débilmente a opla-dos. Este tipo de sistemas son más ade uados para la obten ión de rendimientoses alables. Sin embargo, el paso de mensajes impone una di� ultad a los progra-madores, al obligarles a distribuir las omputa iones y los onjuntos de datos sobrelos nodos y a estable er omuni a iones e� ientes entre los mismos. Mientras no sedesarrollen mejores ompiladores paralelizadores y sistemas operativos distribuidosmás e� ientes, la programa ión seguirá siendo el punto débil de estos sistemas.A lo largo de esta memoria utilizaremos los sistemas paralelos Fujitsu AP3000 yCray T3E para validar nuestras propuestas paralelas. Ambos sistemas son ompu-tadores de memoria distribuida que des ribimos a ontinua ión.1.2.1 El omputador paralelo AP3000 de FujitsuEl AP3000 de Fujitsu es un sistema que puede onsiderarse omo un omputadorparalelo de memoria distribuida o omo un grupo ( luster) de esta iones de trabajounidas por una red de alta velo idad. Este sistema utiliza pro esadores UltraSPARCde 64�bits omo nodos y, por tanto, puede eje utar una amplia variedad de softwareque ya se en uentra disponible para este tipo de esta iones de trabajo. En estos

Page 37: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

1.2. Computadores paralelos de memoria distribuida 13RTC

MSC

NODE

RTC

MSC

NODE

RTC

MSC

NODE

RTC

MSC

NODE

RTC

MSC

NODE

RTC

MSC

NODE

200 MB/S x 2 Bi-direccionalFigura 1.2: AP�Net del Fujitsu AP3000.pro esadores, la a he de primer nivel se en uentra parti ionada para instru ionesy datos, on 16 KB de apa idad ada una de las partes. La a he de segundo nivelse omparte entre instru iones y datos y tiene una apa idad de 2 MB.La red de inter onexión AP�Net está basada en una topología toroidal bidi-mensional y onsiste en un onjunto de ontroladores de en aminamiento (RTCs)en argados de dirigir los mensajes. En la �gura 1.2 se representa un esquema dela AP�Net. La tarjeta MSC (message ontroller) se en uentra one tada a adanodo a través de un SBus (bus de entrada/salida) para su onexión on la AP�Net.La tarjeta MSC está formada por un hip ontrolador de mensajes (MSC) y unamemoria bu�er. El MSC in luye ontroladores DMA para la transferen ia de da-tos on la AP�Net. La velo idad máxima de transferen ia es de 200 MB/s. Otras ara terísti as de este sistema se muestran en la tabla 1.1.1.2.2 El omputador paralelo Cray T3E de Sili onEl Cray T3E es un sistema de memoria ompartida físi amente distribuida tipoNUMA sin proto olo de oheren ia a he por hardware. Consta de 16 a 2048 pro- esadores DEC Alpha 21164 one tados mediante una red bidire ional en toro tri-dimensional omo se muestra en la �gura 1.3. La velo idad de omuni a ión entrepro esadores en ualquier dire ión a través del toro es de 480 MB/s.Cada elda del T3E, omo puede verse en la �gura 1.4, in luye un mi ropro-

Page 38: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

14 Capítulo 1. Computadores paralelos y su programa iónAP3000 T3ENúmero de PEs 4 a 1024 16 a 2048Ci lo de reloj 3.3 ns 2.2 nsRendimiento teóri o por pro esador 600 M�ops 900 M�opsRendimiento teóri o máximo 614 G�op 1843 G�opPro esador SPARC DEC Alpha 21164Memoria máxima por nodo 2 GB 2 GBMemoria máxima 2 TB 4 TBVelo idad de la red de inter onexión 200 MB/s 480 MB/sEstru tura de la red toro 2�D toro 3�DTabla 1.1: Cara terísti as del AP3000 y del Cray T3E esador DEC Alpha 21164, una memoria lo al de 64 MB a 2 GB, un router de omuni a ión y una lógi a de ontrol.El DEC 21164 es un mi ropro esador RISC on una a he de primer nivel parti- ionada para instru iones y datos de 8 KB ada una, y una a he de segundo nivelde 96 KB. El T3E mejora la velo idad de transferen ia de memoria del mi ropro- esador on un onjunto de registros externos que se utilizan omo fuente o destinopara las omuni a iones remotas, de tal manera que todas las omuni a iones ysin roniza iones remotas se realizan entre estos registros y la memoria.Este multipro esador se puede programar utilizando un modelo de pase de men-sajes o utilizando un modelo de programa ión de memoria ompartida. Más detallessobre su arquite tura se pueden en ontrar en [S o96℄. A modo omparativo, las a-ra terísti as más importantes del Fujitsu AP3000 y el Cray T3E se resumen en latabla 1.1 [vdS99℄.1.3 Programa ión de los sistemas paralelosLa programa ión paralela de una arquite tura multipro esador se realiza mediantelenguajes que permitan expresar el paralelismo e inter ambiar informa ión de lospro esadores entre sí [WA99℄.Los multi omputadores los hemos programado según el modelo de programa ión

Page 39: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

1.3. Programa ión de los sistemas paralelos 15

Figura 1.3: Red toro 3D en el Cray T3E.D

EC

2116

4

Mem

oria

Loca

l

Control

Router

De 64 MBa 2GB

Red de

bidireccional 3D toro

interconexión

Figura 1.4: Diagrama de bloques de una elda del Cray T3E.

Page 40: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

16 Capítulo 1. Computadores paralelos y su programa iónde pase de mensajes. El AP3000, al igual que su ante esor el AP1000, tiene supropia librería de pase de mensajes, llamada CellOs, para realizar las onstru io-nes paralelas tanto en C omo en Fortran. Esta librería in luye instru iones dedistribu ión y re ole ión de datos (gather/s atter), instru iones de redu ión, deradia ión, rutinas de omuni a ión, et . También tiene disponible la librería están-dar MPI (Message Passing Interfa e) [Sit94℄. En uanto al T3E, las librerías depase de mensajes disponibles son las librerías estándar MPI [GLS94, Mes94℄ y PVM[GBD+94, GBD+96℄, optimizadas por Sili on Graphi s para su eje u ión e� ientesobre sistemas Cray y Sili on Graphi s.Las propuestas paralelas que mostraremos a lo largo de esta memoria usan elparadigma de pase de mensajes. Este modelo de programa ión es bastante �exible,permitiendo implementar los modos MIMD (asignando diferentes pro esos en losdistintos pro esadores), SPMD (asignando el mismo programa a todos los pro e-sadores) e in luso el SIMD ( omo el SPMD pero manteniendo la sin roniza ión entodo momento).Para nuestros programas hemos de idido utilizar los lenguajes C y Fortran junto on las rutinas de omuni a ión de pase de mensajes MPI, de forma que los ódigosresultan portables a la mayoría de las máquinas y arquite turas a tuales. El modelobási o que usaremos será el SPMD, de tal forma que los pro esadores eje utan elmismo ódigo sobre diferentes onjuntos de datos. Los pro esadores trabajarán deforma independiente, sin ronizándose, si fuese ne esario, en las etapas de omuni a- ión.

Page 41: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Capítulo 2Resolu ión de sistemas de e ua ioneslineales densosLa resolu ión de sistemas lineales es, posiblemente, el nú leo omputa ional másimportante de mu has apli a iones ientí� as (por ejemplo, predi ión meteoroló-gi a, aerodinámi a, físi a nu lear o dinámi a de �uidos). Estos sistemas físi os semodelan a menudo por e ua iones que rela ionan derivadas par iales de diferentesvariables físi as. Estas e ua iones raramente tienen solu iones explí itas, por esolos problemas se resuelven a través de e ua iones en derivadas par iales (PDEs),que se dis retizan y dan lugar a un sistema de mu has e ua iones lineales. Losmétodos más populares para dis retizar PDEs son el método de diferen ias �nitas(FDM) [Ame77℄, y sus variantes, y el método de elementos �nitos (FEM) [BCO81℄.Las matri es que provienen de estas dis retiza iones son dispersas y on estru turairregular. Sin embargo, otros métodos que ada vez obran mayor relevan ia enapli a iones de ingeniería, omo son los métodos de elementos de ontorno (BEM)[BD92℄, dan lugar a sistemas de e ua iones donde la matriz de oe� ientes es den-sa y no�simétri a. Para estos problemas los métodos dire tos suelen ser e� ientes,pero, a medida que el tamaño del problema re e, la dimensión del sistema linealresultante se in rementa ex esivamente y el tiempo que se ne esita para resolver elsistema omienza a ser ríti o. En estos problemas la búsqueda de nuevos métodosde resolu ión gana importan ia, tanto para redu ir requerimientos de memoria omopara ahorrar en tiempo de omputa ión.En general, hay dos aproxima iones a la solu ión de los sistemas lineales: losmétodos dire tos y los métodos iterativos. Los métodos dire tos obtienen la solu-17

Page 42: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

18 Capítulo 2. Resolu ión de sistemas de e ua iones lineales densos ión exa ta (en aritméti a real) on un número �nito de opera iones, mientras quelos métodos iterativos generan una se uen ia de aproxima iones a la solu ión que onverge en ella al �nal del método. Generalmente, los métodos dire tos son másapropiados para matri es densas o matri es en banda, mientras que los iterativos loson para matri es muy grandes y dispersas, omo por ejemplo las que se obtienende e ua iones diferen iales par iales en tres dimensiones.En este apítulo vamos a des ribir los métodos de resolu ión que se suelen em-plear para resolver sistemas de e ua iones lineales.2.1 Métodos dire tosSea el sistema de e ua iones lineales de la forma:Ax = b (2.1)donde A es la matriz de oe� ientes densa, b es el ve tor término independiente y xla solu ión al problema.Los métodos dire tos para la resolu ión de estos sistemas se basan en la fa to-riza ión de la matriz de oe� ientes A para onvertir el sistema lineal dado en otro on un formato más simple. Entre los métodos dire tos más populares se en uentranla elimina ión gaussiana y las fa toriza iones ompletas.El método de elimina ión gaussiana [DER86℄ se basa en el he ho de quereemplazar una e ua ión en un sistema por una ombina ión lineal de sí misma on otra u otras e ua iones del sistema no ambia la solu ión del mismo. De estaforma se pueden diferen iar dos pasos en el pro eso de elimina ión gaussiana. Elpaso (1) es la redu ión del sistema. Esto se onsigue mediante ombina ioneslineales de las distintas e ua iones de forma que olo an eros en las posi ionespor debajo de la diagonal de la matriz A hasta que el sistema se onvierte en unsistema triangular superior. El paso (2) es la resolu ión por sustitu ión ha ia atrásdel sistema triangular que obtenemos en el paso anterior.El algoritmo de elimina ión gaussiana se puede es ribir omo se muestra en la�gura 2.1. Notar que en este algoritmo los a(k)ij se sobrees riben en los mismosespa ios de memoria que o upaban los elementos originales aij. De esta forma lamatriz original se destruye durante el pro eso, lo que puede dar lugar a erroresde redondeo, que analizaremos en la se ión 2.4. De forma similar los nuevos b(k)i

Page 43: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

2.1. Métodos dire tos 19For k = 1 . . .n-1For i = k + 1 . . .nl ik = aik=akkFor j = k + 1 . . .naij = aij�l ikakjbi = bi�l ikbk(a)For k = n . . . 1xk = bkFor i = k + 1 . . .nxk = xk � akixixk = xk=akk(b)Figura 2.1: Elimina ión gaussiana, (a) redu ión del sistema, (b) resolu ión.se pueden sobrees ribir en los espa ios originales de bi. Además los lik también sepueden es ribir en los espa ios de memoria orrespondientes a aik puesto que estosno se ne esitan después de omputar lik.Entre las fa toriza iones ompletas la más popular es la fa toriza ión LU.Esta se basa en la búsqueda de la fa toriza ión de la matriz de oe� ientes originalA de la forma A = LU . Esta fa toriza ión está rela ionada on la elimina ióngaussiana ya que U es una matriz triangular superior obtenida mediante el paso (1)de la elimina ión gaussiana y L es una matriz triangular inferior donde todos loselementos de la diagonal son unos y los elementos debajo de ella, lij, son los fa toresmultipli ativos usados en la elimina ión de la variable j usando la e ua ión i. Deesta forma el algoritmo de elimina ión gaussiana es matemáti amente equivalenteal siguiente pro eso:1. Fa toriza ión de la matriz: A = LU2. Resolu ión del sistema triangular inferior: Ly = b3. Resolu ión del sistema triangular superior: Ux = yEsta formula ión es muy útil para implementar variantes omputa ionales delpro eso de elimina ión. En on reto, es muy útil uando hay distintos ve toresindependientes para un mismo problema. En este aso, la fa toriza ión se realizauna sola vez y las resolu iones triangulares son las úni as que se repiten.Otros ejemplos de fa toriza iones ompletas son la Cholesky (fa toriza ión LUpara matri es simétri as), la QR y la transforma ión de Householder.

Page 44: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

20 Capítulo 2. Resolu ión de sistemas de e ua iones lineales densos2.2 Métodos iterativosLos métodos iterativos han ganado popularidad en gran variedad de áreas de la omputa ión ientí� a para la resolu ión de grandes sistemas de e ua iones lineales[Saa96℄. Hasta ha e po o se preferían los métodos dire tos para apli a iones realesdada su robustez y omportamiento prede ible. Sin embargo, omo veremos en lase ión 2.4, estos métodos presentan problemas a la hora de apli arlos a determina-dos asos. El desarrollo de una gran variedad de resolutores iterativos y la ne esidad re iente de resolver grandes sistemas de e ua iones ha supuesto un giro rápido ha ialas té ni as iterativas en mu has apli a iones.2.2.1 Métodos iterativos bási osLos primeros métodos iterativos para resolver grandes sistemas lineales se basaronen relaja ión de oordenadas. Empezando on una solu ión aproximada dada, estosmétodos modi� an las omponentes de la aproxima ión (una o varias al mismotiempo y en un ierto orden) hasta que se al anza la onvergen ia. Cada una deestas modi� a iones, llamadas pasos de relaja ión, tiene omo objetivo eliminar unao varias omponentes del ve tor residual.Los métodos iterativos bási os pueden expresarse de forma simple por:xk = Bxk�1 + (2.2)donde ni la matriz B ni el ve tor dependen del ontador de itera ión. Por esto,estos métodos también se denominan métodos iterativos esta ionarios. Los uatrométodos esta ionarios más populares son: el método de Ja obi, el método Gauss�Seidel, el método SOR (Su essive Overrelaxation) y el método SSOR (Symmetri Su essive Overrelaxation) [B+94℄.Hoy en día estas té ni as han aído en desuso, aunque ombinadas on métodosmás e� ientes que se omentarán más adelante pueden resultar exitosas. A pesarde esto, los métodos esta ionarios todavía siguen siendo muy populares en algunos ampos.

Page 45: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

2.2. Métodos iterativos 212.2.2 Métodos de proye iónLa mayoría de las té ni as iterativas que existen en la prá ti a para resolver grandessistemas de e ua iones lineales utilizan, de una forma u otra, pro esos de proye ión.Un pro eso de proye ión representa una forma anóni a de un subespa io paraextraer la solu ión aproximada a un sistema lineal.En este apartado des ribimos estas té ni as de un modo general.Métodos del subespa io de KrylovEstas té ni as se basan en pro esos de proye ión en subespa ios de Krylov. Unmétodo general de proye ión para resolver sistemas linealesAx = b (2.3)es un método que bus a una solu ión aproximada xm de un subespa io afín x0+Kmde dimensión m imponiendo la ondi ión de Petrov�Galerkin:(b� Axm)?Lm (2.4)donde Lm es otro subespa io de dimensión m. Aquí, x0 representa una solu iónini ial arbitraria. Un método del subespa io de Krylov es un método para el ual elsubespa io Km es el subespa io de Krylov:Km(A; r0) = spanfr0; Ar0; :::; Am�1r0g; (2.5)donde r0 = b� Ax0.Las diferentes versiones de los métodos del subespa io de Krylov surgen de di-ferentes ele iones del subespa io Lm. Entre ellas tenemos el GC (Conjugate Gra-dient), BiCG (Bi�Conjugate Gradient), GMRES (Generalized Minimal Residual),CGS (Conjugate Gradient Square), BiCGSTAB (Bi�Conjugate Gradient Stabilized),et . Dado que estos métodos son altamente e� ientes serán los que usaremos pa-ra la resolu ión de nuestros sistemas de e ua iones. Veremos aquí brevemente unades rip ión de alguno de ellos.CGEl método CG (Conjugate Gradient) es un método de resolu ión efe tivo para sis-temas simétri os y de�nidos positivos [B+94℄. Es el más antiguo, y también el más

Page 46: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

22 Capítulo 2. Resolu ión de sistemas de e ua iones lineales densospopular, de los métodos iterativos no�esta ionarios. El método genera su esivasaproxima iones a la solu ión (xi) al onstruir la itera ión i�ésima omo un elementode x0 + spanfr0; � � � ; Ai�1r0g (2.6)de forma que minimiza (xi � x)TA(xi � x); (2.7)donde x es la solu ión exa ta de Ax = b. Esta minimiza ión esta garantizada sólosi A es simétri a y de�nida positiva.Los ve tores xi se a tualizan en ada itera ión on un múltiplo (�i) del ve tordire ión de búsqueda pi: xi = xi�1 + �ipi (2.8)y los orrespondientes residuos ri = b� Axi se a tualizan omo:ri = ri�1 + �iqi (2.9)donde qi = Api.El parámetro �i se elige de forma que minimi e rTi A�1ri. El pseudo ódigo delmétodo pre ondi ionado se muestra en la �gura 2.2.GMRESEl método GMRES está pensado para resolver matri es no�simétri as [SS86℄. Es unaextensión de otro método de proye ión, el MINRES, para sistemas no�simétri os.Este método genera una se uen ia de ve tores ortogonales que deben alma enarsepara ser usados en itera iones su esivas. La forma más popular del GMRES se basaen la ortogonaliza ión de Gram�S hmidt modi� ada y usa un parámetro de reini iopara ontrolar los requerimientos de memoria.En el método GMRES las bases del espa io Km se forman explí itamente:wi = AviFor k = 1; : : : ; iwi = wi� < wi; vk > vkEndvi+1 = wi=kwik

Page 47: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

2.2. Métodos iterativos 23Cal ular r0 = b� Ax0 para una solu ión ini ial x0 dada.For i = 1; 2; : : :Solve Mzi�1 = ri�1�i�1 = rTi�1zi�1if i = 1pi = z0else�i�1 = �i�1=�i�2pi = zi�1 + �i�1pi�1endifqi = Api�i = �i� 1=pTi qixi = xi�1 + �ipiri = ri�1 � �iqiComprobar la onvergen ia y ontinuar si fuese ne esarioend Figura 2.2: Algoritmo CG.donde v1 = r0=kr0k2.Apli ada a la se uen ia de Krylov fAkr0g, esta ortogonaliza ión se denominamétodo de Arnoldi : rn?fAr0; A2r0; : : : ; Anr0g (2.10)Los produ tos internos < wi; vk > y kwik se alma enan en una matriz de Hessenberg.Las itera iones del GMRES se onstruyen omo:xi = x0 + y1v1 + : : :+ yivi (2.11)donde los yk se eligen para minimizar la norma del residuo kb� Axik.El algoritmo GMRES tiene la propiedad de que la norma del residuo puede al u-larse sin formar toda la itera ión. Enton es, la forma ión de la itera ión (opera ión ostosa) se puede posponer hasta que la norma del residuo se ha e lo su� ientementepequeña.Si no se usa reini io, el GMRES onvergerá ( omo todo método de Krylov) enmenos de n pasos (si asumimos el uso de aritméti a real). La mayor desventaja

Page 48: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

24 Capítulo 2. Resolu ión de sistemas de e ua iones lineales densoswhile(no onvergen ia) dor0 = b�Ax0� =prT0 r0for j = 1; :::;m dow = Avjfor i = 1; :::;m dohi;j = vTi wendvj+1 = w �Pji=1 hi;jvihj+1;j =qvTj+1vj+1vj+1 = vj+1hj+1;jendym es el valor de y minimizando k �e1 �Hy k2# H es la matriz Hessenberg (m+ 1)�m# dada por hi;j y e1 = [1; 0; :::; 0℄Tx0 = x0 +M�1VmymendFigura 2.3: Algoritmo GMRES (ortogonaliza ión de Gram�S hmidt).del GMRES es la antidad de trabajo y memoria que requiere. Si n es grande losrequerimientos omputa ionales y de memoria en ausen ia de reini io son ex esivos.A menos que se obtenga una rápida onvergen ia, el oste re erá rápidamente hastaser prohibitivo. La forma de superar esta limita ión es reini iando la itera ión.Tras un número m de itera iones los datos a umulados se borran y los resultadosintermedios se usan para ini iar las próximas m itera iones. Este pro edimientose repite hasta al anzar la onvergen ia. La di� ultad está en onseguir un valorapropiado para m. De he ho, el elemento ru ial para que el GMRES(m) a túe onéxito se en uentra en la ele ión del reini io m.Como ya se ha men ionado, existen varias implementa iones del método GM-RES [Saa96℄, omo la que usa ortogonaliza ión de Gram�S hmidt o la que usa latransforma ión de Householder. Desde el punto de vista del paralelismo la orto-gonaliza ión de Gram�S hmidt es preferible a la transforma ión de Householder ypor esta razón será la que adoptemos nosotros. El pseudo ódigo para la versión delGMRES(m) se muestra en la �gura 2.3

Page 49: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

2.2. Métodos iterativos 25BiCG y CGSEl método GMRES retiene la ortogonalidad de los residuos usando re urren ia, a osta de un alto requerimiento de memoria. Hay otros métodos, omo el BiCG (Bi�Conjugate Gradient), el CGS (Conjugate Gradient Squared) o el BiCGSTAB (Bi�Conjugate Gradient Stabilized) [Saa96, B+94℄, que siguen aproxima iones distintas.Las itera iones del BiCG onstruyen aproxima iones en el mismo subespa io deKrylov que el GMRES pero on menos oste en ada paso. La diferen ia on elGMRES es que la ondi ión de ortogonalidad (2.10) es ahora:rn?f~r0; AT ~r0; : : : ; (AT )n�1~r0g (2.12)donde ~r0 2 C N es un ve tor que normalmente se toma igual a r0.Este método al ula la aproxima ión xi usando O(1) opera iones ve torialesfrente a las O(n) opera iones que ne esita el GMRES. La demanda de memoria noaumenta on el número de itera iones.El he ho de ne esitar el uso de AT puede resultar una desventaja para iertasestru turas de datos dispersas, debido al indire ionamiento de las mismas, y tam-bién a la hora de onseguir implementa iones paralelas e� ientes. El CGS es unamodi� a ión del BiCG que sólo requiere multipli a ión por la matriz A, por ello re-sulta atra tivo para situa iones donde el uso de AT es impra ti able. La idea detrásde este método es la búsqueda de una se uen ia de itera iones de tal forma que lanorma del residuo en ada itera ión satisfaga:rj = �2j(A)r0 (2.13)en lugar de rj = �j(A)r0, ondi ión que umple el método BiCG. En las e ua ionesanteriores �j(A) es un ierto polinomio de grado j, donde j es el número de itera iónen que se en uentra el método, que satisfa e �j(0) = 1.Una de las desventajas fundamentales del CGS es que su omportamiento anivel de onvergen ia es bastante irregular, lo que puede dar lugar a una pérdida depre isión al a tualizar el residuo. Además, tiende a diverger uando la ele ión dela solu ión ini ial está próxima a la solu ión real. El pseudo ódigo de este métodose muestra en la �gura 2.4.

Page 50: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

26 Capítulo 2. Resolu ión de sistemas de e ua iones lineales densos omputar r0 = b�Ax0 para una solu ión ini ial x0elegir ~r (por ejemplo ~r = r0)for i=1,2,. . .�i�1 = ~rT ri�1if �i�1 = 0 falloif i = 1u1 = r0p1 = u1else�i�1 = �i�1=�i�2ui = ri�1 + �i�1(qi�1 + �i�1pi�1)end ifMp = piv = Ap�i = �i�1=~rT vqi = ui � �ivMu = ui + qixi = xi�1 + �iuq = Auri = ri�1 � �iq omprobar onvergen iaend Figura 2.4: Algoritmo CGS.BiCGSTABEl BiCGSTAB [Saa96℄ se ha desarrollado para resolver sistemas lineales no�simétri os.En lugar de bus ar un método que lleve a un residuo de la forma 2.13, el BiCGSTABprodu e itera iones uyos residuos son de la forma:r0j = j(A)�j(A)r0 (2.14)donde �j(A) es el polinomio aso iado a los algoritmos BiCG o CGS y j(A) es unnuevo polinomio que se de�ne re ursivamente en ada paso on la idea de estabilizarla onvergen ia del algoritmo original (el BiCG).El oste omputa ional por itera ión del BiCGSTAB es similar al BiCG o elCGS, pero no requiere la utiliza ión de la matriz traspuesta, y evita los patronesde onvergen ia irregulares del método CGS. Este método ne esita dos produ tosmatriz�ve tor por itera ión y uatro produ tos es alares. El pseudo ódigo se mues-tra en la �gura 2.5.

Page 51: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

2.2. Métodos iterativos 27 omputar r0 = b�Ax0 para una solu ión ini ial x0elegir ~r (por ejemplo ~r = r0)for i=1,2,. . .�i�1 = ~rT ri�1if �i�1 = 0 falloif i = 1pi = ri�1else�i�1 = (�i�1=�i�2)(�i�1=!i�1)pi = ri�1 + �i�1(pi�1 � !i�1vi�1)end ifMp = pivi = Ap�i = �i�1=~rT vis = ri�1 � �ivi omprobar la norma de s; si es pequeña ha er xi = xi�1 + �ip y STOPMs = st = As!i = tT s=tT txi = xi�1 + �ipi + !isri = s� !it omprobar onvergen iaend Figura 2.5: Algoritmo BiCGSTAB.Métodos rela ionados on las e ua iones normalesExisten varias té ni as para onvertir sistemas lineales no simétri os en simétri os.Si un sistema de e ua iones lineales Ax = b tiene una matriz de oe� ientes nosimétri a una posible solu ión puede ser apli ar el gradiente onjugado a un sistemasimétri o de�nido positivo rela ionado on el anterior omo:ATAx = AT b (2.15)Estas nuevas e ua iones se ono en omo e ua iones normales. Normalmenteestas aproxima iones se evitan porque, aunque la aproxima ión es fá il de enten-der y de implementar, la onvergen ia del método dependerá ahora del uadradodel número de ondi ión de la matriz original. Por lo tanto, la onvergen ia delpro edimiento sobre las e ua iones normales puede resultar demasiado lenta. Sinembargo, se han realizado algunas propuestas para mejorar la estabilidad numéri a

Page 52: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

28 Capítulo 2. Resolu ión de sistemas de e ua iones lineales densosdel método y las e ua iones normales pueden ser ade uadas en algunas situa iones[B+94℄. In luso existen apli a iones en las uales estos métodos se pre�eren a losmétodos del subespa io de Krylov.2.2.3 Convergen iaUna vez vistos los distintos métodos iterativos que podemos emplear, la uestiónes: ¾todos estos métodos di�eren signi� ativamente entre ellos en su apa idad pararesolver un sistema de e ua iones? Si es así, ¾ ual de ellos es mejor y para quématri es? En la literatura, estas preguntas han sido, en su mayor parte, abordadasde forma empíri a mediante asos de estudio on matri es reales. Sin embargo,aunque estos asos de estudio son indispensables omo pruebas de �abilidad, lasrespuestas que ofre en no se pueden generalizar.En [NRT92℄ se realiza un estudio más teóri o sobre la onvergen ia de las itera- iones en matri es no�simétri as. En parti ular este trabajo muestra que la onver-gen ia de las e ua iones normales depende de los valores singulares de la matriz Amientras que la onvergen ia del GMRES o CGS depende de sus autovalores. Enresumen, el número de itera iones que un método ne esita para onverger dependeen gran medida de las propiedades espe trales de la matriz de oe� ientes, por esonormalmente los métodos iterativos se ombinan on una segunda matriz que trans-forma la matriz de oe� ientes en otra on propiedades espe trales más favorables.Esta matriz de transforma ión se denomina pre ondi ionador y de ello trataremosa ontinua ión.2.3 Pre ondi ionadoresLa falta de robustez es una aren ia importante de los resolutores iterativos frentea los métodos dire tos. Este in onveniente di� ulta la a epta ión de los métodositerativos en apli a iones de ingeniería a pesar de su atra tivo para la resolu ión degrandes sistemas. Tanto la e� ien ia omo la robustez de las té ni as iterativas sepueden mejorar usando pre ondi ionadores ade uados, ya que, aunque los métodosvistos en los apartados anteriores están orre tamente formulados en la teoría, esmuy probable que en la prá ti a sufran de una pobre onvergen ia para problemasque surgen de apli a iones típi as, omo dinámi a de �uidos o simula ión de dispo-sitivos ele tróni os. El pre ondi ionamiento es un ingrediente lave para el éxito de

Page 53: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

2.3. Pre ondi ionadores 29los métodos iterativos en estas apli a iones. Los pre ondi ionadores se utilizan paramejorar las propiedades de los sistemas lineales on el �n de a elerar la onvergen iade los métodos iterativos.2.3.1 Itera iones pre ondi ionadasPre ondi ionar signi� a simplemente transformar el sistema lineal original en otro on la misma solu ión pero que es más sen illo y rápido de resolver on un métodoiterativo. En general, la e� a ia de un método iterativo depende tanto de la alidadde pre ondi ionador omo del método parti ular empleado. En la siguiente se ióntrataremos algunos de los pre ondi ionadores más populares.Consideremos una matriz A y asumamos que disponemos de un pre ondi ionadorade uado para este sistema M . El pre ondi ionadorM es una matriz que aproximaa A de algún modo. Desde un punto de vista prá ti o, el úni o requerimiento deM es que el sistema lineal Mx = b sea fá il de resolver. Esto se debe a que losmétodos iterativos pre ondi ionados requerirán la solu ión de un sistema lineal onla matrizM en ada itera ión. Así, reemplazamos el sistema original por el sistemapre ondi ionado: M�1Ax =M�1bSin embargo, la transforma ión anterior del sistema lineal A ! M�1A no es lamás omún. Una forma más orre ta de introdu ir el pre ondi ionador es dividir elmismo omo M =M1M2 y transformar el sistema omo:M�11 AM�12 (M2x) =M�11 bLas matri es M1 y M2 se llaman pre ondi ionadores izquierdo y dere ho respe tiva-mente [Saa96, B+94℄.Un método iterativo puede pre ondi ionarse de a uerdo on el siguiente esquema:1. Se transforma el ve tor término independiente b M�11 b.2. Se apli a el método iterativo sin pre ondi ionar, pero reemplazando la matrizde oe� ientes A por M�11 AM�12 y a la solu ión se la denomina y.3. Se al ula x =M�12 y.El punto teóri o importante es que la matriz de oe� ientes transformadaM�11 AM�12preserva algunas propiedades de la matrizA, por ejemplo, si A es simétri a y de�nida

Page 54: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

30 Capítulo 2. Resolu ión de sistemas de e ua iones lineales densospositiva y M1 = MT2 , enton es la matriz de oe� ientes transformada también essimétri a y de�nida positiva [Saa96℄.Sin embargo, en la prá ti a, la división del pre ondi ionador M y la eje u ióndel esquema anterior no se ne esita. Es posible introdu ir un paso más durante la omputa ión del algoritmo: resolver u de Mu = v;es de ir, un paso que apli a el pre ondi ionador entero. Los pseudo ódigos de losalgoritmos de la se ión anterior ya muestran las versiones pre ondi ionadas de losmétodos. Si no se quiere usar pre ondi ionador, M se sustituiría por la matrizidentidad.2.3.2 Té ni as de pre ondi ionamientoUn pre ondi ionador es ualquier forma de modi� a ión implí ita o explí ita deun sistema lineal original que ha e que sea más fá il de resolver on un métodoiterativo. Por ejemplo, es alar todas las �las del sistema lineal para ha er que loselementos diagonales sean unos es una forma explí ita de pre ondi ionar. El sistemaresultante se puede resolver on un método iterativo y probablemente requiera menospasos para al anzar la onvergen ia que el sistema original (aunque esto no estágarantizado a priori).Como hemos visto anteriormente, la onvergen ia de los métodos iterativos de-pende de las propiedades espe trales de la matriz de oe� ientes [NRT92℄. Por lotanto, se puede intentar la transforma ión del sistema lineal en otro equivalente deforma que posea la misma solu ión, pero que tenga propiedades espe trales másfavorables. Por ejemplo, si una matriz M aproxima de algún modo la matriz ori-ginal de oe� ientes A, el sistema transformado: M�1Ax = M�1b tiene la mismasolu ión que el sistema original Ax = b pero las propiedades espe trales de la matrizde oe� ientes M�1A son mejores que las de A.En la �gura 2.6 se muestra un ejemplo de la distribu ión de autovalores para unamatriz A y para una matriz M�1A resultado de pre ondi ionarla (en este ejemplose ha utilizado el pre ondi ionador Ja obi). Los autovalores en el aso de la matrizA se en uentran alejados del valor unidad, lo que indi a que la onvergen ia de unmétodo del subespa io de Krylov será pobre para este problema. Los autovaloresen el segundo aso se entran en el valor unidad y están próximos a él, es de ir, onvergerá más rápidamente que A.

Page 55: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

2.3. Pre ondi ionadores 31

−2 −1.5 −1 −0.5 0 0.5 1 1.5 2−60

−50

−40

−30

−20

−10

0

10

20

30

40

parte real

parte

imag

inar

ia

DISTRIBUCIÓN DE AUTOVALORES

(a) Matriz A

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.50.6

0.7

0.8

0.9

1

1.1

1.2

1.3

1.4

parte real

parte

imag

inar

ia

DISTRIBUCIÓN DE AUTOVALORES

(b) Matriz M�1AFigura 2.6: Distribu ión de autovalores para la matriz original y la matrizpre ondi ionada.En esta se ión mostraremos brevemente las té ni as más populares usadas parapre ondi ionar un sistema general. En el apítulo 5 nos entraremos en la búsquedade nuevos pre ondi ionadores ade uados para matri es densas.Mu has investiga iones se han entrado en el desarrollo de buenos pre ondi io-nadores. Existen tres riterios que deben tenerse en uenta a la hora de bus ar unbuen pre ondi ionador M para la matriz de oe� ientes A:

Page 56: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

32 Capítulo 2. Resolu ión de sistemas de e ua iones lineales densos� Usando el pre ondi ionador M se debe redu ir el número de itera iones ne e-sarias para la onvergen ia.� M debe ser fá il de al ular. Es de ir, el oste de onstruir el pre ondi ionadordebe ser pequeño en ompara ión on el oste total de resolu ión del problema.� El sistema Mz=r debe ser fá il de resolver.Una de las múltiples lasi� a iones de los pre ondi ionadores es aquella que losdivide en algebrai os y multinivel [Guo92℄. Los algebrai os dependen sólo de laestru tura algebrai a de la matriz de oe� ientes A, se pueden ali� ar omo aposteriori, ya que sólo dependen de la matriz de oe� ientes y no de los detalles delpro eso de onstru ión del sistema lineal. El es alado diagonal y las fa toriza ionesin ompletas omo las de Cholesky y LU son ejemplos típi os de pre ondi ionadoresalgebrai os. Los pre ondi ionadores multinivel son menos generales ya que dependendel ono imiento de la e ua ión diferen ial o el pro eso de dis retiza ión que da lugaral sistema. Estos pre ondi ionadores se ali� an omo a priori, ya que dependen dela informa ión sobre la onstru ión de la matriz de oe� ientes antes que de lamatriz en sí misma.El mayor rendimiento se onsigue on los pre ondi ionadores multinivel, ya quemu hos de ellos onsiguen una tasa de onvergen ia óptima. Además, mu hos pre- ondi ionadores multinivel son fá ilmente paralelizables. Sin embargo, requieren un ono imiento a priori sobre la forma ión del sistema lineal, y esta informa ión nosiempre se ono e.Los pre ondi ionadores a posteriori son más generales. De los men ionados an-teriormente, el es alado diagonal se puede paralelizar fá ilmente, pero esta té ni asólo impli a una pequeña mejora en el grado de onvergen ia. Las fa toriza ionesin ompletas son efe tivas en la redu ión del número de itera iones ne esarias parala onvergen ia pero son, en general, muy difí iles de paralelizar. Así pues, se ha ene esario el desarrollo de pre ondi ionadores a posteriori efe tivos y paralelizables.En el apítulo 5 se tratan más exhaustivamente los pre ondi ionadores apropia-dos para la resolu ión de sistemas densos mediante métodos iterativos. Tambiénse omentan allí diversos aspe tos de su implementa ión paralela y los resultadosobtenidos.

Page 57: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

2.4. Métodos dire tos frente a métodos iterativos 332.4 Métodos dire tos frente a métodos iterativosA la hora de sele ionar un método de resolu ión es la naturaleza del problemala que determina uál es el más apropiado. Sin embargo, existen uatro aspe tosfundamentales que pueden onsiderarse a la hora de omparar los métodos dire tosfrente a los métodos iterativos.� Complejidad omputa ional : En los métodos dire tos, el fenómeno por el ual,en el pro eso de fa toriza ión, un elemento de la matriz del sistema que esini ialmente ero pasa a ser un valor diferente de ero se denomina llenado(�ll�in). Cuantos más elementos sufran llenado más opera iones tendrá querealizar el algoritmo y más arga omputa ional supondrá. Debido a esta ara terísti a los métodos dire tos ne esitan más memoria y tienen una om-plejidad omputa ional mayor que los métodos iterativos al ser apli ados asistemas lineales on matri es de oe� ientes dispersas. Apli ados a sistemasdensos, los métodos dire tos fun ionan muy bien para sistemas lineales relati-vamente pequeños, pero al aumentar el tamaño de las matri es de oe� ientesla omplejidad omputa ional llega a ser prohibitiva [GO93℄.� Requisitos de memoria: Desde el punto de vista de alma enamiento en me-moria, al produ irse el llenado se han de alma enar en memoria, además delsistema original, todas las nuevas entradas no nulas. Tales requisitos de me-moria podrían llegar a impedir su implementa ión en sistemas reales. Se han reado métodos para redu ir este llenado, omo por ejemplo apli ando té ni asde reordenamiento de matri es [Pom97, SO97℄, que pueden redu ir onsidera-blemente el número de elementos que sufren este fenómeno, pero, sin embargo,los requerimientos de memoria siguen siendo demasiado altos para matri es deelevado tamaño. Dependiendo del aso que se esté analizando, los métodosdire tos podrían llegar a ser ompetitivos frente a los métodos iterativos. En on reto, en el aso de matri es de oe� ientes densas, el método de elimina- ión gaussiana se en uentra entre los métodos óptimos para resolver sistemas uyo tamaño no sea demasiado grande. Sin embargo, si el tamaño del pro-blema re e, los requerimientos de memoria podrían ha er impra ti able elmétodo dire to. Además, a la hora de implementar la resolu ión del sistemaen máquinas paralelas, los métodos iterativos suelen ser más a onsejables quelos métodos dire tos.� Errores de redondeo: Los métodos dire tos son más propensos a errores de

Page 58: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

34 Capítulo 2. Resolu ión de sistemas de e ua iones lineales densosredondeo debido a que la matriz se modi� a durante el pro eso de ál ulo,mientras que en los métodos iterativos la matriz permane e invariable. Estopuede dar lugar a que se produz a una a umula ión de los errores de redondeo.Aunque el error en una opera ión individual pueda ser pequeño, el error globalpuede ser ex esivamente elevado. Además puede produ irse anula ión atas-tró� a ha iendo que el algoritmo sea numéri amente inestable. Para evitaresto se utilizan té ni as de pivote par ial o total, lo que ompli a el algoritmoy disminuye su grado de paralelismo.� Grado de paralelismo: Los métodos dire tos presentan un grado de parale-lismo bajo, lo que limita su es alabilidad en sistemas paralelos. En general,los métodos iterativos uentan on la ventaja de ser altamente paralelizables[KA96, ST94℄. Se obtienen mejores rendimientos al implementar métodos ite-rativos sobre arquite turas multipro esador de memoria distribuida que los onseguidos on los métodos dire tos, a pesar de los esfuerzos realizados en losúltimos años para introdu ir paralelismo en los métodos dire tos ya existentes,o para rear métodos dire tos paralelos [Par97, Ase97, Mar99, Tou98℄.Por todas estas razones, en la a tualidad, los métodos iterativos se suelen preferira la hora de realizar simula iones en varias dimensiones, que es pre isamente el ontexto en el que enmar amos nuestro trabajo. En el apítulo 6 se apli arán lasté ni as que propondremos a lo largo de esta memoria a la resolu ión de sistemasreales que provienen de simula iones utilizando la formula ión BEM.2.5 Métodos iterativos paralelosDis utiremos aquí la implementa ión paralela de los métodos iterativos omentadosen la se ión 2.2. Estos métodos iterativos onstan fundamentalmente de las si-guientes opera iones: onstru ión del pre ondi ionador, opera iones ve tor�ve tor,produ tos matriz�ve tor, y resolu ión del pre ondi ionador. De esta rela ión, lospoten iales uellos de botella son la onstru ión del pre ondi ionador y la resolu- ión del mismo. Estas opera iones serán tratadas en más detalle en el apítulo 5.En esta se ión nos entraremos en la paraleliza ión de los produ tos matriz�ve tory opera iones ve tor�ve tor.La mayoría de los resolutores se implementan usando subrutinas de libreríasde álgebra lineal omo BLAS o LAPACK [DDHH88℄. En nuestro aso hemos im-

Page 59: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

2.5. Métodos iterativos paralelos 35plementado todas las opera iones anteriores en rutinas separadas, que puedan sermodi� adas fá ilmente por el usuario para ade uarse a las estru turas de datos quemejor se adapten al problema en uestión.2.5.1 Opera iones ve torialesLos métodos iterativos impli an opera iones sobre ve tores, in luyendo produ toses alares, sumas ve toriales, es alado de ve tores o ál ulo de la norma.A tualiza ión de ve tores. Son opera iones de la forma: y(1 : n) = y(1 : n) +�x(1 : n) donde � es un es alar y x e y son ve tores, llamadas opera iones dea tualiza ión de ve tores u opera iones AXPY.Estas opera iones se pueden llevar a abo sin grandes problemas en ualquierade los modelos de omputadores que hemos introdu ido en el apítulo 1. En el aso de omputadores de memoria distribuida, distintos ve tores involu radosen una opera ión se deben en ontrar distribuidos de igual forma entre lospro esadores, es de ir, los índi es de las omponentes de los ve tores mapeadosa un pro esador dado deben ser las mismas. En este aso, la opera ión sobreel ve tor se tradu e en p opera iones on dn=pe omponentes ada una (dondep es el número de pro esadores), que no requieren omuni a iones.Produ tos es alares. Existe un número de opera iones que usan todas las om-ponentes de un ve tor para al ular un resultado que se ne esitará en todoslos pro esadores. Estas opera iones se denominan opera iones de redu ión yel produ to es alar es un ejemplo de ellas. En este aso se ne esita una versióndistribuida de la versión se uen ial para al ular el produ to es alar de dosve tores x e y que se en uentran distribuidos entre los pro esadores. De he ho,la opera ión produ to es alar distribuida se al ula omo un produ to es alarde los ve tores lo ales a ada pro esador y, posteriormente, on el resultado serealiza una suma redu ida a todos los pro esadores. De esta forma el resultadodel produ to es alar queda en ada uno de los pro esadores. Para un númerogrande de pro esadores, esta lase de opera iones involu ran gran número de omuni a iones. Por otra parte, esta es una opera ión bastante usual, y, por lotanto, los diseñadores de omputadores paralelos han realizado esfuerzos im-portantes para propor ionar hardware y software que reali en e� ientementeestas opera iones de redu ión global.El pseudo ódigo del produ to es alar distribuido se puede es ribir omo:

Page 60: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

36 Capítulo 2. Resolu ión de sistemas de e ua iones lineales densosroutine p_dottlo = ddot(nlo ; x; in x; y; in y)dot = redu e(tlo ;`sum')end routinedonde ddot es la fun ión de BLAS que al ula el produ to es alar y redu ees una opera ión de redu ión de las librerías de pase de mensajes (por ejemplo,MPI) que se invo a on el parámetro `sum' indi ando el tipo de opera ión quese realiza (en este aso, una suma).2.5.2 Produ tos matriz�ve torEl nú leo fundamental lave en los métodos iterativos es siempre la evalua ión de losprodu tos matriz�ve tor. Los produ tos matriz�ve tor son relativamente fá iles deimplementar en omputadores paralelos. Primero dis utiremos los algoritmos paramatri es densas, y posteriormente los algoritmos para el aso de matri es dispersasalma enadas en el formato CCS que se omenta en el apéndi e A. Supondremos,en los siguientes ejemplos, que la matriz de oe� ientes se en uentra distribuida porbloques de �las, omo se des ribe en el apéndi e A.Caso de matri es densasLos nú leos omputa ionales que realizan opera iones on matri es dispersas, omoprodu tos matriz�ve tor, están íntimamente aso iados a la estru tura de datos quese está usando. Sin embargo, las aproxima iones para opera iones que usan matri esdensas son omunes a diferentes algoritmos. Las dos formas más populares de reali-zar la opera ión produ to matriz�ve tor en se uen ial son usar produ tos es alares,o bien usar opera iones AXPY.Si usamos la aproxima ión de produ tos es alares en su versión distribuida, ten-dríamos: For i = 1; nlo y(i) = p_dot(A(i; 1 : n); x(1 : n))EndEste algoritmo pro ede por �las, al ulando el produ to es alar de la �la i de lamatriz A on el ve tor x y asignando el resultado a y(i). El ve tor x está distribuido

Page 61: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

2.5. Métodos iterativos paralelos 37 on redundan ia en todos los pro esadores, para evitar omuni a iones en el pro esode ál ulo. El resultado, sin embargo, queda distribuido sin redundan ia entre todoslos pro esadores, del mismo modo que las �las de la matriz.Si usamos la aproxima ión que realiza opera iones AXPY:y(1 : n) = 0:0For j = 1; ny(1 : nlo ) = y(1 : nlo ) + x(j) � A(1 : nlo ; j)Endel algoritmo usa las olumnas en lugar de las �las y los resultados par iales se siguenutilizando en las siguientes opera iones AXPY. Usando este algoritmo el ve tor yqueda distribuido también de la misma forma que la matriz A.El esquema que nosotros utilizamos para evaluar los produ tos matriz densa�ve tor es este último, puesto que, usando lenguaje Fortran, el alma enamiento de lamatriz se realiza por olumnas, on lo que optimizamos el a eso a la misma.Caso de matri es dispersasUno de los esquemas más generales para alma enar matri es dispersas es el esquemaCCS (Compress Column Storage), que des ribimos en el apendi e A. El produ tomatriz dispersa�ve tor usando el formato CCS se puede expresar, para una matrizN �N , en forma se uen ial omo:y(1 : nlo ) = 0:0For j = 1; nFor i = olptr(j); olptr(j + 1)� 1y(rowind(i)) = y(rowind(i)) + A(i) � x(j)EndEndComo el método sólo multipli a las entradas no nulas, la opera ión supone un oste de dos ve es el número de no eros en A, lo que signi� a ahorrar omputa ionesfrente al algoritmo denso, que requiere 2N2 opera iones.La di� ultad on el algoritmo anterior surge uando la matriz está distribuida yqueremos ha er la opera ión paralela. Supongamos que el ve tor que interviene en

Page 62: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

38 Capítulo 2. Resolu ión de sistemas de e ua iones lineales densosel produ to, xlo , se en uentra distribuido entre los pro esadores y alineado on losbloques de la matriz A. Antes de omenzar el lazo que realiza el produ to matriz�ve tor realizamos una opera ión de re ole ión (gather) del ve tor xlo ha ia todoslos pro esadores, de forma que todos posean el ve tor x ompleto y no ne esiten omuni a iones durante el lazo que realiza la opera ión. De esta forma el algoritmose uen ial que veíamos arriba se puede es ribir en paralelo omo:x(1 : n) = gather(xlo )y(1 : nlo ) = 0:0For j = 1; nFor i = olptr(j); olptr(j + 1)� 1y(rowind(i)) = y(rowind(i)) + A(i) � x(j)EndEnddonde el ve tor de resultados, y, ontinúa distribuido y alineado on las �las de lamatriz A.Al igual que para el aso denso, para el aso de matri es dispersas existen tambiénotras formas de realizar el produ to matriz�ve tor, pero son más ade uadas a otrosesquemas de alma enamiento.2.5.3 Otras opera ionesLas versiones paralelas de la mayoría de los métodos iterativos vistos en esta me-moria, omo el CGS o el BiCGSTAB, sólo requieren implementa iones paralelas delos nú leos men ionados arriba. Sin embargo, para el GMRES, el pro edimiento deortogonaliza ión ne esita ser reevaluado. En este paso, para nuestra implementa ióndel resolutor de Hessenberg, se realiza el ál ulo de forma redundante (en todos lospro esadores). Es de ir, ada pro esador analiza las rota iones orrespondientes ala fa toriza ión de la matriz Hessenberg por sí mismo, on el resolutor triangular.Aunque esto pueda pare er ine� iente, el tiempo real que se requiere para esta ope-ra ión suele ser pequeño, omparado on el oste total de la itera ión, y por tantono se suele paralelizar este paso. Sin embargo, el tamaño de la matriz Hessenbergdepende del parámetro de reini io que se imponga al método GMRES. Cuanto másalto sea el valor de ese parámetro mayor será el tamaño de la matriz triangular ymayor será el oste de su resolu ión.

Page 63: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Capítulo 3Transformada WaveletLas apli a iones de las transformadas wavelets son muy amplias. Ini ialmente sehan desarrollado independientemente en distintos ampos de la matemáti a, físi a uánti a, ingeniería elé tri a y geología. Intera iones entre estos ampos durantelos últimos años han dado paso a nuevas apli a iones tales omo ompresión deimágenes, visión arti� ial, radar, predi ión de terremotos, et .En este apítulo se realiza una breve introdu ión a estas transformadas, des- ribiendo sus prin ipios, omparándolas on las lási as transformadas de Fouriery estable iendo propiedades y otros aspe tos espe iales de las mismas. Esta intro-du ión es interesante para entender el fun ionamiento de las transformadas sobreun onjunto de datos, y más adelante, su apli a ión a los métodos de resolu ión.Se puede en ontrar más informa ión sobre el tema en las publi a iones que refe-ren iamos, tanto en este apítulo omo en los siguientes. Si lo que se desea es unaintrodu ión pueden onsultarse [SN96, Wid93, Gra95, Nie99℄. Si, por el ontrario,la apli a ión es más espe í� a, o el tratamiento que se requiere más teóri o, se puedeen ontrar informa ión, entre otros, en [R+92, Mey93, Dau92, Chu92, Kai94, SS96℄.También se des riben en este apítulo las llamadas wavelets de segunda genera- ión. En on reto, se estudia un nuevo método de onstru ión de wavelets, llamadoesquema lifting [Swe95℄, que será el que utilizaremos en el esquema de resolu iónque proponemos en los apítulos siguientes. En la se ión 3.8 proponemos una im-plementa ión paralela de este nuevo método para la onstru ión de wavelets.

39

Page 64: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

40 Capítulo 3. Transformada Wavelet3.1 Perspe tiva generalLa transformada de una señal (o ve tor) es una nueva representa ión de di ha se-ñal. Uno de los propósitos prin ipales de las transforma iones es ver patrones en laseñal transformada que no son tan laros en la original. Las transformadas waveletson transforma iones matemáti as que des omponen las señales en diferentes om-ponentes de fre uen ia, y estudian ada omponente on una resolu ión diferente.Esta propiedad de multirresolu ión las ha e ventajosas sobre la tradi ional trans-formada de Fourier para el análisis de situa iones físi as ara terizadas por señalesque ontienen dis ontinuidades y pi os.La idea fundamental en la que se basan las transformadas wavelet es la de anali-zar las señales a diferentes es alas. Una wavelet es una fun ión que satisfa e iertosrequerimientos y que se usa para la representa ión de datos o de otras fun iones.Esta idea no es nueva: aproxima iones a una señal usando superposi ión de fun- iones han existido desde prin ipios del siglo XIX, uando Fourier des ubrió quepodía superponer senos y osenos para representar otras fun iones. Sin embargo,los oe� ientes produ idos por la transformada de Fourier muestran el ontenido enfre uen ia de la señal entera, sin re�ejar, al menos dire tamente, omo evolu ionael espe tro.La transformada de Fourier determina sólo la existen ia de iertas fre uen iasen la señal y no dónde o urren en el tiempo. Una forma de obtener eso es dividirla señal en segmentos que se analizan de forma separada. Esta división es la basepara el pro edimiento ono ido omo Transformada de Fourier de Tiempo Corto.Idealmente uno toma la transformada de Fourier de se iones pequeñas, obteniendoun grupo de espe tros que orresponden a diferentes regiones de tiempo. Las se - iones pueden usarse enton es para entender los eventos que o urren en el espe tro.Desgra iadamente esto no es tan simple. A medida que la división de datos re e(mejor resolu ión en tiempo), el prin ipio de in ertidumbre nos di e que perdere-mos informa ión sobre el ontenido en fre uen ia de ada región. Este problema seresuelve teniendo en uenta que la es ala que usamos para analizar los datos juegaun papel espe ial, y esto es pre isamente lo que realiza el análisis on wavelets. Losalgoritmos wavelet pro esan datos a es alas o resolu iones diferentes.El pro edimiento de análisis on wavelets se ini ia adoptando una fun ión waveletprototipo, llamada wavelet madre. El análisis temporal se lleva a abo on unaversión ontraída (de alta fre uen ia) de la wavelet madre, mientras que el análisisen fre uen ias se efe túa on una versión dilatada (de baja fre uen ia) de la misma

Page 65: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

3.2. Transformada Wavelet ontinua 41wavelet. Dado que la señal o fun ión original puede representarse en términos de unaexpansión wavelet (usando los oe� ientes de una ombina ión lineal de fun ioneswavelet), las opera iones de datos pueden efe tuarse usando sólo los oe� ientes orrespondientes de la transformada.Si se es oje la wavelet que mejor se adapta a los datos que estamos analizando,y trun amos los oe� ientes por debajo de un umbral ade uado, los datos quedaránrepresentados por un onjunto de menor tamaño. Esta propiedad ha e que laswavelets sean una ex elente herramienta en el ampo de la ompresión de datos.Nuestro trabajo se basa en utilizar esta propiedad para onseguir una aproxima ióndispersa de una matriz densa y sa ar bene� io de esta situa ión para a elerar la onvergen ia de métodos de resolu ión iterativos.3.2 Transformada Wavelet ontinuaLa expansión wavelet típi a usa trasla iones y dilata iones de una fun ión �ja, lawavelet madre 2 L2(R). En el aso de transforma iones wavelet ontinuas, losparámetros de trasla ión y dilata ión varían ontinuamente. En otras palabras latransforma ión usa las fun iones: a;b(x) = 1pjaj �x� ba � on a; b 2 R; a 6= 0 (3.1)Estas fun iones se normalizan de forma que su norma en L2 sea onstante. Latransformada wavelet ontinua de una fun ión f 2 L2(R) se de�ne por:Wf(a; b) =< f; a;b > (3.2)donde <> denota el produ to interno de las dos fun iones. Usando la identidad deParseval, 3.2 puede es ribirse omo:2�Wf(a; b) =< f; a;b > (3.3)donde f es la transformada de Fourier de f y a;b la de a;b, y por tanto se veri� a: a;b(w) = apjaje�iwb (aw) (3.4)En términos generales, una wavelet es una fun ión que de ae rápidamente a ero fuera de un intervalo, tanto en tiempo omo en fre uen ia. Mallat [Mal89℄

Page 66: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

42 Capítulo 3. Transformada Waveletω

tFigura 3.1: Cubrimiento del dominio tiempo�fre uen ia para la transfor-mada waveletexpresa esto on la siguiente ondi ión:C = Z +10 j (!)j2! d! < +1 (3.5)donde es la transformada de Fourier de . Esto fuerza a que la respuesta enfre uen ia de aiga ha ia ero tanto en ero omo en +1, restringiendo la fun iónwavelet a una lase de �ltro pasa banda.La transformada wavelet es la proye ión de una señal en un grupo de fun ionesque son trasla iones y dilata iones de una wavelet dada. Esta dilata ión es lo queda lugar a una división logarítmi a del espa io de fases. Denotaremos una dilata iónwavelet por un fa tor a omo: a(x) = pa (ax) (3.6)y de�niremos la transformada wavelet de una fun ión f(x) a una es ala a y lo ali-za ión u omo: Wf (a; u) = Z +1�1 f(x) a �x� ua� dx (3.7)Un punto importante a tener en uenta es que esta e ua ión de transforma iónpuede ser es rita omo una onvolu ión:Wf (a; u) = f a ��ua� : (3.8)

Page 67: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

3.2. Transformada Wavelet ontinua 43ω

|s(ω)|

(a) An ho de banda de la trans-formada de Fourier. ω

|s(ω)|

(b) An ho de banda de la trans-formada waveletFigura 3.2: Respuesta en fre uen ia de la transformada de Fourier y de latransformada waveletEsta expresión no sólo es ru ial para la implementa ión de los algoritmos de trans-forma ión, sino que también da una idea de qué produ e la transforma ión wavelet.La transforma ión de Fourier de una wavelet a es ala a es: a(w) = 1pa �wa � (3.9)lo que impli a que el an ho de banda de una wavelet es onstante en una es ala lo-garítmi a. Como la transforma ión wavelet es sólo una onvolu ión on una fun iónwavelet, lo que realmente ha emos es �ltrar nuestra señal en bandas de fre uen iade an ho logarítmi o onstante variando el parámetro de es ala. Por supuesto, en- oger la es ala in rementa el número de wavelets que se ne esitan para ubrir el ejetemporal, lo que nos lleva a la obertura re tangular de la �gura 3.1.La respuesta en fre uen ias de la transformada de Fourier y de la wavelet semuestran en la �gura 3.2. Y en la �gura 3.3 se ompara la transformada de Fourier on la transformada wavelet en resolu iones de tiempo y fre uen ia. Mientras lasresolu iones en tiempo y fre uen ia de la transformada de Fourier son uniformesen el dominio total tiempo�fre uen ia, en la transformada wavelet varían. Paraaltas fre uen ias tenemos mejores resolu iones en tiempo y peores resolu iones enfre uen ia. A bajas fre uen ias, tenemos mejores resolu iones en fre uen ia y peoresresolu iones en tiempo. Sin embargo, la rela ión de an ho de banda y entro defre uen ia es onstante.

Page 68: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

44 Capítulo 3. Transformada Waveletω

tt t

ω

ω

21

1

2

(a) Transformada de Fourier

ω

t

ω

ω

1

1

2

tt2(b) Transformada waveletFigura 3.3: Compara ión de la transformada de Fourier y de la transforma-da wavelet, en resolu iones de tiempo y fre uen ia3.3 Análisis multirresolu ión3.3.1 La fun ión es alado y los subespa ios VjHay dos formas de introdu ir las fun iones wavelet: una es a través de la transfor-mada ontinua wavelet, omo se ha men ionado en la se ión previa, y otra es através del análisis multirresolu ión.Un análisis multirresolu ión es una des omposi ión en el espa io de HilbertL2(R), de una adena de subespa ios errados:::: � V�2 � V�1 � V0 � V1 � V2 � ::: (3.10) on las siguientes propiedades:1. Vj � Vj+1,2. v(x) 2 Vj , v(2x) 2 Vj+1 (dilata ión),3. v(x) 2 V0 , v(x+ 1) 2 V0 (trasla ión),4. S+1j=�1 Vj es denso en L2(R) y T+1j=�1 Vj = f0g,

Page 69: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

3.3. Análisis multirresolu ión 455. Una fun ión de es alado ' 2 V0 : f'(x� l)gl2Z es una base de V0.Como ' 2 V0 � V1, existe una subse uen ia fhkg de forma que la fun ión dees alado satisfa e: '(x) = 2Xk hk'(2x� k) (3.11)Esta e ua ión re ibe el nombre de e ua ión de re�namiento o e ua ión de dilata ión.De ella se sigue inmediatamente que la ole ión de fun iones f'j;lgl2Z, on:'j;l(x) = p2j'(2jx� l); (3.12)es una base de Vj.De las e ua iones (3.12) y (3.11) se obtiene:'j;l(x) = p2j 2Xk hk'(2j+1x� 2l � k)! = p2Xk hk�2l'j+1;k(x); (3.13)que será muy útil a la hora de dedu ir las e ua iones para la transformada waveletrápida.Integrando los dos términos de (3.11), y dividiendo por la integral de ', se tieneque: Xk hk = 1 (3.14)La fun ión de es alado está de�nida por la e ua ión de re�namiento y la norma-liza ión: Z +1�1 '(x)dx = 1 (3.15)En mu hos asos no se tiene una expresión explí ita para '. Sin embargo, hayalgoritmos rápidos que usan la e ua ión de re�namiento para evaluar la fun ión dees alado ' en los puntos diádi os (x = 2�jk; j; k 2 Z), y en mu has apli a iones nose ne esita la fun ión es alado propiamente, sino que se trabaja dire tamente onfhkg.3.3.2 La fun ión wavelet madre y los espa ios WjSe denota por Wj un espa io omplementario de Vj en Vj+1, es de ir, un espa io quesatisfa e: Vj+1 = Vj �Wj (3.16)

Page 70: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

46 Capítulo 3. Transformada WaveletNotar que el espa io Wj no es ne esariamente úni o; hay varias formas de omple-mentar Vj en Vj+1.El espa io Wj ontiene informa ión detalle ne esaria para pasar de una aproxi-ma ión en la resolu ión j a una aproxima ión en la resolu ión j+1. En onse uen ia,la suma dire ta de todos los subespa ios Wj es igual a L2(R):Mj Wj = L2(R) (3.17)Una fun ión es una wavelet madre si la ole ión de fun iones f (x � l)gl2Zes una base de W0. La ole ión de fun iones wavelet f j;lgl2Z es enton es una basede L2(R). La de�ni ión de j;l es similar al de 'j;l en la se ión anterior. Como lawavelet es un elemento de V0, existe una se uen ia fgkg de forma que: (x) = 2Xk gk'(2x� k): (3.18)De forma genéri a: j;l(x) = p2j (2jx� l); (3.19)que ombinada on la e ua ión (3.18) da lugar, da lugar a una expresión análoga ala 3.13: j;l(x) = p2Xk gk�2l'j+1;k(x); (3.20)rela ión útil para la dedu ión de la transformada wavelet rápida.3.4 La transformada wavelet rápidaComo Vj = Vj�1�Wj�1, una fun ión vj 2 Vj se puede es ribir de forma úni a omola suma de una fun ión vj�1 2 Vj�1 y una fun ión wj�1 2 Wj�1:vj(x) =Pk �j;k'j;k(x) = vj�1(x) + wj�1(x) ==Pl �j�1;l'j�l;l(x) +Pl j�1;l j�1;l(x) (3.21)En otras palabras, tenemos dos representa iones de la fun ión vj: una omo unelemento de Vj aso iada a la se uen ia f�j;kg; y otra omo una suma de elementosde Vj�1 y Wj�1 y aso iada a las se uen ias f�j�1;kg y f j�1;kg. Las siguientes rela- iones muestran ómo ambiar entre las dos representa iones. Teniendo en uenta

Page 71: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

3.5. Ban os de �ltros 47la rela ión (3.13):�j�1;l =< vj; 'j�1;l > = p2 < vj;Xk hk�2l'j;k >= p2Xk hk�2l�j;k (3.22)y de forma similar, teniendo en uenta (3.20), j�1;l = p2Xk gk�2l�j;k (3.23)La rela ión opuesta, es de ir, la obten ión de f�j;kg a partir de f�j�1;lg y f j�1;lgse dedu e igualmente de forma sen illa a partir de:Xk �j;k'j;k = Xl �j�1;l'j�1;l +Xl j�1;l j�1;l= Xl �j�1;lp2Xk hk�2l'j;k +Xl j�1;lp2Xk gk�2l'j;k= Xk 'j;k p2Xl hk�2l�j�1;l +p2Xl gk�2l j�1;l! ; (3.24)de donde: �j;k = p2Xl hk�2l�j�1;l +p2Xl gk�2l j�1;l (3.25)Estas fórmulas, apli adas re ursivamente, de�nen la transformada rápida wave-let ; las rela iones (3.22) y (3.23) de�nen la transformada dire ta, mientras la rela ión(3.25) de�ne la transformada inversa. Se denomina �rápida� porque su omplejidades O(n), es de ir, el oste es propor ional al tamaño de la señal.3.5 Ban os de �ltrosLa transformada wavelet puede implementarse mediante el uso de ban os de �ltros.Un �ltro es un operador de tiempo invariante que a túa sobre un ve tor de entrada.La salida es un ve tor que se obtiene de la onvolu ión de la entrada on un ve tor�jo h que ontiene los oe� ientes del �ltro.Un ban o de �ltros es simplemente un grupo de �ltros. El ban o de análisisse ompone, a menudo, de dos �ltros, uno pasa�baja y otro pasa�alta (�gura 3.4).Estos �ltros separan la señal de entrada en bandas de fre uen ia.

Page 72: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

48 Capítulo 3. Transformada Waveletdiferenciaspromedios

diferenciaspromedios

diferenciaspromedios

filtro pasa-baja filtro pasa-altaFigura 3.4: Resultado de apli ar los �ltros pasa�alta y pasa�baja a una señaldigital de entrada. Estos �ltros orresponden a la transformada waveletHaar.Un �ltro pasa�baja halla promedios, es de ir, suaviza las varia iones de la señal.Un salto es una omponente de fre uen ia alta, que el �ltro pasa�baja redu e oelimina. La respuesta es pequeña o nula er a de las fre uen ias más altas.Un �ltro pasa�alta halla las diferen ias, es de ir, resalta las varia iones de la

Page 73: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

3.5. Ban os de �ltros 49señal. Las partes suavizadas son omponentes de baja�fre uen ia, que el �ltro pasa�alta redu e o elimina. En este aso la respuesta en fre uen ia es pequeña o nula paralas fre uen ias bajas.Por separado, las señales �ltradas pasa�baja y pasa�alta no son invertibles. El�ltro pasa�baja elimina las altas fre uen ias y el �ltro pasa�alta elimina las fre uen- ias bajas. Conjuntamente, estos �ltros separan la señal en bandas de fre uen ias.Una di� ultad al usar un ban o de �ltros de ese tipo es que la longitud de la señalse dupli a. La solu ión es diezmar la salida del ban o. En on reto, el onjunto dedatos a la salida se divide por la mitad.3.5.1 La transformada wavelet a partir de �ltrosLa transformada rápida wavelet se puede implementar omo un par de �ltros FIR(Finite Impulse Response), llamado par QMF (Quadrature Mirror Filter). Un �ltroFIR realiza la onvolu ión de los oe� ientes de la wavelet on los datos del ve torde entrada, resultando una salida que es una versión diezmada de la entrada ( onla mitad de datos). El mismo pro edimiento se repite re ursivamente a las aproxi-ma iones más gruesas. La des omposi ión ompleta se puede representar omo unárbol de �ltros: �n;l ! �n�1;l ! �n�2;l ! ::: ! �0;l& & & & n�1;l n�2;l ::: 0;ldonde los oe� ientes � son las salidas del �ltro pasa�alta, mientras que los oe�- ientes son las salidas del �ltro pasa�baja. De forma similar se puede obtener elesquema de re onstru ión:�0;l ! �1;l ! �2;l ! ::: ! �n;l% % % % 0;l 1;l ::: n�1;lEn la �gura 3.5 se muestra de una forma grá� a la des omposi ión y posteriorre onstru ión de la señal utilizando un ban o de �ltros. El �ltro g es el �ltropasa�alta, y el �ltro h es el �ltro pasa�baja.La transforma ión lási a 2�D se realiza usando dos transforma iones 1�D, re-sultando en ada paso de la des omposi ión una imagen pasa�baja (la aproxima ión

Page 74: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

50 Capítulo 3. Transformada Waveletdescomposición

g

h

2

2

λn,l

reconstrucción

g

2

2λn−1,l

γn−1,l

λn,l

Figura 3.5: Un nivel de la des omposi ión de una wavelet y su re onstru - ión. Es un ban o de �ltros: la entrada se �ltra y divide a la mitad paraobtener una señal pasa-baja y una señal pasa�alta.AB

AA ABAB

BA

BB BA

BB AB BA

AA

AA

Figura 3.6: Transformada lási a wavelet en 2 dimensiones.gruesa) y tres imágenes detalle. La opera ión se muestra en la �gura 3.6, donde el uadrante BB representa la aproxima ión gruesa y los demás uadrantes las imá-genes detalle. Primero se apli a una transformada unidimensional a todas las �las,luego se repite para las olumnas. En un nivel superior, se pro ederá on los oe�- ientes del uadrante BB. De forma más espe í� a, en este nivel la des omposi iónwavelet lási a se implementa primero onvolu ionando las �las de la imagen quepertene en al uadrante BB on el par QMF y onservando todas las demás �las,y luego onvolu ionando las olumnas de la imagen pertene ientes al uadrante BB

Page 75: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

3.6. Re onstru ión 512 2

0 1 0

1

11

Figura 3.7: Fun iones orrespondientes a la wavelet Haar: fun ión waveletmadre y fun ión de es alado. on los mismos pares de �ltros y reteniendo todas las demás olumnas. El mismopro edimiento se apli a de nuevo a la aproxima ión más gruesa, y a todas las demássubse uen ias de aproxima iones, y así su esivamente.Un ejemplo muy ono ido, y usado fre uentemente, de bases wavelet es la fun iónde Haar, mostrada en la �gura 3.7, de la que resulta una wavelet de oe� ientesh0 = h1 = 1p2 , g0 = 1p2 y g1 = � 1p2 . Usando estos oe� ientes en las e ua iones 3.11y 3.18 obtenemos: '(x) = 2� 1p2'(2x) + 1p2'(2x� 1)� (3.26) (x) = 2� 1p2'(2x)� 1p2'(2x� 1)� (3.27)La �gura 3.8 muestra esquemáti amente un algoritmo de des omposi ión apli a-do a un onjunto de datos ejemplo. Por otro lado, la �gura 3.9 muestra esquemáti- amente un algoritmo de re onstru ión para el mismo ejemplo.3.6 Re onstru iónLa re onstru ión de la señal original es una tarea ru ial en mu has apli a ioneswavelet. Aunque en este apítulo hablaremos en general de las transformadas wave-let y sus distintas apli a iones, nuestro objetivo será la apli a ión de estas fun iones

Page 76: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

52 Capítulo 3. Transformada Wavelet�0 1 0 -3 2 1 0 1 2��1 1p2 � 1p2 1p2 3p2 �1 1p2 � 5p2 1p2 � 1p2��2 0 2 �2 1 �1��3 p2 �3 �p2Figura 3.8: Pro edimiento de des omposi ión de una se uen ia de 8 datospor una wavelet de 3 niveles. Los re uadros en negrita muestran las 8salidas. ��3 p2 H� ! 1 1 �3 �p2 G� ! -1 1. 0 2��2 0 2 H� ! 0 0 2p2 2p2 �2 1 �1 G� ! 1p2 � 1p2 � 1p2 1p2. 1p2 � 1p2 1p2 3p2��1 1p2 � 1p2 1p2 3p2 H� ! 12 12 � 12 � 12 12 12 32 32 �1 1p2 � 5p2 1p2 � 1p2 G� ! 12 � 12 � 52 52 12 � 12 � 12 12�0 1 0 -3 2 1 0 1 2Figura 3.9: Ejemplo de re onstru ión

Page 77: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

3.6. Re onstru ión 53a la resolu ión de sistemas de e ua iones densos. La re onstru ión de los datosoriginales es fundamental para poder resolver ade uadamente ualquier sistema dee ua iones. Si omprimimos el onjunto de datos se destruye informa ión, así quela re onstru ión perfe ta asume que no hay ompresión. En el mar o de la re- onstru ión perfe ta, una de las propiedades más interesantes de las wavelets es la(bi)ortogonalidad. Esta es ondi ión indispensable para obtener la re onstru iónde los datos originales.Sin embargo, nuestra inten ión es sa ar partido del grado de ompresión quese puede onseguir a partir de los datos transformados, por lo tanto, un puntoimportante a la hora de resolver satisfa toriamente los sistemas de e ua iones usandotransformadas wavelet es la sele ión de un umbral de trun amiento ade uado.3.6.1 Wavelets (bi)ortogonalesComo se ha men ionado antes, una de las propiedades más atra tivas de las transfor-madas wavelet es la ortogonalidad. Si las fun iones 'j;k(x) y j;k(x) son ortogonales:Vj ? Wj (3.28)h'j;l; 'j;l0i = Æl�l0 (3.29)h j;l; j0;l0i = Æj�j0Æl�l0 (3.30)enton es se pueden al ular los oe� ientes de la des omposi iónf(x) =Xl �j;l'j;l(x) +Xl j;l j;l(x) (3.31)tomando el produ to es alar on las fun iones de es alado y wavelet:�j;l = hf; 'j;li (3.32) j;l = hf; j;li (3.33)Esto garantiza que la des omposi ión en las bases wavelet es estable: si la fun iónf(x) ambia ligeramente, esto ausará también un ligero ambio en los oe� ientes�j;l y j;l. La identidad de Parseval asegura que:kfk2 =Xk �2j+1;k =Xl �2j;l +Xl 2j;l (3.34)

Page 78: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

54 Capítulo 3. Transformada Wavelet

0 20 40 60 80 100 120 140 160 180 200−0.4

−0.2

0

0.2

0.4

0.6

0.8

1Función escalado

0 20 40 60 80 100 120 140 160 180 200−1.5

−1

−0.5

0

0.5

1Función wavelet

Figura 3.10: Fun ión de es alado '(x) y fun ión wavelet madre (x) parala wavelet D4.La familia de wavelets onstruidas por Daube hies [Dau92℄ es un ejemplo dewavelets ortogonales. En la �gura 3.10 se muestran la fun ión de es alado '(x) y lafun ión wavelet madre (x) para una wavelet de esta familia ono ida omo �D4�porque su orrespondiente �ltro involu ra 4 oe� ientes.Si relajamos las ondi iones de ortogonalidad a ondi iones de biortogonalidadpodemos onseguir todavía transformadas wavelets on fun iones que poseen pro-piedades espe iales, que no son posibles si imponemos la ondi ión de ortogonalidad.En el aso biortogonal tenemos dos análisis multirresolu ión, el primario y el dual:� primario: Vj, Wj, 'j;k, j;k� dual: ~Vj, ~Wj, ~'j;k, ~ j;kLa ondi ión de biortogonalidad impli a:~Vj ? Wj (3.35)Vj ? ~Wj (3.36)h ~'j;l; 'j;l0i = Æl�l0 (3.37)h ~ j;l; j0;l0i = Æj�j0Æl�l0 (3.38)Como las wavelets biortogonales forman un base de Riesz:Akfk2 �Xl �2j;l +Xl 2j;l � Bkfk2; (3.39)

Page 79: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

3.6. Re onstru ión 55descomposición

g

h

2

2

λn,l

reconstrucción

g

2

2λn−1,l

γn−1,l

λn,l

~

~

Figura 3.11: El ban o de �ltros para la des omposi ión y re onstru ión dewavelets biortogonales.donde A y B son onstantes positivas1, lo que ha e que la des omposi ión sea tam-bién estable. Los oe� ientes �j;l y j;l se al ulan mediante produ tos interiores onlas fun iones duales: �j;l = hf; ~'j;li (3.40) j;l = hf; ~ j;li (3.41)Los ban os de �ltros se pueden seguir usando si utilizamos un par de �ltros dual(~h; ~g) (rela ionado on el análisis multirresolu ión dual) para la des omposi ión y elpar de �ltros primario (h; g) (rela ionado on el análisis multirresolu ión primario)para la re onstru ión (�gura 3.11). Ejemplos de wavelets biortogonales son lafamilia de wavelets onstruida por Cohen, Daube hies y Feauveau [CDF92℄.3.6.2 UmbralLos oe� ientes wavelet, omo hemos visto en se iones anteriores, se orresponden on detalles. Cuando estos detalles son pequeños se pueden omitir sin que afe tesustan ialmente a la imagen general. La idea de �ltrar los oe� ientes wavelet es una1En el aso ortogonal A = B = 1, resultando la e ua ión (3.34)

Page 80: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

56 Capítulo 3. Transformada Waveletforma de limpiar detalles que no son importantes. Esta idea no es nueva, y origina-riamente está motivada por el interés en redu ir el nivel de ruido en una señal. Eluso de una transformada wavelet seguida de un umbral ade uado onsigue redu irel nivel de ruido en la señal original, de forma que la señal re onstruida presentamenor distorsión que la entrada. Esta ombina ión de simpli idad y e� ien ia ha eque exista una extensa investiga ión en apli a iones wavelet para métodos de redu - ión de ruido. Sin embargo, no es el úni o ampo en el que se utilizan las té ni asde trun ado. Redu ir el onjunto de datos de una representa ión también motiva eluso de las transformadas wavelet en apli a iones de ompresión, y de he ho existenlazos entre la ompresión y la redu ión de ruido: las té ni as de ompresión waveletmuestran un efe to de supresión de ruido. Si los datos que queremos transformarson suaves, enton es se puede re onstruir el original a partir de los datos transforma-dos después de haber sido trun ados por un umbral ade uado. Esto también tieneimportantes apli a iones en estadísti a, por ejemplo, en problemas de regresión noparamétri a [HKPT98, Ogd97℄.Apli a ión del umbralPara �ltrar los oe� ientes de la wavelet se puede elegir entre distintas políti asde trun ado. La más sen illa, y la que nosotros usaremos, es apli ar un umbralduro, uya políti a es mantener o eliminar. Los valores absolutos de todos los oe� ientes wavelet se omparan on un umbral �jo �. Si la magnitud del oe� ientees menor que �, el oe� iente se elimina. En la �gura 3.12(a) se muestra la salidaen fun ión de la entrada para esta políti a de trun ado. Una alternativa a esteesquema sería el umbral blando, que se muestra en la �gura 3.12(b). Es similar a laanterior, pero los oe� ientes fuera del umbral ven disminuido su valor absoluto. La antidad en la que se ven disminuidos viene dada por el valor del umbral; de estaforma la fun ión que muestra la entrada�salida resulta ontinua. Aunque la primeraaproxima ión pare e, a primera vista, más natural, la ontinuidad de la opera ión detrun ar on un umbral blando tiene ventajas importantes. Por ejemplo, para iertasapli a iones, el algoritmo puede ser matemáti amente más tratable si la fun ión es ontinua. Por último, la ter era aproxima ión, que se muestra en la �gura 3.12( ),preserva los oe� ientes altos y tiene una transi ión más suave entre los oe� ientesdespre iables y los oe� ientes importantes. Como es obvio, en este aso, se puedenproponer distintas fun iones para llevar a abo el �ltrado de los datos. En general,estos sistemas más so�sti ados son omputa ionalmente más ostosos y se pre�ereel uso del umbral blando siempre que las ara terísti as del problema requieran el

Page 81: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

3.6. Re onstru ión 57

(a) (c)(b)Figura 3.12: Apli a ión del umbral: (a) umbral duro, (b) umbral blando,( ) otras fun iones más so�sti adas.uso de una aproxima ión ontinua.Puesto que no ne esitamos una aproxima ión ontinua para nuestra apli a ión,hemos optado por un umbral duro por ser el más simple, y, por lo tanto, el demenor oste omputa ional. A pesar de ser el más sen illo, da lugar a unos resul-tados a eptables a la hora de omprimir el onjunto de datos on el que nosotrostrabajaremos.Sele ión del umbralUna uestión importante en la mayoría de los pro edimientos de �ltrado es ómoelegir el umbral. El umbral ontrola el ompromiso que debe existir entre una bue-na aproxima ión a la señal de entrada y un grado de ompresión de los oe� ientesade uado. Un umbral muy bajo daría lugar a un resultado próximo a la entradaoriginal, pero este resultado puede ontener todavía mu ho ruido. Por otra parte, unumbral demasiado alto produ irá una señal on un elevado número de oe� ientesnulos. Este grado de ompresión en el onjunto de datos puede ser muy atra tivopara nuestra apli a ión, pero si prestamos aten ión veremos que algunas de las sin-gularidades de la señal original pudieron haber sido destruidas, lo que dará lugar,en pro esamiento de imágenes por ejemplo, a resultados borrosos. Se trata de en- ontrar un onjunto de datos su� ientemente redu ido, que aproxime bien los datos

Page 82: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

58 Capítulo 3. Transformada Waveletde entrada.En la literatura podemos en ontrar diversos trabajos que estudian el problema desele ión de un umbral ade uado. En on reto, dos de los métodos de sele ión másestudiados son el llamado umbral universal y el umbral basado en el error uadráti omedio. El primero [Don95, DJKP95℄ presta más aten ión a la suavidad del resultado(grado de ompresión) que a minimizar el error ometido. El segundo minimiza elerror del resultado omo ompara ión on la señal libre de ruido. Lógi amente, omoesta señal no se ono e, el error no se puede al ular o minimizar de forma pre isa.La estima ión de este mínimo es tema de estudio de diversos trabajos [DJ95, DJ92℄.3.7 Wavelets de segunda genera iónLo que hemos visto hasta ahora muestra que las transformadas wavelet son basesque pueden representar una fun ión dada a diferentes niveles de detalle. Las wa-velets lási as se de�nen omo trasla iones y dilata iones de una fun ión �ja. La�losofía subya ente a las llamadas wavelets de segunda genera ión es la onstru iónde fun iones wavelets on todas las propiedades deseables que poseen las transfor-madas lási as (lo alidad, transformada rápida, et .) pero adaptadas a geometríasgenerales, no sólo lineales.La prin ipal diferen ia on las onstru iones lási as es que no se rela ionan onla transformada de Fourier. Al hablar de wavelets de segunda genera ión no se puede ontinuar usando trasla iones y dilata iones, y la transformada de Fourier omoherramienta de onstru ión pierde valor. El esquema lifting [Swe95℄ propor ionauna solu ión alternativa.Como el nuevo esquema no se rela iona on la transformada de Fourier, se puedeusar para onstruir wavelets en dominios donde la trasla ión y dilata ión no sepodían usar, omo, por ejemplo, wavelets en urvas y super� ies [SS95℄ o en el asode muestreos irregulares [BM92℄.3.7.1 Esquema liftingEl esquema lifting es un nuevo método para la onstru ión de wavelets biortogona-les. Tiene sus orígenes en un método para mejorar una transforma ión wavelet dadapara obtener algunas propiedades más espe í� as. Más tarde se ha extendido a la

Page 83: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

3.7. Wavelets de segunda genera ión 59división predicción actualización

2

2

+

......

_

λ0,l

λ−1,l

γ−1,l

Figura 3.13: Des omposi ión de un ban o de �ltros en pasos del esquema lifting. onstru ión de las wavelets de segunda genera ión [Swe94, Swe97, Swe95℄. Algunasde sus ventajas son la generalidad del método, su fá il implementa ión, a elera ión on respe to a las lási as y apli abilidad a geometrías y tamaños arbitrarios.El esquema lifting se basa en la interpola ión entre ve inos para ondensar in-forma ión. Consiste en tres pasos prin ipales:� División, que muestrea los datos originales en pares e impares.� Predi ión, que en uentra los oe� ientes wavelet omo resultado de la pre-di ión del grupo de los impares basado en el grupo de los pares.� A tualiza ión, que a tualiza el grupo de los pares usando los oe� ienteswavelet para omputar la fun ión de es alado.En la �gura 3.13 se muestran el esquema para la transformada rápida wavelet usandoel esquema lifting.A ontinua ión omentamos las tres fases impli adas en el esquema lifting :

Page 84: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

60 Capítulo 3. Transformada WaveletFase de divisiónPodemos redu ir el número de oe� ientes simplemente sub�muestreando las mues-tras pares y obteniendo una nueva se uen ia dada por:��1;k := �0;2k para k 2 Z (3.42)donde usamos índi es negativos on el onvenio de que a grupos más pequeños les orresponde un índi e menor.También queremos tener una idea de uánta informa ión hemos perdido. Enotras palabras, qué informa ión extra ne esitamos para re uperar el onjunto ini ialde datos �0;k a partir del grupo ��1;k. Usamos los oe� ientes �1;k para odi� aresta diferen ia y a ellos nos referimos omo oe� ientes wavelet. Existen mu hasposibilidades: la más trivial onsiste en de ir que la informa ión perdida es pre i-samente el onjunto de los oe� ientes impares, �1;k := �0;2k+1 para k 2 Z. Estaele ión orresponde a la llamada wavelet vaga (lazy wavelet).La próxima etapa, predi ión, nos ayudará a en ontrar un esquema más elabo-rado para ondensar la informa ión original �0;k en el onjunto ��1;k.Fase de predi iónQueremos obtener una representa ión más ompa ta de �0;k. Como ya hemos in-di ado, las muestras pares pueden obtenerse omo ��1;k := �0;2k. Por otra parte,tenemos que prede ir las muestras impares �0;2k+1 basándonos en la orrela ión pre-sente en los datos originales. Si podemos en ontrar un operador de predi ión P,independientemente de los datos, de forma que: �1;k := P(��1;k) (3.43)enton es podemos reemplazar los datos originales por ��1;k, ya que ahora podemosprede ir la parte que nos falta para reensamblar �0;k. Obviamente el operadorde predi ión P no puede ser dependiente de los datos, sino estaríamos o ultandoinforma ión en P.De nuevo, en la prá ti a, no será posible prede ir exa tamente �1;k. Sin embar-go, P(��1;k) es probable que esté próximo a �1;k. Enton es, podemos reemplazar �1;k on la diferen ia entre el mismo y su predi ión por el operador P. Si la

Page 85: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

3.7. Wavelets de segunda genera ión 61predi ión es razonable, esta diferen ia ontendrá mu ha menos informa ión que eloriginal �1;k. De esta forma obtenemos: �1;k := �0;2k+1 � P(��1;k) (3.44)Por tanto, podemos reemplazar el onjunto de datos originales on el grupo máspequeño ��1;k y el onjunto de oe� ientes de la wavelet �1;k. Con una buenapredi ión, los dos subgrupos ��1;k; �1;k dan una representa ión más ompa ta queel onjunto original �0;k.Fase de a tualiza iónAlgunas de las propiedades globales del onjunto de datos originales deben mante-nerse en las versiones más pequeñas ��1;k. Lo que queremos es reformar el onjunto��1;k on la ayuda de los oe� ientes �1;k. De nuevo usamos los oe� ientes ve- inos de la wavelet. La idea es en ontrar un ��1;k mejor, de forma que una iertamagnitud es alar Q se onserve,Q(��1;k) = Q(�0;k): (3.45)Una solu ión sería en ontrar un nuevo operador que extraiga ��1;k dire tamentede �0;k. Sin embargo, esta alternativa impli aría, en primer lugar, un esquema quesería muy difí il de invertir. Además, sería interesante reusar el trabajo que ya hemoshe ho. Por eso se propone usar el onjunto de oe� ientes wavelet ya al ulados �1;kpara a tualizar ��1;k de forma que este preserve Q. En otras palabras, onstruimosun operador U y a tualizamos ��1;k omo,��1;k := ��1;k + U( �1;k) (3.46)Este esquema ompleto (división, predi ión y a tualiza ión) se puede iterarahora tantas ve es omo niveles deseemos para nuestra wavelet. Después de n niveleshabremos reemplazado el onjunto de datos originales por la representa ión wavelet{��n;k; �n;k; :::; �1;k}. El algoritmo para la transformada rápida unidimensionalviene dado por la ombina ión e itera ión de los pasos anteriores:For j = �1 to �nf�j;k; j;kg := división(�j+1;k) j;k = j;k � P(�j;k)�j;k = �j;k + U( j;k)End

Page 86: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

62 Capítulo 3. Transformada WaveletUna de las propiedades de este esquema es que una vez que tenemos la trans-formada dire ta, podemos inmediatamente generar la transformada inversa, simple-mente invirtiendo las opera iones anteriores. Esto da lugar al siguiente algoritmopara la transformada inversa:For j = �n to �1�j;k = �j;k � U( j;k) j;k = j;k + P(�j;k)f�j+1;kg := unión(�j;k; j;k)EndUna de las propiedades más atra tivas del esquema lifting es que todos los ál u-los pueden ha erse in situ, es de ir, sin utilizar memoria auxiliar. Un oe� iente�j;k on j < n puede alma enarse en la misma posi ión que �n;k, mientras que un oe� iente j;m puede alma enarse en la misma posi ión que �n;m.3.7.2 Ejemplos: Transformadas Haar y Daube hiesEn este trabajo hemos implementado, usando el esquema expli ado anteriormente,dos de las transforma iones wavelet más populares: la wavelet de Haar y la waveletde Daube hies de orden uatro (D4) [Dau92℄. Estas wavelets tienen una propiedad omún que las ha e espe ialmente interesantes: son wavelets on soporte ompa to.Las wavelets on soporte ompa to tienen una importan ia apital por su simpli idaden las apli a iones numéri as.Las distintas wavelets que se pueden utilizar vienen dadas por distintas sele io-nes de los operadores P y U . Para la wavelet de Haar, el esquema lifting usa unve ino de ada oe� iente en la interpola ión. Para la wavelet D4, tanto en la etapade predi ión omo en la de a tualiza ión, se usan tres ve inos.Los pasos del esquema para esas wavelets biortogonales, que se obtienen on laté ni a expli ada en [DS98℄, se muestran a ontinua ión.� wavelet Haar j;k := �j;2k+1 � �j;2k�j;k := �j;k + (1=2) j;k j;k := j;k=p2�j;k := p2�j;k

Page 87: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

3.7. Wavelets de segunda genera ión 63NIVEL 0

1

2

4

NIVEL

NIVEL

NIVEL(a) Transformada Haar 4

2NIVEL

NIVEL

NIVEL 0

NIVEL 1

(b) Transformada Daube hies(D4)Figura 3.14: Esquema de transformada wavelet sobre una se uen ia de 8datos, hasta distintos niveles.� wavelet Daube hies (D4) j;k := �j;2k+1 �p3�j;2k�j;k := �j;2k + (p3=4) j;k + ((p3� 2)=4) j+1;k j;k := j;k � �j�1;k j;k := ((p3� 1)=p2) j;k�j;k := ((p3� 1)=p2)�j;kLas transformadas inversas se onsiguen volviendo ha ia atrás los pasos de latransformada dire ta orrespondiente.En la �gura 3.14 se muestra un esquema del desarrollo de las transformadaswavelet Haar y Daube hies hasta un nivel de transforma ión uatro para un onjuntode 8 datos. En la literatura se suele nombrar el nivel sobre el que se está trabajandoen la wavelet de la forma 2r, donde r indi a el paso que estamos apli ando; deesta forma los niveles quedan nombrados omo f1; 2; 4; 8; 16; :::g, donde el nivel 0indi a el onjunto de datos original (sin transformar). Esta nota ión tiene su baseen la forma en que la transformada lási a a túa sobre el onjunto de datos, y serála nota ión que nosotros utili emos. En el aso del esquema lifting el número denivel indi a el espa iado entre los oe� ientes que se interpolan. Los ír ulos negros

Page 88: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

64 Capítulo 3. Transformada Waveletrepresentan oe� ientes � y los ír ulos blan os oe� ientes . Las líneas uniendo ír ulos representan los oe� ientes que se utilizan en ada interpola ión para darel nuevo oe� iente.3.8 Transformada wavelet en multipro esadoresRe ientemente, algunos trabajos han estudiado la paraleliza ión de las onstru - iones wavelet lási as (propuestas teóri as [Sul91℄, implementa iones en máquinasSIMD [LLCC93℄ y máquinas MIMD [Uhl95℄, des omposi iones de paquetes wavelet lási as [Uhl96℄ y transformadas multidimensionales [YM98℄). Nosotros hemos on-siderado que la paraleliza ión del esquema lifting resulta muy interesante debido lasimpli idad del método y a que el ál ulo de la transformada se realiza in situ. Laforma más sen illa de paralelizar la des omposi ión es dividir el onjunto de datosen bloques y des omponer ada segmento independientemente en un pro esador.Sin embargo, este método sufre algunas desventajas. La más importante es quela transformada wavelet ne esita un �ltro espe í� o en la frontera que se originaentre datos onse utivos ubi ados en distintos pro esadores, ya que, de otra forma,realizar la onvolu ión en pro esadores separados introdu iría errores en la trans-formada, debido a que las onvolu iones er a de la fronteras entre los pro esadoresse solaparían arti� ialmente on eros. Para resolver este problema tenemos dosposibles solu iones:1. La aproxima ión de inter ambio de datos (data swapping): donde los datosne esarios de la frontera se inter ambian entre los pro esadores a medida quela des omposi ión se va realizando.2. El método de solapamiento: donde todos los datos ne esarios para omputarla wavelet del nivel deseado se envían a los pro esadores ini ialmente.En [Uhl95℄ se propone una solu ión diferente a este problema, que onsiste enimplementar el algoritmo se uen ial en una arquite tura paralela usando un pro e-dimiento diferente que en aja mejor para la paraleliza ión. Por supuesto, esto puededar lugar a diferentes resultados que la paraleliza ión del algoritmo se uen ial puro,puesto que se modi� a el propio algoritmo.Se ha visto que, para las onstru iones wavelet lási as en arquite turas dememoria distribuida, el inter ambio de datos es más ine� iente ya que introdu e

Page 89: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

3.8. Transformada wavelet en multipro esadores 65sin roniza iones y ausa una gran antidad de omuni a iones en ada paso de lades omposi ión. La úni a forma en la que la des omposi ión se puede ha er e� ien-temente es usando la aproxima ión del solapamiento de datos. Pero este métodosufre la desventaja de que, uando el número de pro esadores re e, la antidad dedatos y por tanto la antidad de omputa iones re e omo poten ia de dos. Asípues, hemos propuesto una modi� a ión a la aproxima ión del inter ambio de da-tos para desarrollar la implementa ión paralela del esquema lifting [GCP00b℄. Estanueva aproxima ión evita el problema del alto oste de omuni a ión empaquetandotodos los mensajes y solapando las omuni a iones on omputa iones.El pro eso se ilustra en la �gura 3.15 para las wavelets Haar y Daube hies. Enestas �guras se muestra un ejemplo para tres pro esadores. Las líneas ontinuasmuestran los oe� ientes lo ales que se ne esitan en ada interpola ión y las líneasdis ontinuas las omuni a iones que se ne esitan en la frontera de ada pro esador.El esquema representa una transforma ión unidimensional. Para obtener la trans-forma ión 2D debemos repetir el pro edimiento para todas las olumnas y �las dela imagen. En este aso, los datos se envían dos ve es en ada nivel. Podemosagrupar todos los datos de frontera ne esarios para el ál ulo de la �las en un solomensaje puesto que las opera iones sobre una �la son independientes de ualquierotra. Lo mismo su ede para las olumnas. Primero se envían los datos ne esariospara al ular la transformada sobre las �las, y, posteriormente a ese ál ulo, aquellosne esarios para al ular la transformada sobre las olumnas. De esta forma, aunqueel número de �las por pro esador aumenta on el tamaño de la imagen, el númerode mensajes permane e onstante. En onse uen ia, la e� ien ia aumentará on eltamaño de la imagen a pesar del aumento del tamaño de los mensajes.Para la wavelet de Haar, que es la más simple, la solu ión más fá il onsiste enrealizar los ál ulos que no ne esitan omuni a iones en ada pro esador, y enton esllevar a abo las omuni a iones ne esarias y los ál ulos aso iados a ellas. Ya queel pro edimiento se ne esita para ada �la y olumna, podemos ha er todas las omuni a iones al �nal de ada nivel al mismo tiempo que los ál ulos. Como los ál ulos se realizan in situ, sólo ne esitamos un bu�er temporal para no solapar losdatos en ada omuni a ión. Este bu�er es de tamaño N , donde N es el número de olumnas o �las de la imagen.Para la wavelet de Daube hies de orden 4, la etapa de omuni a ión es más ompli ada. En este aso ne esitamos siempre omuni a iones en la frontera entrepro esadores. Es más, debemos usar estrategias en las fronteras para al ular o-rre tamente los oe� ientes en ada borde. Como ada oe� iente depende de los

Page 90: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

66 Capítulo 3. Transformada WaveletNIVEL

1

2

4

8

0

PE 0 PE 1 PE 2

(a) Wavelet de Haar4

NIVEL

2

8

1

0

PE 0 PE 1 PE 2

(b) Wavelet D4Figura 3.15: Estru tura omputa ional usando el esquema lifting : (a) Wa-velet de Haar (b) Wavelet Daube hies (D4)previamente al ulados, esta es una estru tura típi amente se uen ial. Para evi-tar este problema, los datos originales en la frontera se envían a los ve inos quelos ne esitarán más adelante, y, enton es, todos los pro esadores al ulan, no sólo

Page 91: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

3.8. Transformada wavelet en multipro esadores 67sus oe� ientes wavelet, sino también un oe� iente de la frontera ve ina que ne e-sita para la primera interpola ión. Esta estrategia involu ra ál ulos redundantesen los datos de los bordes de ada pro esador, pero evita esperar al ál ulo de los oe� ientes previos, on lo que se mejora la e� ien ia de la implementa ión paralela.Ini ialmente realizamos las omuni a iones entre los pro esadores: ada uno deellos manda sus datos de la frontera a los pro esadores que los ne esitarán poste-riormente para interpolar los nuevos oe� ientes, y re ibe de los demás los datos defrontera que ne esita. Esta etapa de omuni a ión se ne esita una sola vez antes de omenzar la etapa de ál ulo en ada nivel. De nuevo los ál ulos se realizan in situ,aunque en este aso ne esitamos seis bu�ers adi ionales para no solapar datos en las omuni a iones. Estos bu�ers alma enan en ada pro esador los datos frontera quese re iben de los ve inos.La idea prin ipal del algoritmo es el agrupamiento de mensajes (a osta de per-der independen ia de datos) para evitar un ex esivo trá� o interpro esador. Laestrategia de omuni a ión se diseña on el propósito de minimizar en lo posible lostiempos de espera debidos a la dependen ia de datos. Así pues, todas las transmi-siones son no�bloqueantes, y por esta razón los pro esadores pueden ontinuar sutrabajo inmediatamente después de que el mensaje haya sido enviado, sin esperarninguna on�rma ión.3.8.1 Evalua iónExiste un paquete software, llamado LIFTPACK [FPS96℄, disponible para al ulartransformadas wavelet en imágenes usando el esquema lifting. Sus ventajas son laimplementa ión de la transformada in situ, el orre to tratamiento de los bordes, laapli a ión a imágenes de tamaños variables y la rápida implementa ión de los �ltrosbiortogonales wavelets (a elera ión de dos on respe to al método lási o). Hemosimplementado el ódigo paralelo en base a este ódigo se uen ial.Se han realizado diferentes pruebas on varios tamaños de imágenes y las dostransforma iones wavelet que hemos men ionado anteriormente, la wavelet de Haary la wavelet de Daube hies de orden 4 (D4). En esta se ión se muestran resulta-dos tomados en un Cray T3E. El tiempo de eje u ión y la a elera ión para las doswavelets estudiadas, probadas on una imagen de tamaño 512 � 512, se muestranen las �guras 3.16 y 3.17. Estos resultados son muy alentadores: por ejemplo, parala wavelet D4, el tiempo de eje u ión pasa de 0.379 a 0.026 segundos usando 16

Page 92: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

68 Capítulo 3. Transformada Wavelet

0 2 4 6 8 10 12 14 160

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

n. de procesadores

tiem

po (

s)

HAAR

NIVEL 1NIVEL 2NIVEL 4NIVEL 8

(a) Tiempo de eje u ión. 0 2 4 6 8 10 12 14 160

2

4

6

8

10

12

14

16

n. de procesadores

acel

erac

ión

HAAR

NIVEL 1NIVEL 2NIVEL 4NIVEL8 IDEAL

(b) A elera ión.Figura 3.16: Tiempo de eje u ión y a elera ión para la transformada wa-velet Haar.

0 2 4 6 8 10 12 14 160

0.2

0.4

0.6

0.8

1

1.2

1.4

n. de procesadores

tiem

po (

s)

DAUBECHIES D4

NIVEL 1NIVEL 2NIVEL 4NIVEL 8

(a) Tiempo de eje u ión. 0 2 4 6 8 10 12 14 160

2

4

6

8

10

12

14

16

n. de procesadores

acel

erac

ión

DAUBECHIES D4

NIVEL 1NIVEL 2NIVEL 4NIVEL8 IDEAL (b) A elera ión.Figura 3.17: Tiempo de eje u ión y a elera ión para la transformada wa-velet Daube hies (D4).pro esadores, lo que supone una a elera ión de 14.58. A pesar de que los tiemposde eje u ión para obtener la transforma ión wavelet son muy pequeños, su parale-liza ión se justi� a debido al número de apli a iones que ne esitan el uso de varias

Page 93: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

3.8. Transformada wavelet en multipro esadores 69

0 200 400 600 800 1000 12000

1

2

3

4

5

6

7

8

9

tamaño de la imagen

acel

erac

ión

HAAR

2 PE4 PE8 PE

(a) Wavelet Haar 0 200 400 600 800 1000 12000

1

2

3

4

5

6

7

8

tamaño de la imagen

acel

erac

ión

DAUBECHIES D4

2 PE4 PE8 PE

(b) Wavelet D4Figura 3.18: A elera ión en fun ión del tamaño de la imagen.transforma iones de este tipo en ada paso. En on reto, a nosotros nos interesa pa-ra la resolu ión de sistemas de e ua iones lineales, en ombina ión on los métodositerativos, lo ual supone el uso de las transformadas en ada itera ión del método.Debemos observar que uando el número de pro esadores es poten ia de dos lostiempos de eje u ión disminuyen. En estos asos el número total de omuni a ionesde re e ya que siempre estamos al ulando �j;k y su orrespondiente j;k en el mismopro esador. Para estos asos la e� ien ia del ódigo paralelo se in rementa.Cuanto más alto sea el nivel de la wavelet se realizan menos ál ulos y, en am-bio, hay que llevar a abo más omuni a iones, así que, en general, la a elera iónde re e. A pesar de todo, en la onstru ión de la wavelet de Haar, para asosespe í� os, la lo alidad de los datos de interpola ión en un nivel superior requieremenos omuni a iones y por tanto la a elera ión puede in rementarse ligeramente.Cuando el tamaño de la imagen es mayor, los resultados de a elera ión son me-jores, ya que son ne esarios más ál ulos mientras que el número de omuni a ionesno se in rementa, aunque sí su tamaño. Podemos ver esto en la �gura 3.18, dondelos resultados de a elera ión se muestran para tamaños variables de la imagen. Enla wavelet de Haar la a elera ión ideal se onsigue on tamaños de imágenes peque-ños, ya que el número de omuni a iones que requiere esta onstru ión es pequeño.Sin embargo, a medida que el nivel de omplejidad se in rementa, omo en el asode la transformada wavelet D4, la dependen ia on el tamaño de la imagen es más

Page 94: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

70 Capítulo 3. Transformada Waveletsigni� ativa.Notar que el tiempo de eje u ión de un pro esador que se muestra en las �guras,y también el que hemos empleado para al ular la a elera ión de la implementa iónparalela, es el tiempo para el algoritmo se uen ial original y no para el algoritmoparalelo eje utado en un solo pro esador.

Page 95: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Capítulo 4Resolu ión de sistemas linealesdensos usando transformadas waveletLa forma tradi ional de resolver un sistema de e ua iones lineales denso, omo el queproviene de una dis retiza ión por el método de elementos de ontorno, es a travésdel método de elimina ión gaussiana, que requiere O(N3) opera iones. Utilizandoun método iterativo la resolu ión ne esitará, generalmente, O(N2) opera iones, poritera ión.La idea de usar las transformadas wavelet se presenta omo una alternativa paraa elerar el pro eso de resolu ión de grandes sistemas densos de e ua iones [BV94,BCR91, EOZ94℄. Si se apli a la transformada wavelet a una matriz de oe� ientesdensa, dependiendo de la naturaleza de las dis ontinuidades que nos en ontremos, lamatriz transformada resultante tendrá un patrón de dispersión que se puede explotarpara a elerar el pro eso de resolu ión del sistema mediante métodos iterativos. Hayque tener en uenta que la transformada de la matriz de oe� ientes (O(N2)) serequiere sólo una vez, antes del esquema iterativo, y, omo la matriz resultante esdispersa, ada itera ión se ve a elerada a un orden O(nnz) donde nnz es el númerode elementos no�nulos, es de ir, O(NlogN) [BCR91℄.El método que proponemos tiene su base en el trabajo de Bond y Vavasis [BV94℄,en el que se apli an transformadas rápidas wavelet omo una aja negra para la trans-forma ión de las e ua iones de salida en ódigos de elementos de ontorno (BEM).En ese trabajo se obtienen buenos resultados uando los ódigos BEM se apli an adominios on ontornos regulares, es de ir, uando las matri es de oe� ientes resul-tantes son suaves, pero falla uando se apli a a oe� ientes de matri es no�suaves,71

Page 96: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

72 Capítulo 4. Resolu ión de sistemas densos usando waveletses de ir, on grandes varia iones en los valores de los oe� ientes. En la se ión 4.3proponemos una nueva estrategia, apli ando transformadas wavelet en un intervalo,de forma que se puede apli ar a matri es de oe� ientes on dis ontinuidades. A lolargo de este apítulo mostramos tanto la formula ión matemáti a de los esquemasde resolu ión omo algunos resultados experimentales.4.1 Aproxima ión dispersa a una matriz densaLos algoritmos numéri os que usan bases wavelet son similares a otros métodos detransforma ión en los que ve tores y operandos se expanden en una base, y las omputa iones tienen lugar en el nuevo sistema de oordenadas. La representa iónde operadores en bases wavelet se puede ver omo un método de ompresión, ennuestra apli a ión esto se tradu e en la onversión de un sistema denso a un sistemadisperso. La representa ión dispersa da lugar a algoritmos numéri os más e� ientes[BCR91, EOZ94℄, debido a dos fa tores fundamentales: un menor número de datosimpli a, por un lado, un menor número de opera iones, y por otro, evita dire ionardatos inne esarios. Sin embargo, el in onveniente fundamental, omo veremos másadelante, es que el alma enamiento de datos dispersos (ver apéndi e A) requieremayor número de indire iones a la hora de a eder a los mismos.Des ribimos aquí el pro eso de aproxima ión dispersa partiendo de una matrizdensa. Partimos de una matriz original densa que denotamos por A. Sea m elorden de la wavelet que deseamos utilizar. Sea N = 2L la dimensión de la matrizoriginal densa, y r un entero de tal forma que 2r < m y 2r+1 � m. Denotamos pors(L) un ve tor olumna de A en el nivel L de la wavelet. Enton es, si usamos latransformada wavelet lási a dis reta omo veíamos en el apítulo anterior:s(L) ! s(L�1) ! s(L�2) ! � � � ! s(�) ! � � � ! s(r)& & & &d(L�1) d(L�2) � � � d(�) � � � d(r)donde los ve tores s(�) y d(�) son de dimensión 2�. Notar que la suma total de lostamaños de los datos transformados s(r); d(r); � � � ; d(�); � � � ; d(L�2); d(L�1) da un totalde N = 2L de la simple e ua ión:2L = 2r + 2r + 2r+1 + 2r+2 + � � �+ 2L�1: (4.1)La transforma ión del ve tor s(L) se puede expresar omo un nuevo ve tor w tal

Page 97: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.1. Aproxima ión dispersa a una matriz densa 73que: w = [(s(r))T (d(r))T (d(r+1))T � � � (d(L�1))T ℄T= Pr+1Wr+1 � � �PL�1WL�1PLWLs(L) =Ws(L); (4.2)donde P� = � �P� J� � (4.3)siendo �P� matriz de permuta ión de tamaño 2�, es de ir,�P� = I(1; 3; � � � ; 2� � 1; 2; 4; � � � ; 2�); (4.4)y W� = � �W� J� � (4.5) on �W� una matriz ortogonal de tamaño 2� y J� una matriz diagonal unidad detamaño k� = 2L�2�. Observar que kL = 0 y k� = k�+1+2� para � = L�1; � � � ; r+1.En la obten ión de los resultados experimentales que mostraremos aquí se hanutilizado las wavelets denominadas de Haar y Daube hies, que ya hemos analizado enel apítulo 3. En on reto la wavelet de Haar es de orden m = 2 y la de Daube hiesD4 es de orden m = 4. Para la wavelet de Haar, tenemos:�W� =

0BBBBBBBBBBBB�h0 h1g0 g1 h0 h1g0 g1 � � � � � �� � � � � � h0 h1g0 g1

1CCCCCCCCCCCCA (4.6) uyos oe� ientes son: h0 = p2=2, h1 = p2=2, g0 = �h0 y g1 = h1;

Page 98: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

74 Capítulo 4. Resolu ión de sistemas densos usando waveletsy para la wavelet D4:�W� =

0BBBBBBBBBBBBBBBB�h2 h3 h0 h1g2 g3 g0 g1h0 h1 h2 h3g0 g1 g2 g3� � � � � � � � � � � �� � � � � � � � � � � � h0 h1 h2 h3g0 g1 g2 g3h2 h3 h0 h1g2 g3 g0 g1

1CCCCCCCCCCCCCCCCA (4.7) uyos oe� ientes son:h0 = (1 +p3)=(4p2),h1 = (3 +p3)=(4p2),h2 = (3�p3)=(4p2),h3 = (1�p3)=(4p2) yg0 = h3, g1 = �h2, g2 = h1, g3 = �h0.Un nivel ompleto de la transformada dis reta de la matriz A sería �A = WAW T .Por supuesto esta matriz ontinúa siendo densa; sin embargo, podemos apli arle unumbral de trun amiento y quedarnos solamente on los valores más importantes,que, supuestamente, serán los que ondensen la informa ión ontenida en la matrizoriginal. Por ejemplo, en la �gura 4.1(a) se muestra el patrón de entradas de unamatriz que proviene de la dis retiza ión de la e ua ión de Lapla e en un ontorno2D, y en la �gura 4.1(b) se muestra el patrón de entradas no nulas de la matriztransformada después de haber sido trun ado por un umbral de magnitud 10�4.Otro ejemplo que muestra la transformada de una matriz de la forma:Aij = ( 1i�j si i 6= j1 si i = jse ilustra en la �gura 4.2(a). A la nueva matriz dispersa la denominamos ~A. Cabesuponer que para matri es on la estru tura de ~A, omo la que se muestra en la�gura 4.2(a), se pueden omputar e� ientemente produ tos matriz�ve tor dispersos, omo los que impli an los métodos iterativos. Sin embargo, si intentamos resolver

Page 99: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.1. Aproxima ión dispersa a una matriz densa 75

05

1015

2025

0

5

10

15

20

25−2

−1

0

1

2

3

4

(a) Matriz densa original

05

1015

2025

0

5

10

15

20

25−8

−6

−4

−2

0

2

4

6

8

10

(b) Matriz dispersa transformadaFigura 4.1: Estru tura de la matriz 2D�Lapla e (n=24).el sistema lineal de�nido por ~Ay = Wb, donde x = W�1y, puede que la situa ión yano sea tan bene� iosa, debido a la estru tura de la matriz resultante. En general sepre�eren estru turas bandeadas, preferiblemente diagonal dominantes, debido a sumejor omportamiento en uanto a onvergen ia [Saa96℄.

Page 100: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

76 Capítulo 4. Resolu ión de sistemas densos usando wavelets

20 40 60 80 100 120

20

40

60

80

100

120 (a) Estru tura de WAW T .

20 40 60 80 100 120

20

40

60

80

100

120 (b) P (WAW T )P T para el mismo ejemplo.Figura 4.2: Matriz densa original: Aij = 1=(i� j) si i 6= j, Aij = 1 si i = j.La transforma ión wavelet de una matriz, dada su naturaleza, siempre dejará omo resultado matri es on distintas bandas no paralelas (ver �gura 4.2(a)). Sinembargo, es posible en ontrar una matriz de permuta ión P de tal forma que P �AP T

Page 101: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.1. Aproxima ión dispersa a una matriz densa 77sea una matriz en banda o, al menos, on un menor an ho de banda. Esta matrizde transforma ión se puede onstruir omo:P = P TL P TL�1 � � �P Tr+2P Tr+1; (4.8)donde Pi es la misma matriz de permuta ión que se empleaba en (4.2). El resultadode esta permuta ión para la matriz de la �gura 4.2(a) se muestra en la �gura 4.2(b).Nosotros hemos optado por emplear el esquema lifting para la omputa ión delas transformadas wavelet. Esta de isión ha venido motivada por las ventajas quepresenta este esquema, espe ialmente a la hora de su implementa ión (más sen illa)y la a elera ión que onsigue sobre la transformada lási a (fa tor 2). Además sepuede apli ar a geometrías y tamaños arbitrarios, lo que nos permitirá trabajar on ualquier sistema de e ua iones, y no ne esariamente on matri es de oe� ientesde tamaño poten ia de 2 ( omo su ede on las transformadas lási as).El algoritmo general que emplea el esquema lifting se expli aba en detalle enel apítulo 3. Sin embargo, a la hora de apli arlo a la resolu ión de e ua iones,utilizando la wavelet Daube hies D4, nos hemos en ontrado algún problema onla implementa ión general y hemos modi� ado ligeramente el esquema para que latransforma ión utilizando el esquema lifting sea análoga a la transforma ión dadapor la matriz (4.7). Esto es ne esario siempre que estemos ante apli a iones querequieran biortogonalidad, omo es nuestro aso. En on reto, para la wavelet deHaar no existe ningún problema en apli ar las e ua iones que de�níamos en la se ión3.7.2. Sin embargo, para la wavelet Daube hies (D4), en el esquema general, no se onsideran los últimos oe� ientes del ve tor a la hora de al ular la transformada delos primeros oe� ientes, y análogamente, no se onsideran los primeros oe� ientespara al ular los últimos oe� ientes del ve tor. En este aso el esquema general noes equivalente a la transforma ión lási a que expli ábamos anteriormente, y que,en el aso de la wavelet D4, viene dado por la matriz de transforma ión (4.7).El he ho de que la transformada no envuelva los primeros oe� ientes y los úl-timos del ve tor que se transforma tiene importantes onse uen ias a la hora deresolver los sistemas de e ua iones. En on reto, lo que su ede es que la transfor-mada resultante de esta interpola ión no sería (bi)ortogonal (ver se ión 3.6.1) y,por lo tanto, la des omposi ión en la base wavelet no sería estable, y no podría-mos garantizar que la solu ión del sistema transformado se orrespondiese on ladel original. El algoritmo que nosotros empleamos es similar al algoritmo generalexpli ado en la se ión 3.7.1 pero teniendo en uenta que, para el ál ulo de losprimeros oe� ientes y � del ve tor, se interpola también on los últimos y �, y

Page 102: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

78 Capítulo 4. Resolu ión de sistemas densos usando wavelets

Figura 4.3: Esquema lifting modi� ado para envolver los primeros oe�- ientes y los últimos.vi eversa. Este pro eso que envuelve la transformada se ilustra en la �gura 4.3.Hay que tener en uenta que los oe� ientes que se ne esitan para al ular losprimeros � y serían los últimos � y ya transformados, pero estos no estándisponibles al omenzar. Por otra parte, y dado que la implementa ión de la trans-formada se realiza in situ, uando ne esitemos los primeros oe� ientes del ve tor,para transformar los últimos � y , estos ya serán los nuevos oe� ientes transfor-mados, uando lo que se pre isa son los oe� ientes originales sin transformar. Parasolu ionar esto se han modi� ado las e ua iones de interpola ión para los primerosy los últimos oe� ientes, de forma que se rela ionan los nuevos ál ulos on los oe� ientes � y últimos sin transformar para el primer aso, y on los primeros �y ya transformados para el segundo aso.El pro eso de permuta ión que se ne esitaba para la transformada wavelet lási aya no es ne esario en la implementa ión del esquema lifting. Esto se debe a que estanueva implementa ión no se basa en produ tos de matri es de transforma ión (quehan de ser permutadas para ontinuar el pro eso en un paso superior), sino eninterpola ión de datos y, por onsiguiente, se pueden realizar implí itamente di haspermuta iones. En un nivel superior sólo habrá que tener en uenta que la distan iaentre los oe� ientes que involu ra la interpola ión es 2r�1 siendo r el paso de latransformada en el que nos en ontramos, de forma que la implementa ión se reali esólo sobre los oe� ientes impli ados en ese paso, pero sin la ne esidad de ponerlos onse utivos en la matriz omo su edía on la transformada lási a. De esta formase evitan las permuta iones durante la transforma ión y la matriz ya resulta en

Page 103: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.1. Aproxima ión dispersa a una matriz densa 79banda después de emplear el esquema lifting, on lo que tampo o serán ne esariaslas posteriores permuta iones para reordenar la matriz.4.1.1 Sele ión del umbralEn el apítulo 3 ya adelantábamos la importan ia de sele ionar un umbral ade ua-do, que representará un ompromiso entre el grado de dispersión que obtenemos yla �abilidad del sistema una vez transformado. Allí men ionábamos distintos mé-todos de sele ión del umbral que apare en en la literatura. Sin embargo, ningunode los men ionados se adapta a nuestro problema, puesto que todos están orienta-dos a eliminar el ruido de una señal, y este puede ser importante en ompara ión on la señal, por lo que el umbral que proponen siempre resulta demasiado altopara nuestras ne esidades. Re ordemos que nuestro objetivo es resolver el sistematransformado disperso. Por lo tanto, tratamos de en ontrar un umbral que onsigaun grado de dispersión de la matriz de oe� ientes a eptable, pero que asegure, nosólo una onvergen ia óptima, sino también una solu ión orre ta. Si el umbral queutilizamos resulta demasiado alto podemos perder informa ión en el pro eso y el re-sultado del sistema transformado puede no ser el orre to. Elegir un umbral válidopara la posterior resolu ión del sistema transformado equivale a elegir un umbral quepermita la re onstru ión de la matriz original a partir de la transformada despuésde apli ado el umbral, on un error relativo pequeño.Para �jar el umbral de trun amiento observamos un parámetro estadísti o im-portante de nuestra matriz de datos transformada, la desvia ión típi a (�), que dauna rela ión sobre la proximidad (en magnitud) de los valores de la matriz. Ladesvia ión típi a se de�ne omo:� =sPN2i=1(xi � �x)2N2 (4.9)donde �x es la media del onjunto de datos, de�nida omo:�x = PN2i=1 xiN2 (4.10)Así, si � es muy bajo signi� ará que los valores absolutos de la mayoría de losdatos de la matriz transformada están próximos entre sí (y, en on reto, próximos a ero) y podemos elegir un umbral más alto sin miedo a perder informa ión. Si, porel ontrario, � es alto signi� ará que los valores de la matriz son más dispares entre

Page 104: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

80 Capítulo 4. Resolu ión de sistemas densos usando wavelets

0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.40

50

100

150

200

250

300

350

400

450

500

HISTOGRAMA DE VALORES

(a) Histograma de valores para latransformada de la matriz ejemplo:Aij = 1=(i � j) si i 6= j, Aij = 1 sii = j.���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

���������������������������������������

���������������������������������������

������������������������������������������������������������������������������

������������������������������������������������������������������������������

d

θ

num

ero

de m

uest

ras

valores(b) Té ni a de los triángulos para se-le ión del umbralFigura 4.4: Ejemplo de histograma. Té ni a para sele ión del umbral detrun amiento.sí, y tendremos que elegir un umbral más bajo para asegurar la re onstru ión dela matriz.La desvia ión típi a sólo nos da informa ión a er a de si el umbral que se permitepuede ser alto o debe ser redu ido; sin embargo, no nos da informa ión a er adel punto en el ual hemos de �jar el valor del umbral. En la �gura 4.4(a) semuestra un histograma para una de las matri es ejemplo que emplearemos en este apítulo. Este representa un histograma típi o de una matriz suave transformadamediante transforma iones wavelet, ya que la mayoría de los elementos tomaránvalores próximos a ero (pre isamente los que deseamos eliminar) y sólo un pequeñopor entaje se en ontrará fuera de ese pi o en el histograma. La uestión entral esdónde debemos olo ar el umbral �. En la literatura, no hemos en ontrado estudiossobre sele ión del umbral en la apli a ión de transformadas wavelet para análisismatemáti o; sin embargo, sí existen numerosos estudios sobre la sele ión del umbralade uado a ompresión de imágenes. Dado que no se ono e un umbral universalque garanti e su e� a ia en todos los problemas, existen multitud de alternativas.Nosotros nos hemos de idido por el algoritmo denominado té ni a de los triángulos

Page 105: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.1. Aproxima ión dispersa a una matriz densa 81[ZRL77℄ que se ilustra en la �gura 4.4(b). La té ni a onsiste en onstruir una re taentre el valor máximo del histograma y el valor mínimo. Se al ula la distan iad entre esta línea y ada uno de los puntos del histograma entre el máximo y elmínimo. El punto desde el ual la distan ia d sea máxima será el valor del umbral.La e� a ia de esta té ni a no depende de que el monte del histograma sea o nopronun iado; es de ir, si el número de elementos próximos a ero es menor, o mayor,el algoritmo en ontraría igualmente un umbral satisfa torio. De todos modos hayuna banda de valores en torno a � en la que el parámetro de umbral se puede �jarsin que se obtengan diferen ias sustan iales en el grado de dispersión obtenido parala matriz de oe� ientes, ni en la pérdida de informa ión.4.1.2 Evalua iónA ontinua ión presentamos resultados de experimentos numéri os uya �nalidades evaluar el grado de ompresión que se onsigue on la transformada wavelet.Las matri es que hemos empleado se han usado en otros trabajos de la bibliografíapara la apli a ión de transformadas wavelet a sistemas densos [BCR91, BV94℄. Losejemplos que mostramos aquí orresponden a los siguientes problemas:ejemplo 1 . La matriz de oe� ientes de�nida por la rela ión:Aij = 1i� j + 12 os(ij) (4.11)Este es un ejemplo muy ono ido de matriz muy mal ondi ionada.ejemplo 2 . La matriz de Hankel. Matriz simétri a de�nida por:Aij = 12(N � i� j + 32)Sus autovalores se on entran en torno a �2 y ��2 .ejemplo 3 . Matriz arti� ial empleada en [BCR91, Bey93℄. Esta matriz es de laforma: Aij = ( 1i�j si i 6= j1 si i = jejemplo 4 . Es una matriz que proviene de un ódigo BEM. En on reto es elsistema resultante de la dis retiza ión de las e ua iones para la resolu ión dela e ua ión de Lapla e 2D en un ír ulo de radio unidad.

Page 106: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

82 Capítulo 4. Resolu ión de sistemas densos usando waveletsDimensión de la matrizwavelet nivel 256 512 1024 20481 3:17 � 10�2 0.124 0.678 3.175Haar 2 4:52 � 10�2 0.202 1.038 4.9664 6:53 � 10�2 0.288 1.428 6.5008 7:41 � 10�2 0.326 1.576 6.9901 9:76 � 10�2 0.393 2.109 9.149Daube hies (D4) 2 14:5 � 10�2 0.649 3.200 14.8384 19:8 � 10�2 0.887 4.304 19.4938 21:9 � 10�2 0.976 4.675 20.679Tabla 4.1: Tiempo (en segundos) empleado en la transforma ión de la ma-triz, según el nivel de la wavelet.Estas matri es se usarán a lo largo de este apítulo para mostrar resultadosexperimentales que veri�quen la viabilidad de las té ni as que omentamos.En la tabla 4.1 se muestran los tiempos de eje u ión obtenidos para transformarla matriz de oe� ientes densa a dispersa, según el tamaño de la matriz y el nivel ytipo de wavelet empleada. Estos datos se han medido en un pro esador DEC Alpha21164 del multi omputador Cray T3E, que posteriormente se utilizará para evaluarlos ódigos paralelos. El tiempo empleado en transformar la matriz no depende delos valores del onjunto de datos sino de la dimensión de la matriz, por lo tanto esel mismo para todos los ejemplos que podamos presentar aquí.En las �guras 4.5, 4.6, 4.7 y 4.8 se muestra el grado de dispersión que se onsigueal apli ar las distintas wavelets a tamaños re ientes de matri es. El grado dedispersión se puede de�nir de varios modos; nosotros lo hemos al ulado omo el o iente entre el número de elementos nulos de la matriz transformada y el númerode entradas ini iales de la matriz densa, y lo mostramos en tanto por ien (es de ir,(N2 � nnz) � 100=N2). De esta forma un valor más alto del grado de dispersiónindi a que la matriz transformada tiene menor número de entradas. Los umbralesempleados para trun ar ada una de las matri es han sido al ulados utilizandoel método de los triángulos expli ado en la se ión anterior. En on reto se hanutilizado � = 1:47 � 10�4, � = 2:94 � 10�4, � = 1:94 � 10�4 y � = 3:84 � 10�6 para lasmatri es ejemplo 1, ejemplo 2, ejemplo 3 y ejemplo 4, respe tivamente.

Page 107: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.1. Aproxima ión dispersa a una matriz densa 83

0 500 1000 1500 2000 25000

10

20

30

40

50

60

70

80

90

100

tamaño de la matriz

% d

ispe

rsió

n

EJEMPLO 1

NIVEL 1NIVEL 2NIVEL 4NIVEL 8(a) Wavelet Haar 0 500 1000 1500 2000 2500

0

10

20

30

40

50

60

70

80

90

100

tamaño de la matriz

% d

ispe

rsió

n

EJEMPLO 1

NIVEL 1NIVEL 2NIVEL 4NIVEL 8(b) Wavelet Daube hiesFigura 4.5: Grado de dispersión en fun ión de la dimensión de la matrizpara ejemplo 1.

0 500 1000 1500 2000 250010

20

30

40

50

60

70

80

90

100

tamaño de la matriz

% d

ispe

rsió

n

EJEMPLO 2

NIVEL 1NIVEL 2NIVEL 4NIVEL 8(a) Wavelet Haar 0 500 1000 1500 2000 2500

40

50

60

70

80

90

100

tamaño de la matriz

% d

ispe

rsió

n

EJEMPLO 2

NIVEL 1NIVEL 2NIVEL 4NIVEL 8(b) Wavelet Daube hiesFigura 4.6: Grado de dispersión en fun ión de la dimensión de la matrizpara ejemplo 2.Podemos observar en estas grá� as que uanto mayor sea la matriz de oe� ientesoriginariamente densa, mejor será la ompresión que se onsigue al usar la wavelet.Además, aunque a medida que se aumenta el nivel de la wavelet se al anza una

Page 108: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

84 Capítulo 4. Resolu ión de sistemas densos usando wavelets

0 500 1000 1500 2000 250010

20

30

40

50

60

70

80

90

100

tamaño de la matriz

% d

ispe

rsió

nEJEMPLO 3

NIVEL 1NIVEL 2NIVEL 4NIVEL 8(a) Wavelet Haar 0 500 1000 1500 2000 2500

30

40

50

60

70

80

90

100

tamaño de la matriz

% d

ispe

rsió

n

EJEMPLO 3

NIVEL 1NIVEL 2NIVEL 4NIVEL 8(b) Wavelet Daube hiesFigura 4.7: Grado de dispersión en fun ión de la dimensión de la matrizpara ejemplo 3.

0 500 1000 1500 2000 25000

10

20

30

40

50

60

70

80

90

100

tamaño de la matriz

% d

ispe

rsió

n

EJEMPLO 4

NIVEL 1NIVEL 2NIVEL 4NIVEL 8(a) Wavelet Haar 0 500 1000 1500 2000 2500

10

20

30

40

50

60

70

80

90

100

tamaño de la matriz

% d

ispe

rsió

n

EJEMPLO 4

NIVEL 1NIVEL 2NIVEL 4NIVEL 8(b) Wavelet Daube hiesFigura 4.8: Grado de dispersión en fun ión de la dimensión de la matrizpara ejemplo 4.mayor ompresión de los datos, esta mejora tiende a estan arse. Así, en los uatroejemplos, los resultados para niveles de wavelet 4 y 8 son prá ti amente idénti os.Por otra parte, omo se muestra en la tabla 4.1, el oste de la wavelet, en tiempo de

Page 109: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.2. Matri es de oe� ientes densas y suaves 85 omputa ión, re e también on el nivel de la transformada y a partir de un iertonivel deja de ompensar el ontinuar aumentando el mismo. En on reto, y a la vistade los resultados que hemos obtenido, hemos de idido usar siempre transformadaswavelet que no ex edan el nivel 4, on el que se onsigue un grado de dispersión onsiderable, pero sin ser demasiado ostoso omputa ionalmente. Además tambiénobservamos que la transformada wavelet de Daube hies (D4) omprime mejor quela transformada wavelet de Haar, pero su oste de omputa ión también es superior.A ontinua ión estudiaremos omo apli ar estas ideas a la resolu ión de sistemasde e ua iones on matri es de oe� ientes densas suaves y no suaves.4.2 Matri es de oe� ientes densas y suavesMatemáti amente, los oe� ientes que se usan para de�nir las wavelets se puedenutilizar para rear un ambio de bases de una matriz de RN en RN . Dada unafun ión wavelet ortogonal en el espa io ontinuo, esto orresponde a una matriz Wortogonal que transforma ve tores de la base original a la nueva base wavelet. Por onsiguiente, la transformada también se puede representar por la matriz W .Sea A una matriz en la base original. Enton es �A = WAW�1 es la representa iónde A en la base wavelet. De aquí se puede obtener una matriz dispersa onservandolas entradas que son mayores que un umbral de toleran ia y eliminando las demás.Denotemos el sistema lineal denso que estamos resolviendo por:Ax = b (4.12)donde A es una matriz de oe� ientes no�simétri a y densa, omo la que se obtiene dela apli a ión de un ódigo BEM. El método tradi ional para la solu ión del sistemaanterior sería el método de elimina ión gaussiana o alguna de sus variantes. Como omentábamos anteriormente, este es un pro eso de orden O(N3). Sin embargo,a medida que el tamaño del problema re e, se demanda más el uso de métodositerativos. Estos métodos involu ran opera iones matriz�ve tor en ada itera ión,por lo tanto, para sistemas densos, son pro esos de orden O(N2) por itera ión.Otra forma añadida de a elerar el pro eso es transformar la matriz de oe� ientes on una transformada rápida wavelet, de forma que estaríamos apli ando el métodoiterativo a un sistema disperso. En este aso el resolutor tiene un oste de O(NlogN)por itera ión. Por otro lado, la transformada sólo ne esita ser realizada una vez,

Page 110: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

86 Capítulo 4. Resolu ión de sistemas densos usando waveletsantes del omienzo del método iterativo, y su oste es del orden de O(N2), uandose usa una transformada wavelet lási a; la mitad si usamos el esquema lifting.El sistema transformado se puede expresar omo:WAW�1Wx = Wb (4.13)La matriz transformada es �A = WAW�1. Una vez que se trun a por medio de unumbral � se obtiene una matriz dispersa, que denotamos por ~A. Con esta aproxi-ma ión se pueden onsiderar dos métodos de resolu ión:� Apli ar un método iterativo a ~Ay =Wb, donde x = W�1y.� Usar ~A omo pre ondi ionador para �Ay =Wb, donde x = W�1yA lo largo de este apítulo vamos a onsiderar la primera alternativa y en el a-pítulo siguiente, dedi ado al estudio de pre ondi ionadores, abordaremos la segunda omo un pre ondi ionador más.4.2.1 Convergen ia del métodoCuando se usa un pro edimiento iterativo para resolver un sistema lineal Ax = b,se dispone de la norma de un residuo krk = kb � Axk para la aproxima ión x delpaso a tual, y se desea obtener una estima ión del error absoluto kx � xk o delerror relativo kx� xk=kxk que se omete. La siguiente rela ión es muy útil en esta uestión [Saa96℄: kx� xkkxk � K(A)krkkbk (4.14)Es ne esario tener una estima ión del número de ondi ión K(A) para explotarla rela ión anterior. El número de ondi ión es un buen indi ador de singularidad osensibilidad del sistema lineal, ya que es invariante frente al es alado. Por ejemplo, sioriginariamenteK(A) = 108 enton es es posible que un método iterativo se omporterazonablemente bien. Sin embargo, un sistema on un número de ondi ión 1016 esmás difí il de resolver on los métodos estándar. Esto es debido a que ualquierprogreso que se ha e en un paso del pro edimiento iterativo se ve destruido porruido debido a errores numéri os. La onvergen ia de los métodos iterativos seha tratado brevemente en el apítulo 2. Se puede en ontrar más informa ión en[Saa96, NRT92℄.

Page 111: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.2. Matri es de oe� ientes densas y suaves 87

0 500 1000 1500 2000 250010

−20

10−18

10−16

10−14

10−12

10−10

10−8

10−6

10−4

tamaño de la matriz

erro

r

HAAR

NIVEL 1NIVEL 2NIVEL 4(a) Error relativo frente al nivel dela wavelet 0 500 1000 1500 2000 2500

10−20

10−15

10−10

10−5

100

tamaño de la matriz

erro

r

HAAR

umbral 10−2

umbral 10−4

umbral 10−6(b) Error relativo frente al umbral detrun amientoFigura 4.9: Error relativo frente al tamaño de la matriz, en fun ión del nivelde la wavelet y del umbral de trun amiento (wavelet Haar).De igual modo, en el aso del sistema transformado, podemos al ular el errorrelativo entre x y xw, err(x; xw) = kx� xwkkxk (4.15)donde xw es la solu ión dada por el sistema transformado ~Axw = �b. ~A es la matrizdispersa que se obtiene de A tras haber apli ado un umbral ade uado para la matriztransformada; es de ir, ~A = WAW�1 + E, donde kEk � "kWAW�1k. En general,esto impli a que kx�xwk=kxk es un valor en torno a "K( ~A). Desafortunadamente, notenemos ono imiento de ningún análisis en la literatura para el número de ondi iónde matri es transformadas utilizando wavelets. Hemos estudiado el error relativoerr(x,xw) mediante experimentos omputa ionales. Como se muestra en las �guras4.9 y 4.10, el error relativo entre x y xw no depende tanto del nivel de la wavelet omo del umbral de trun amiento.Las transformadas wavelet que usamos en nuestro trabajo son, omo omenta-mos en el apítulo 3, biortogonales, lo que impli a que la matriz original A y sutransformada �A = WAW�1 presentan el mismo histograma de valores singulares yla misma distribu ión de autovalores, manteniendo por tanto el mismo número de ondi ión (K( �A) = K(A)). En la �gura 4.11 se muestra el histograma de valores

Page 112: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

88 Capítulo 4. Resolu ión de sistemas densos usando wavelets

0 500 1000 1500 2000 250010

−9

10−8

10−7

10−6

tamaño de la matriz

erro

rDAUBECHIES D4

NIVEL 1NIVEL 2NIVEL 4

(a) Error relativo frente al nivel dela wavelet 0 500 1000 1500 2000 250010

−14

10−12

10−10

10−8

10−6

10−4

10−2

100

tamaño de la matriz

erro

r

DAUBECHIES D4

umbral 10−2

umbral 10−4

umbral 10−6

(b) Error relativo frente al umbral detrun amientoFigura 4.10: Error relativo frente al tamaño de la matriz, en fun ión delnivel de la wavelet y del umbral de trun amiento (wavelet D4).

0 0.5 1 1.5 2 2.5 3 3.5 40

5

10

15

20

25

30HISTOGRAMA DE VALORES SINGULARES

Valores singulares

N. d

e m

uest

ras

(a) Histograma de valores singulares −2 −1.5 −1 −0.5 0 0.5 1 1.5 2−60

−50

−40

−30

−20

−10

0

10

20

30

40

parte real

part

e im

agin

aria

DISTRIBUCIÓN DE AUTOVALORES

(b) Distribu ión de autovalores (de-talle)Figura 4.11: Valores singulares y autovalores para la matriz ejemplo 1.singulares y la distribu ión de valores para la matriz ejemplo 1.Si el umbral que se utiliza para el �ltrado de la matriz es el ade uado, es de ir,si ~A es una buena aproxima ión de A, el número de ondi ión de la matriz dispersa

Page 113: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.2. Matri es de oe� ientes densas y suaves 89es K( ~A) � K(A), y la rela ión de onvergen ia no ambia sustan ialmente onel esquema disperso. Podemos on luir que la onvergen ia del método iterativousando transformadas wavelet es similar a la onvergen ia del mismo método sintransformadas wavelet apli ado a la matriz densa.Los esquemas usando transformadas wavelet no tienen por qué mejorar la rela iónde onvergen ia del sistema denso. Sin embargo, el he ho de que la matriz seadispersa da lugar a eje u iones más rápidas, in luso teniendo en uenta el oste delas transformadas wavelet.4.2.2 Evalua iónSe muestran aquí resultados experimentales de la té ni a expuesta en esta se ión.Las matri es que se utilizan son las que ya hemos presentado en la se ión anterior.En los tres primeros ejemplos (ejemplo 1, ejemplo 2 y ejemplo 3) emplearemosmatri es de tamaño 2048�2048. En el ejemplo 4 la matriz empleada es de tamaño1024 � 1024. Es ogemos una matriz de menor tamaño porque, omo se verá másadelante, las matri es grandes presentan omportamientos irregulares rela ionados on la jerarquía de memoria. Si la matriz de oe� ientes es muy grande, no todos losdatos podrán ser ubi ados en la memoria a hé y, por lo tanto, durante la eje u ióndel produ to matriz�ve tor se produ irán fallos de apa idad y se requerirá un mayora eso a memoria prin ipal, lo que in�uye negativamente en los resultados de tiempode eje u ión.Además de la redu ión en el tiempo de omputa ión de la solu ión del problema,es también muy interesante el ahorro de memoria que se onsigue. En la �gura 4.12se muestra el número de MBytes que se ne esitan en el aso denso y en los distintos asos dispersos para el ejemplo 3 (para los demás ejemplos los resultados son simi-lares). Se puede ver así el ahorro de memoria que onsigue el uso de transformadaswavelet. El número de no eros que se obtienen después de la transforma ión de lamatriz de oe� ientes on las wavelets de Haar y Daube hies se muestra en la tabla4.2. En general, para un nivel alto de la wavelet, la dispersión será mayor pero,desafortunadamente, el oste de la transformada también se in rementará.La tabla 4.3 muestra los resultados de tiempo de eje u ión de los métodos GM-RES, BiCGSTAB y CGS on el sistema denso, y resultados usando el sistema dis-perso. Estos métodos se han introdu ido en el apítulo 2 omo los métodos iterativosade uados para resolver sistemas no�simétri os. Como se puede ver en la tabla, sólo

Page 114: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

90 Capítulo 4. Resolu ión de sistemas densos usando wavelets

0

5

10

15

20

25

30

35

Denso Haar (n-1) Haar (n-2) Haar (n-4) D4 (n-1) D4 (n-2) D4 (n-4)

0%\WHV

Figura 4.12: Ahorro de memoria on el uso de transformadas wavelet.niveles de la wavelet1 2 4matriz nnz % disp. nnz % disp. nnz % disp.EJ1 1293119 69.1 589760 86.0 335945 92.0Haar EJ2 1208801 71.2 466981 88.9 218861 94.8EJ3 1269771 69.8 542281 87.1 280549 93.4EJ4 326361 68.8 174945 83.3 95977 90.8EJ1 1192956 71.6 449417 89.3 223851 94.7D4 EJ2 1100527 73.8 335636 92.0 104800 97.6EJ3 1114741 73.5 351129 91.7 116601 97.3EJ4 319924 69.5 152401 85.4 83217 92.1Tabla 4.2: Número de no eros y grado de dispersión de las matri es de oe-� ientes omprimidas usando transformadas wavelet de Haar y Daube hies(D4).el método GMRES onverge para las uatro matri es ejemplo. Mostramos tambiénla rela ión entre la eje u ión densa y la dispersa (a elera ión), que se onsigue on

Page 115: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.2. Matri es de oe� ientes densas y suaves 91el uso de transformadas wavelet. De�nimos esta rela ión omo:Sp(N) = T �(N)Tw(N) (4.16)donde T �(N) es el tiempo de CPU para el algoritmo de resolu ión denso, Tw(N)es el tiempo de CPU para el algoritmo de resolu ión sobre la matriz transformadadispersa. Los resultados que presentamos aquí han sido obtenidos en un pro esadorDEC Alpha 21164 RISC del Cray T3E.Debemos observar que, en general, si la dispersión de la matriz es alta, la a e-lera ión que se onsigue es grande y ompensa el oste de la transformada waveletsobre la matriz original de oe� ientes. También hay que notar que la a elera iónque se onsigue on respe to a la resolu ión del sistema denso es menor que la quese esperaba teniendo en uenta la redu ión en el número de opera iones en pun-to �otante. Esto es debido a que el método iterativo denso usa alma enamientodenso, mientras que el método disperso usa alma enamiento disperso, en formatoCCS (Compress Column Storage). Este formato de alma enamiento, que se expli abrevemente en el apéndi e A, es muy general, no ha e ningún tipo de suposi iónsobre la estru tura de la matriz que alma ena, y no alma ena ningún elemento in-ne esario. Sin embargo, no es tan e� iente omo el alma enamiento denso, porquerequiere pasos de indire ión para ada opera ión en el produ to matriz�ve tor. Es-to impli a una menor e� ien ia en el uso de la jerarquía de memoria, pudiendo darlugar a un mayor número de fallos de on�i to, y por lo tanto, impli ando un mayor oste. Para entender mejor lo que su ede, mostramos en la �gura 4.13 el número deopera iones en punto �otante por segundo (medido en MFLOPS) que se realizan enun produ to matriz�ve tor (que es el nú leo fundamental de los métodos iterativos)para el aso de la matriz densa y para las matri es dispersas que se obtienen despuésde las distintas transformadas wavelet. Los resultados que se muestran en esa �gura orresponden al ejemplo 1, pero son similares para los demás ejemplos. Se observaque el número de MFLOPS es mayor en el aso denso; sin embargo, el aso dispersone esita mu has menos opera iones en punto �otante y ahí radi a su ventaja, yaque el produ to matriz�ve tor requerirá un menor tiempo de eje u ión.En la tabla 4.4 se muestra el error relativo que se omete al resolver el sistemadisperso usando el método GMRES. Como se puede observar este error es muy pe-queño, aunque si no lo fuese se podría bajar el umbral de trun amiento ha iendo queel sistema transformado aproximase más al sistema original, on lo que la resolu iónsería todavía más �able.

Page 116: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

92 Capítulo 4. Resolu ión de sistemas densos usando waveletsresolutor dispersoresolutor niveles de la waveletdenso 1 2 4met Tran. mat tiempo it. tiempo a el. tiempo a el. tiempo a el.EJ1 119.88 598 86.01 1.39 57.18 2.09 47.9 2.50G Haar EJ2 2.11 11 1.42 1.49 0.56 3.77 0.25 8.44M EJ3 12.52 73 7.25 1.73 3.53 3.55 2.09 5.99R EJ4 0.78 34 1.03 0.75 0.51 1.52 0.18 4.02E EJ1 119.88 598 78.49 1.53 52.60 2.27 40.57 2.95S D4 EJ2 2.11 11 1.20 1.74 0.39 5.41 0.14 15.07EJ3 12.52 73 6.49 1.93 2.58 4.85 1.21 10.35EJ4 0.78 34 0.85 0.91 0.34 2.29 0.15 5.06B EJ1 y y y y y y y yI Haar EJ2 3.39 10 1.95 1.73 1.06 3.11 0.74 4.58C EJ3 30.37 99 18.94 1.60 11.01 2.75 8.34 3.64G EJ4 1.77 43 3.01 0.58 1.11 1.59 0.34 5.02S EJ1 y y y y y y y yT D4 EJ2 3.39 10 1.83 1.85 0.91 3.72 0.60 5.65A EJ3 30.37 99 16.80 1.80 8.85 3.43 5.95 5.10B EJ4 1.77 43 2.30 0.76 0.73 2.42 0.25 7.08EJ1 y y y y y y y yHaar EJ2 3.07 9 1.65 1.86 1.06 2.89 0.74 4.14C EJ3 12.43 38 7.44 1.67 4.22 2.94 3.02 4.11G EJ4 y y y y y y y yS EJ1 y y y y y y y yD4 EJ2 3.07 9 1.45 2.11 0.82 3.74 0.54 5.68EJ3 12.43 38 6.76 1.83 3.40 3.65 2.25 5.52EJ4 y y y y y y y yTabla 4.3: Resultados de tiempo y a elera ión usando distintos métodositerativos sobre los sistemas dispersos obtenidos mediante las transformadaswavelet.4.3 Matri es de oe� ientes densas on degenera- ionesSe puede en ontrar más informa ión sobre la té ni a presentada en la se ión an-terior en [BCR91, Bey93, BV94℄, en los que se apli a la transformada wavelet pararesolver sistemas lineales densos on matri es de oe� ientes sin degenera iones. Los

Page 117: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.3. Matri es de oe� ientes densas on degenera iones 93

0,00

5,00

10,00

15,00

20,00

25,00

30,00

Denso Haar (n-1) Haar (n-2) Haar (n-4) D4 (n-1) D4 (n-2) D4 (n-4)

0)/236

Figura 4.13: MFLOPS para la opera ión matriz�ve torGMRES(1) dispersoniveles de la wavelet1 2 4Tran. mat kx� xk=kxk kx� xk=kxk kx� xk=kxkEJ1 1:88 � 10�5 2:40 � 10�5 1:43 � 10�5Haar EJ2 1:48 � 10�5 2:19 � 10�5 1:65 � 10�5EJ3 6:80 � 10�5 5:63 � 10�5 2:79 � 10�5EJ4 2:32 � 10�4 4:51 � 10�4 3:27 � 10�4EJ1 3:27 � 10�8 5:24 � 10�8 7:18 � 10�8D4 EJ2 3:09 � 10�8 2:09 � 10�7 3:80 � 10�8EJ3 1:33 � 10�8 1:69 � 10�8 3:35 � 10�8EJ4 2:01 � 10�7 8:93 � 10�6 9:12 � 10�6Tabla 4.4: Estima ión del error relativo ometido usando el sistema disperso.resultados de la se ión anterior, y los que se muestran en esos trabajos re�ejan quela té ni a se puede apli ar on éxito a matri es de oe� ientes suaves. Sin embargo,si la matriz de oe� ientes tiene zonas no�suaves, es de ir, on saltos brus os entrevalores ontiguos de la matriz de oe� ientes, provo ará que la té ni a de ompre-sión usando wavelets falle. Por ejemplo, en el aso de ódigos BEM, las té ni asanteriores sólo se pueden utilizar uando los ódigos se apli an a geometrías regula-

Page 118: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

94 Capítulo 4. Resolu ión de sistemas densos usando waveletsres. Cuando la geometría no es regular, o uando la formula ión di�ere de la lási apara estudiar degenera iones en los ontornos, omo grietas en las estru turas, sur-gen matri es que denominamos no�suaves, por las dis ontinuidades que presentanentre oe� ientes próximos, y que, por lo tanto, no se pueden omprimir fá ilmenteusando transformadas wavelet. En on reto, en la zona que se orresponde on lasdegenera iones, la transformada wavelet no es apaz de ondensar la informa iónen un número pequeño de oe� ientes; por lo tanto, en esta zona no se podrá usarningún umbral de trun amiento. Hemos realizado un esfuerzo para extender la té -ni a expuesta en la se ión anterior a sistemas de e ua iones lineales on matri esde oe� ientes on zonas no�suaves.Por otra parte, las matri es que estamos tratando son mal ondi ionadas, y, hastael momento, no se ono en pre ondi ionadores que mejoren de forma sustan ialsu rela ión de onvergen ia. Esto signi� a que el tiempo que requiere el sistemapara obtener la solu ión puede llegar a dominar el tiempo empleado en la etapade ensamblado de la matriz, espe ialmente uando el número de grados de libertad re e.Un ejemplo de estas matri es se puede ver en la �gura 4.14. La �gura 4.14(a)representa una matriz de oe� ientes pequeña que surge de la apli a ión del métodoDual BEM (DBEM) sobre un ilindro on una grieta interna [GCPR00, GPCR98℄.Los oe� ientes más altos se en uentran en las �las orrespondientes a la integra iónen los nodos de la grieta. Estos nodos dan lugar a una zona no�suave en la matriz de oe� ientes, que no puede omprimirse. En la �gura 4.14(b) se muestra la zona suavede la matriz de oe� ientes, ex luyendo la zona que surge de la dis retiza ión de lagrieta. Esta zona, se puede omprimir fá ilmente usando transformadas wavelet.Notar las diferen ias en los valores máximos de ambas zonas.A ontinua ión des ribimos el método que proponemos para evitar el problemaque presenta la zona no�suave de la matriz de oe� ientes a la hora de apli ar lastransformadas wavelet para hallar una representa ión dispersa de esa matriz.4.3.1 División y fusiónLa idea bási a para resolver el problema que presentábamos anteriormente es dividirla matriz de oe� ientes en dos zonas, una suave y otra no�suave, omo se mostrabaen la �gura 4.14. Esta idea se ha empleado ya en el ampo de ompresión deimágenes mediante la onstru ión de wavelets en intervalos [AHJP93, DJPS93℄.

Page 119: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.3. Matri es de oe� ientes densas on degenera iones 95

(a) (b)Figura 4.14: Matriz de oe� ientes A. (a) Matriz original ompleta, (b)amplia ión de la zona suave de la matriz ADe�nimos una opera ión � de la forma:A� B = AB ! = 0BBBBBBBB�

a11 : : : a1l... ...an1 : : : anlb11 : : : b1l... ...bm1 : : : bml1CCCCCCCCA (4.17)

donde A y B son matri es n � l y m � l respe tivamente, y A � B es una matriz(n +m)� l.Si apli amos la estrategia de división a la matriz de oe� ientes, podemos es ribir:A = A1 � A2 = A1A2 ! (4.18)La matriz A1 se orresponde on las �las suaves y la matriz A2 on las no�suaves de la matriz original A. Esto da omo resultado la diso ia ión de las dos

Page 120: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

96 Capítulo 4. Resolu ión de sistemas densos usando waveletszonas diferentes de la matriz original. Debemos prestar aten ión al he ho de que las�las de A2 no ne esitan estar onse utivas en la matriz A porque se pueden utilizarestrategias de reordenamiento. La unión de ambas zonas (�) forma la matriz de oe� ientes ompleta.El problema que plantea esta estrategia en ompresión de imágenes es que lasdis ontinuidades en una imagen, omo por ejemplo bordes, no se pueden prede ir apriori, y dependen de ada apli a ión. Por lo tanto, se debe usar un algoritmo desegmenta ión para de idir en qué lugar introdu ir un punto de división fa ilitaría la ompresión, y, después, re al ular los oe� ientes de la wavelet que se en uentranen la ve indad del punto de división. Esta té ni a se denomina wavelet probing[DJPS93℄.Sin embargo, en nuestro aso, las zonas no�suaves están perfe tamente lo aliza-das si se ono en los nodos de degenera ión en el ontorno del problema. Nuestrapropuesta onsiste en dividir la matriz en dos zonas, una suave y una no�suave,esta última mu ho menor, en la mayoría de los asos, que la anterior, y omprimirla zona suave. Posteriormente, tanto la zona omprimida omo la no omprimida sefunden y el sistema se resuelve usando un esquema que involu ra transforma ionesmediante wavelets.4.3.2 Esquema iterativo on transformadas waveletEmpleamos la transformada wavelet para resolver el sistema original Ax = b. Siapli amos la estrategia de división y fusión, la matriz de oe� ientes se puede es ribirA = A1 � A2. Enton es, el sistema que se resuelve tiene la forma:W A1A2 !W�1Wx = Wb; (4.19)donde la matriz A1 orresponde a la zona suave y la A2 a la zona no�suave.Como la submatriz A1 es uniforme, se puede transformar antes de omenzar elesquema iterativo y onvertir a dispersa �ltrándola por un umbral ade uado. Porotra parte, la matriz A2 no se puede trun ar porque orresponde a la parte no unifor-me. En este punto, tenemos dos posibilidades para resolver el sistema de e ua iones.En primer lugar podemos onsiderar la posibilidad de transformar A2 antes del es-quema iterativo pero no apli arle un umbral, de esta manera la matriz transformada�A2 será densa. Esta solu ión impli a el oste de una transformada bidimensional a

Page 121: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.3. Matri es de oe� ientes densas on degenera iones 97pesar de que A2 ontinuará siendo densa después de la transforma ión, es de ir, noobtendríamos ganan ia en uanto a la dispersión de A2. La segunda posibilidad esno transformar esta zona de la matriz e insertar un arti� io en ada itera ión delmétodo para resolver el sistema lineal. En este aso serán ne esarias varias trans-formadas unidimensionales por itera ión para mantener la onvergen ia del métodoiterativo, pero el oste se redu e a O(número de itera iones) frente a O(N) en el aso de ha er la transformada bidimensional de la zona A2.Nosotros adoptamos la segunda alternativa y, de esta forma, el nuevo esquemaque proponemos involu ra transformadas wavelet en ada itera ión del resolutor.Para una matriz de tamaño m� l, A = A1�A2, de�nimos los siguientes operadores:W+(A1; A2) = W 0B� A1E20 1CA W+T (A1; A2) = 0B� A1E20 1CAW�1 (4.20)donde E2 es el borde de A2 que se ne esita para transformar A1 usando el esquemalifting, y 0 es una submatriz de eros que ompleta una matriz m� n. Y,W�( �A1; A2) = W 0B� 0�E1A2 1CA W�T ( �A1; A2) = 0B� 0�E1A2 1CAW�1 (4.21)donde �E1 es el borde de �A1 que se ne esita para transformar A2 usando el esquemalifting. Es importante observar que la matriz transformada �A1 se usa porque, omo latransforma ión se realiza in situ, una vez que se ha transformado la parte superiorno disponemos de los datos originales A1. La implementa ión prá ti a de estosoperadores se muestra en la se ión 4.3.3.De este modo denotaremos por �A1 a la submatriz resultante de la transforma iónW+T (W+(A1; A2); A2), por �x y �b los ve tores transformados Wx y Wb respe tiva-mente, y por ~A1 la matriz �A1 después de trun arla on el umbral ade uado.Como omentábamos en el apítulo 2, en ada itera ión de un método iterativobasado en el subespa io de Krylov, se ne esita al menos una opera ión produ tomatriz�ve tor. El diagrama que representa la realiza ión de la opera ión produ tomatriz�ve tor usando nuestra propuesta se muestra en la �gura 4.15, donde la se - ión sombreada de la matriz de oe� ientes orresponde a la zona no transformada.Debemos tener en mente que las �las de A2 no ne esitan estar onse utivas en lamatriz original, aunque por simpli idad mantendremos este ejemplo en las próximas

Page 122: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

98 Capítulo 4. Resolu ión de sistemas densos usando wavelets

���������������

���������������

�����������������������������������������������������������������������������������������������

�����������������������������������������������������������������������������������������������

1y

X

A y22

A1~

~A1�x�W�(�y1; A2(W�1�x)) = �y1 � �y2 = �yFigura 4.15: Produ to matriz�ve tor on el esquema 2W�MatVe .expli a iones. En esta propuesta, se realiza una opera ión produ to matriz dispersa�ve tor (que se orresponde on la zona uniforme) y una opera ión produ to matrizdensa�ve tor ( orrespondiente a la zona no�uniforme). Por otra parte, se ne esi-tan dos nuevas transformadas wavelet unidimensionales por itera ión para asegurarque se mantiene el omportamiento original del resolutor ( omo se omentará en lase ión 4.3.4), por lo tanto, nos referiremos al esquema on el nombre de esquema2W�MatVe :1. Produ to matriz dispersa�ve tor: �y1 � ~A1�x2. Transformada wavelet 1�D inversa: x � W�1�x3. Produ to matriz densa�ve tor: y2 � A2x4. Transformada wavelet 1�D dire ta: �y2 � W�(�y1; y2)La opera ión ompleta se muestra en los siguientes pasos:A. Antes del lazo iterativo en el algoritmo de resolu ión:� división: A �! A1 � A2� 2�D wavelet: W+T (W+(A1; A2); A2) �! �A1� umbral: �A1 �! ~A1

Page 123: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.3. Matri es de oe� ientes densas on degenera iones 99B. Para ada produ to matriz�ve tor en el lazo iterativo:� 2W�MatVe :� Produ to matriz dispersa�ve tor: ~A1�x �! �y1� Produ to matriz densa�ve tor y transformadas wavelet 1-D:W�(�y1; A2(W�1�x)) �! �y2� fusión: �y1 � �y2 �! �yLógi amente, los pasos de división y fusión no suponen ninguna opera ión sobrelos datos, sino que simplemente son pasos �simbóli os� en la expli a ión teóri a, para omprender mejor el algoritmo que proponemos.4.3.3 Implementa ión prá ti a de la transformada waveletComo ya hemos men ionado anteriormente, es ne esario usar estrategias alternativasa las transformadas lási as wavelet para su apli a ión a intervalos de tamañosvariables. El esquema lifting permite la apli a ión de la transformada a matri es dediferentes formas y tamaños.Para aumentar la e� ien ia del método, ada transformada wavelet se lleva a abo in situ. De esta manera, las submatri es �A1 y A2 se olo an en las posi ionesdonde se alma enaba originariamente la matriz A. Lo mismo su ede on los ve tores�y1 e y2, que se olo an en las posi iones donde se alma enaba y, y on el ve tor �y2,que posteriormente se alma ena en las posi iones que o upaba y2.La implementa ión del esquema propuesto es relativamente simple, ya que só-lo es ne esario introdu ir dos transformadas unidimensionales en ada produ tomatriz�ve tor. Sin embargo, existe una ompli a ión en la frontera entre la zonaque deseamos transformar y la zona que se mantiene sin transformar. Para ilustrarlas siguientes situa iones, en las �guras 4.16 y 4.17 mostramos la transforma ión dediferentes subgrupos en un ve tor de tamaño total N = 16 elementos, usando lastransformadas Haar y Daube hies. En ada sub�gura denominamos m al númerode elementos del subgrupo que se transforma, que se orrespondería on el númerode �las de la matriz A1.Si se apli a la transformada wavelet de Haar, pueden o urrir dos situa iones. Siel tamaño del subgrupo que se transforma es múltiplo de 2�, siendo � el número deniveles de la wavelet, enton es no se ne esita ningún oe� iente de la frontera para

Page 124: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

100 Capítulo 4. Resolu ión de sistemas densos usando wavelets0

1

2

NIVELNO TRANSFORMADOTRANSFORMADO

4(a) Haar, N = 16, m = 80

1

2

TRANSFORMADONOTRANSF. NIVEL

4(b) Haar, N = 16, m = 13Figura 4.16: Diferentes situa iones. Transformada wavelet Haar de un ve -tor N = 16.re al ular el oe� iente ini ial o �nal de la zona transformada (�gura 4.16(a)). Deotro modo, se ne esita un oe� iente � o un oe� iente de la zona no transformadapara re al ular el primer o el último � de la zona transformada (�gura 4.16(b)).Si se emplea la wavelet de Daube hies (D4), el pro eso de re al ular los oe� ientesde la frontera es más ompli ado. En este aso siempre se ne esita informa ión de

Page 125: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.3. Matri es de oe� ientes densas on degenera iones 1010

1

2

TRANSFORMADO TRANSFORMADO NIVELNO

4Figura 4.17: Transformada wavelet D4 de un ve tor N = 16, m = 10. oe� ientes en la frontera de la zona no transformada (�gura 4.17). En on reto,para al ular ada � o , se ne esitan dos oe� ientes � y dos oe� ientes (unoanterior y otro posterior). La informa ión que se ne esita en la frontera se alma enaen tablas de datos temporales para ser usados a la hora de al ular los oe� ientesde la frontera.Otra ompli a ión añadida a este pro eso es que, omo la transforma ión se llevaa abo in situ, uando los datos de una zona ne esitan utilizar oe� ientes de la otrazona para re al ular su borde, estos, o bien no han sido transformados previamente,o bien son oe� ientes que ya han sido transformados hasta el último nivel. Porejemplo, si apli amos la wavelet al ve tor resultante y2, y ne esitamos los datos dela parte superior del ve tor y para re al ular el borde, nos en ontramos on que laparte superior del ve tor y no tiene los datos de y1 sino que ya tiene los datos de�y1. En este aso las expresiones de interpola ión en la frontera han sido reformadaspara obtener expresiones que one ten los nuevos oe� ientes � y en ada paso dela transforma ión de y2 on los oe� ientes ya transformados �y1. Esta reformula iónre�eja el omportamiento del operador W�.

Page 126: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

102 Capítulo 4. Resolu ión de sistemas densos usando wavelets4.3.4 Convergen ia del esquemaEl esquema propuesto es equivalente a la transforma ión de la matriz ompleta yposterior eje u ión del método iterativo. Esto ha e que lo que veíamos en la se ión4.2.1 sobre la onvergen ia del método, sea también válido para el método de divisióny fusión que proponemos. El esquema no ha e variar el número de ondi ión de lamatriz, on lo que la onvergen ia del método no se verá alterada.En lugar de usar el método de división y fusión tal y omo proponemos, podemospensar en resolver el sistema transformando sólo la zona uniforme de la matriz de oe� ientes y dejar la otra zona sin transformar, sin intentar mantener la onvergen- ia del método. Esto redu iría el número de transformadas dentro del lazo iterativo.En este aso sólo se ne esitaría una transformada en ada itera ión del esquema, yaque el ve tor tiene que ser el transformado en el produ to matriz dispersa�ve tor, ytiene que ser el original en el produ to matriz densa�ve tor. En este aso, la matrizde transforma ión W del sistema no sería biortogonal, de forma que el número de ondi ión de la matriz original, K(A), no se mantendría en el sistema transformado.Por lo tanto, no podríamos rela ionar la onvergen ia del sistema transformado onla del sistema original. Experimentalmente hemos omprobado que esta estrategiada lugar a sistemas peor ondi ionados que el original, in rementándose de formasigni� ativa el número de itera iones ne esarias para al anzar la onvergen ia.4.3.5 Coste del esquema de resolu iónPodemos analizar el oste en ada itera ión, en número de opera iones en punto�otante (FLOPs), del esquema de resolu ión que proponemos y ompararlo on el oste por itera ión que se ne esita para resolver el sistema denso. Como la úni amodi� a ión que introdu e esta estrategia involu ra el produ to matriz�ve tor en ada itera ión, omparamos el número de opera iones ne esarias para el produ tomatriz�ve tor denso y el produ to 2W�MatVe .El produ to matriz�ve tor en el método original, apli ado a una matriz densa,impli a 2�N2 FLOPs, donde N es el número de �las y olumnas de la matriz. Sinembargo, la nueva estrategia impli a:� Un produ to matriz dispersa�ve tor, que supone 2� nnz FLOPs, donde nnzes el número de no eros de la zona suave una vez que ha sido transformada.

Page 127: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.3. Matri es de oe� ientes densas on degenera iones 103� Un produ to matriz densa�ve tor, que supone 2�N � n FLOPs, donde n esel número de �las en la zona no uniforme.� Dos transformadas unidimensionales, que suponen (5nv2 + 5nv4 +� � �+ 5nv2� ) FLOPspara la wavelet de Haar y (9nv2 + 9nv4 + � � � + 9nv2� ) FLOPs para la waveletde Daube hies de orden uatro (D4), donde nv es el tamaño del ve tor quequeremos transformar (para una de las transformadas nv = N -paso 2 delesquema 2W�MatVe - y para la otra nv = n -paso 4 del esquema 2W�MatVe -)y � es el nivel de la wavelet que estamos empleando.En general, el oste del produ to 2W�MatVe se ha e menor uando el nivel dela wavelet re e, ya que el número de no eros en la matriz transformada es menor.En el próximo apartado se puede ver una tabla (tabla 4.5) que muestra el oste deeste produ to matriz�ve tor para algunos de los experimentos que hemos realizado.También es ne esario tener en uenta el oste de la transformada bidimen-sional ne esaria para omprimir la zona uniforme. Esta transformada requiereN � ost1D(N�n) + (N � n) � ost1DN FLOPs, donde (N � n) es el número de �lasen la zona suave y ost1Ds es el oste de una transformada unidimensional de unve tor de tamaño s. La sobre arga que supone esta transforma ión se ompensadespués de una ierta antidad de itera iones, on la ganan ia en tiempo que seobtiene en ada itera ión.4.3.6 Evalua iónEn esta se ión se muestran resultados experimentales que ponen de mani�esto laviabilidad del método que proponemos. Las matri es que se utilizan son las que yahemos empleado en las se iones anteriores (ver se ión 4.1). En esta se ión em-plearemos matri es de tamaño 2048�2048, donde las últimas 256 �las se onsideranpertene ientes a la zona no�uniforme para los ejemplos 1, 2 y 3 y una matriz de ta-maño 1024�1024 on 64 �las pertene ientes a la zona no�uniforme para el ejemplo4. En el apítulo 6 mostraremos más resultados on matri es reales que provienen deun ódigo que utiliza elementos de ontorno para analizar el re imiento de grietasen estru turas.Como se omentaba en la se ión anterior, además de la redu ión en el tiempo de omputa ión de la solu ión del problema, es interesante �jar la aten ión en el ahorrode memoria que se onsigue. La parte uniforme de la matriz original es, normal-

Page 128: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

104 Capítulo 4. Resolu ión de sistemas densos usando waveletsniveles de la wavelet1 2 4nnz N. FLOPs nnz N. FLOPs nnz N. FLOPsEJ1 1133516 3.33�106 519854 2.10�106 298494 1.66�106Haar EJ2 1058673 3.16�106 410323 1.88�106 193903 1.44�106EJ3 1112966 3.27�106 477925 2.01�106 249417 1.56�106EJ4 313697 0.63�106 133923 0.27�106 81370 0.17�106EJ1 1044605 3.15�106 394425 1.85�106 197290 1.46�106D4 EJ2 963198 2.98x106 294158 1.65�106 92128 1.25�106EJ3 975664 3.00�106 307682 1.68�106 102636 1.27�106EJ4 311784 0.63�106 130109 0.26�106 74309 0.16�106Tabla 4.5: Número de no eros de las matri es de oe� ientes omprimidasusando transformadas wavelet de Haar y Daube hies (D4) y oste en númerode FLOPs para el produ to matriz�ve tor.mente, mayor que la parte no�uniforme, y se puede omprimir antes del omienzodel método iterativo, lo que signi� a un ahorro en requerimientos de memoria.El número de no eros que se obtienen después de la transforma ión de la zonasuave de la matriz de oe� ientes, on las wavelets de Haar y Daube hies D4, semuestra en la tabla 4.5. También se muestra el número de opera iones en punto�otante (FLOPs) para el produ to 2W�MatVe , donde se in luyen los FLOPs de-bidos a las transformadas unidimensionales del esquema. De nuevo, para un nivelalto de la wavelet la dispersión será mayor pero el oste de la transformada tambiénse in rementará. Notar que el número de opera iones en punto �otante para el pro-du to matriz densa�ve tor es de 8.38�106 FLOPs para los tres primeros ejemplos yde 2.09�106 FLOPs para el ejemplo 4.La tabla 4.6 muestra los resultados de tiempo de eje u ión de los métodos GM-RES, BiCGSTAB y CGS on el sistema denso y resultados usando el esquema pro-puesto. Mostramos también la a elera ión (e ua ión (4.16) que se onsigue. Losresultados han sido obtenidos en un pro esador DEC Alpha 21164 RISC del CrayT3E.Los resultados son similares a los que veíamos en la se ión anterior para ma-tri es suaves. El método que proponemos onsigue resolver satisfa toriamente elsistema no�suave, a pesar de no poder apli ar la transformada wavelet a la matrizde oe� ientes ompleta. Además, a la vista de la a elera ión que se onsigue, po-

Page 129: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.4. Esquema iterativo paralelo 105resolutor dispersoresolutor niveles de la waveletdenso 1 2 4met. Tran. mat tiempo it. tiempo a el. tiempo a el. tiempo a el.EJ1 119.88 598 90.76 1.32 66.48 1.80 57.26 2.09G Haar EJ2 2.11 11 1.47 1.44 0.83 2.54 0.56 3.77M EJ3 12.52 73 7.65 1.64 4.53 2.76 3.34 3.75R EJ4 0.78 34 1.15 0.68 0.61 1.27 0.39 2.01E EJ1 119.88 598 81.80 1.46 52.70 2.27 44.22 2.71S D4 EJ2 2.11 11 1.23 1.72 0.61 3.46 0.40 5.27EJ3 12.52 73 6.98 1.79 3.71 3.37 2.60 4.82EJ4 0.78 34 0.92 0.84 0.41 1.90 0.24 3.25B EJ1 y y y y y y y yI Haar EJ2 3.39 10 2.01 1.68 1.66 2.04 0.94 3.60C EJ3 30.37 99 19.80 1.53 11.51 2.64 8.55 3.55G EJ4 1.77 43 3.52 0.51 1.31 1.35 0.66 2.68S EJ1 y y y y y y y yT D4 EJ2 3.39 10 1.99 1.70 1.08 3.13 0.81 4.18A EJ3 30.37 99 17.32 1.75 9.15 3.31 6.06 5.01B EJ4 1.77 43 2.52 0.70 0.93 1.90 0.35 2.85EJ1 y y y y y y y yHaar EJ2 3.07 9 1.78 1.72 1.22 2.52 0.95 3.23C EJ3 12.43 38 7.84 1.58 4.46 2.78 3.42 3.63G EJ4 y y y y y y y yS EJ1 y y y y y y y yD4 EJ2 3.07 9 1.66 1.85 0.96 3.19 0.74 4.14EJ3 12.43 38 6.97 1.78 3.61 3.44 2.48 5.01EJ4 y y y y y y y yTabla 4.6: Resultados de tiempo de eje u ión y a elera ión usando el pro-du to 2W�MatVe en distintos métodos iterativos.demos de ir que, si la zona on degenera iones representa una por ión minoritariade la matriz ompleta, el método obtendrá buenos resultados.De todos modos la a elera ión que se onsigue es ligeramente menor que la que seobtenía en la apli a ión del método original a matri es suaves. Esto es debido a queahora se están realizando dos transformadas unidimensionales adi ionales dentro dellazo iterativo.4.4 Esquema iterativo paraleloHasta aquí hemos des rito el esquema iterativo ombinado on la transformada wave-let para resolver sistemas lineales densos on degenera iones (que hemos denominadoesquema 2W�MatVe ) en se uen ial. En el esquema adaptado a multipro esadores

Page 130: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

106 Capítulo 4. Resolu ión de sistemas densos usando wavelets[GCP00 , GCP℄, se realiza el produ to matriz dispersa�ve tor (que se orresponde on la zona uniforme) y el produ to matriz densa�ve tor ( orrespondiente a la zo-na no�uniforme) ambos en paralelo. Por otra parte, omo ya hemos omentado, sene esitan dos nuevas transformadas wavelet unidimensionales por itera ión para ase-gurar que se mantiene el omportamiento original del resolutor. La implementa iónparalela del produ to 2W�MatVe se realiza en los siguientes pasos:1. Produ to paralelo matriz dispersa�ve tor: �y1 � ~A1�x2. Transformada wavelet 1�D inversa se uen ial: x � W�1�x3. Produ to paralelo matriz densa�ve tor: y2 � A2x4. Transformada wavelet 1�D dire ta paralela: �y2 � W�(�y1; y2)Todas estas opera iones se pueden llevar a abo en paralelo, sin embargo, hemosde idido realizar la transformada unidimensional inversa del ve tor �x de forma se- uen ial porque este ve tor está siempre repli ado en todos los pro esadores, pararealizar el produ to matriz�ve tor. Debido al pequeño oste de la transformadaunidimensional omparada on el resto de opera iones, es más rentable ha er estade forma redundante ya que ahorramos la redistribu ión posterior del ve tor pararealizar el produ to matriz�ve tor.4.4.1 Evalua ión del esquema iterativo paraleloEn esta se ión se muestran resultados experimentales que ponen de mani�esto lae� ien ia de la implementa ión del método propuesto en multipro esadores. Lasmatri es que se prueban aquí son las que ya hemos empleado en las se iones ante-riores. Re ordemos que di hos ejemplos son tres matri es de tamaño 2048� 2048,donde las últimas 256 �las se onsideran pertene ientes a la zona no�uniforme, yuna matriz de tamaño 1024�1024 on 64 �las pertene ientes a la zona no�uniforme.En el apítulo 6 mostraremos más resultados on matri es reales.Comenzamos mostrando en la tabla 4.7 los resultados de tiempo de eje u ión enel Cray T3E para el produ to matriz�ve tor on ada uno de los uatro ejemplos.Presentamos los resultados para el produ to matriz densa�ve tor y para el produ tousando el esquema 2W�MatVe que nosotros proponemos. Nuestra propuesta para

Page 131: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.4. Esquema iterativo paralelo 107la resolu ión de los sistemas de e ua iones se basa en la modi� a ión, úni a y ex lu-sivamente, de los produ tos matriz�ve tor que existan en el método iterativo, porlo tanto, los resultados para este nú leo son espe ialmente interesantes.De estos datos sa amos en on lusión que el produ to matriz�ve tor 2W�MatVe (in luidas las transformadas unidimensionales) obtiene unos resultados satisfa to-rios, y la mejora en tiempo de eje u ión que onseguimos en la parte dispersa ompensa el oste de las transformadas wavelet que ne esitamos para mantenerel omportamiento del resolutor.En las �guras 4.18, 4.19, 4.20 y 4.21 se puede ver, grá� amente, el omporta-miento del produ to matriz�ve tor 2W-MatVe usando las distintas wavelets y el omportamiento del produ to matriz densa�ve tor. Mostramos en esas grá� as laa elera ión que se onsigue sobre el produ to matriz densa�ve tor se uen ial, esde ir, al ulamos la a elera ión del nuevo esquema por la rela ión:Sp(N) = T �(N)Tp(N) ; (4.22)donde T �(N) es el siempre el tiempo de CPU para el algoritmo denso se uen ial,Tp(N) es el tiempo de CPU para el algoritmo paralelo (tanto el del algoritmo denso omo el del nuevo esquema propuesto), N es el tamaño del problema y p es el númerode pro esadores usados.Para las transformadas de nivel 1 (tanto la wavelet de Haar omo la wavelet D4)observamos que, aunque en se uen ial onsiguen a elera ión sobre el método denso,este omportamiento no se mantiene al aumentar el número de pro esadores. Estose debe a que el esquema 2W�MatVe no presenta la misma es alabilidad que elprodu to denso. Las razones son:� el tratamiento de los datos dispersos requiere indire iones (ver apéndi e A) ypuede generar más on�i tos de memoria que el alma enamiento denso.� el balan eo de la arga en el aso denso es siempre perfe to, mientras que enel aso disperso varía on el número de pro esadores.� el produ to 2W�MatVe ne esita 2 transformadas unidimensionales.En el aso de los otros niveles, la es alabilidad del produ to 2W�MatVe siguesiendo peor que la del método denso, pero la a elera ión que se onsigue en se uen ial

Page 132: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

108 Capítulo 4. Resolu ión de sistemas densos usando waveletsProdu to 2W�MatVe MatVe niveles de la waveletdenso 1 2 4matriz transf. #PE tiempo(s) tiempo(s) tiempo(s) tiempo(s)ejemplo 1 1 1.54�10�01 1.22�10�01 8.27�10�02 6.25�10�022 5.15�10�02 6.32�10�02 4.26�10�02 3.22�10�02Haar 4 2.70�10�02 3.34�10�02 2.24�10�02 1.70�10�028 1.39�10�02 1.84�10�02 1.20�10�02 9.46�10�031 1.54�10�01 1.10�10�01 6.68�10�02 4.11�10�022 5.15�10�02 5.64�10�02 3.44�10�02 2.07�10�02D4 4 2.70�10�02 2.96�10�02 1.81�10�02 1.07�10�028 1.39�10�02 1.60�10�02 9.71�10�03 5.56�10�03ejemplo 2 1 1.54�10�01 1.12�10�01 7.34�10�02 5.35�10�022 5.15�10�02 5.77�10�02 3.76�10�02 2.72�10�02Haar 4 2.70�10�02 3.05�10�02 1.98�10�02 1.43�10�028 1.39�10�02 1.67�10�02 1.06�10�02 7.53�10�031 1.54�10�01 9.81�10�02 5.56�10�02 3.79�10�022 5.15�10�02 5.04�10�02 2.86�10�02 1.91�10�02D4 4 2.70�10�02 2.67�10�02 1.50�10�02 9.67�10�038 1.39�10�02 1.46�10�02 8.19�10�03 5.14�10�03ejemplo 3 1 1.54�10�01 1.19�10�01 7.57�10�02 5.89�10�022 5.15�10�02 6.10�10�02 3.88�10�02 2.97�10�02Haar 4 2.70�10�02 3.19�10�02 2.05�10�02 1.54�10�028 1.39�10�02 1.72�10�02 1.14�10�02 8.12�10�031 1.54�10�01 1.01�10�01 5.74�10�02 3.98�10�022 5.15�10�02 5.09�10�02 2.94�10�02 2.01�10�02D4 4 2.70�10�02 2.65�10�02 1.54�10�02 1.02�10�028 1.39�10�02 1.42�10�02 8.33�10�03 5.38�10�03ejemplo 4 1 1.58�10�02 1.82�10�02 1.35�10�02 8.58�10�032 7.93�10�03 9.38�10�03 7.10�10�03 4.49�10�03Haar 4 4.09�10�03 4.93�10�03 3.91�10�03 2.47�10�038 2.17�10�03 2.65�10�03 2.22�10�03 1.42�10�031 1.58�10�02 1.62�10�02 9.95�10�03 5.83�10�032 7.93�10�03 8.58�10�03 5.23�10�03 3.05�10�03D4 4 4.09�10�03 4.68�10�03 2.89�10�03 1.67�10�038 2.17�10�03 2.70�10�03 1.66�10�03 9.55�10�04Tabla 4.7: Resultado de tiempos de eje u ión para los produ tos matriz�ve tor. Compara ión entre el produ to 2W�MatVe y el produ to matrizdensa�ve tor.

Page 133: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.4. Esquema iterativo paralelo 109

1 2 3 4 5 6 7 80

2

4

6

8

10

12

14

16

18

n. procesadores

acel

erac

ión

MATVEC − EJEMPLO 1

Denso Disperso − NIVEL 1Disperso − NIVEL 2Disperso − NIVEL 4

(a) Haar wavelet 1 2 3 4 5 6 7 80

5

10

15

20

25

30

n. procesadores

acel

erac

ión

MATVEC − EJEMPLO 1

Denso Disperso − NIVEL 1Disperso − NIVEL 2Disperso − NIVEL 4

(b) D4 waveletFigura 4.18: A elera ión del produ to 2W�MatVe sobre el denso se uen ialpara el ejemplo 1

1 2 3 4 5 6 7 80

5

10

15

20

25

n. procesadores

acel

erac

ión

MATVEC − EJEMPLO 2

Denso Disperso − NIVEL 1Disperso − NIVEL 2Disperso − NIVEL 4

(a) Haar wavelet 1 2 3 4 5 6 7 80

5

10

15

20

25

30

n. procesadores

acel

erac

ión

MATVEC − EJEMPLO 2

Denso Disperso − NIVEL 1Disperso − NIVEL 2Disperso − NIVEL 4

(b) D4 waveletFigura 4.19: A elera ión del produ to 2W�MatVe sobre el denso se uen ialpara el ejemplo 2ha e que el método propuesto siga siendo mejor que el denso y este sólo al anzaráal produ to 2W�MatVe si seguimos aumentando el número de pro esadores.

Page 134: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

110 Capítulo 4. Resolu ión de sistemas densos usando wavelets

1 2 3 4 5 6 7 80

2

4

6

8

10

12

14

16

18

20

n. procesadores

acel

erac

ión

MATVEC − EJEMPLO 3

Denso Disperso − NIVEL 1Disperso − NIVEL 2Disperso − NIVEL 4

(a) Haar wavelet 1 2 3 4 5 6 7 80

5

10

15

20

25

30

n. procesadores

acel

erac

ión

MATVEC − EJEMPLO 3

Denso Disperso − NIVEL 1Disperso − NIVEL 2Disperso − NIVEL 4

(b) D4 waveletFigura 4.20: A elera ión del produ to 2W�MatVe sobre el denso se uen ialpara el ejemplo 3

1 2 3 4 5 6 7 80

2

4

6

8

10

12

n. procesadores

acel

erac

ión

MATVEC − EJEMPLO 4

Denso Disperso − NIVEL 1Disperso − NIVEL 2Disperso − NIVEL 4

(a) Haar wavelet 1 2 3 4 5 6 7 80

2

4

6

8

10

12

14

16

18

n. procesadores

acel

erac

ión

MATVEC − EJEMPLO 4

Denso Disperso − NIVEL 1Disperso − NIVEL 2Disperso − NIVEL 4

(b) D4 waveletFigura 4.21: A elera ión del produ to 2W�MatVe sobre el denso se uen ialpara el ejemplo 4Las indire iones que introdu e el usar alma enamiento disperso, omo ya omen-tábamos anteriormente, pueden provo ar distintos on�i tos en el a eso a memoria,

Page 135: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.4. Esquema iterativo paralelo 111

1 2 3 4 5 6 7 80

50

100

150

200

250

300

350

n. de procesadores

MF

LOP

S

HAAR

Denso Disperso−NIVEL 1Disperso−NIVEL 2Disperso−NIVEL 4

(a) Haar wavelet 1 2 3 4 5 6 7 80

50

100

150

200

250

300

350

n. de procesadores

MF

LOP

S

DAUBECHIES D4

Denso Disperso−NIVEL 1Disperso−NIVEL 2Disperso−NIVEL 4

(b) D4 waveletFigura 4.22: MFLOPS para la opera ión matriz�ve tor frente al número depro esadoreslo que in�uye negativamente en la e� ien ia del método disperso frente al denso, quesólo sufrirá, en todo aso, fallos de apa idad si el número de pro esadores es pe-queño. En la �gura 4.22 se muestra el número de opera iones en punto �otantepor segundo (MFLOPS) para la opera ión produ to matriz�ve tor en fun ión delnúmero de pro esadores. Se observa que el número de MFLOPS es siempre mayoren el aso denso y además re e más rápido que el disperso al aumentar el númerode pro esadores. Al aumentar el número de pro esadores el número de datos quehay que pro esar disminuye, y las indire iones ne esarias para lo alizar esos datospesan más sobre la arga omputa ional.Además, la matriz dispersa da lugar a un balan eo de la arga omputa ionalpeor que el de la matriz densa. Algunos pro esadores a abarán on mayor arga omputa ional que otros. El problema del balan eo de la arga empeora on elnúmero de pro esadores. Hemos intentado obtener un buen balan eo de la argapara nuestro problema distribuyendo la matriz de oe� ientes de forma que el áreatransformada (dispersa) se distribuye entre todos los pro esadores, y de igual for-ma se ha e on el área sin transformar (densa). De este modo, ada pro esadorrealizará un produ to matriz�ve tor denso y otro disperso, on lo que el esfuerzo omputa ional está mejor distribuido. En la �gura 4.23 se muestra el balan eo de la arga para los uatro ejemplos en el aso de emplear una transformada D4 de nivel

Page 136: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

112 Capítulo 4. Resolu ión de sistemas densos usando wavelets

2 3 4 5 6 7 80.6

0.7

0.8

0.9

1

1.1

1.2

n. de procesadores

Bal

ance

oEJEMPLO 1

(a) ejemplo 1 2 3 4 5 6 7 80.6

0.7

0.8

0.9

1

1.1

1.2

n. de procesadores

Bal

ance

o

EJEMPLO 2

(b) ejemplo 2

2 3 4 5 6 7 80.6

0.7

0.8

0.9

1

1.1

1.2

n. de procesadores

Bal

ance

o

EJEMPLO 3

( ) ejemplo 3 2 3 4 5 6 7 80.6

0.7

0.8

0.9

1

1.1

1.2

n. de procesadores

Bal

ance

oEJEMPLO 4

(d) ejemplo 4Figura 4.23: Balan eo de la arga omputa ional para los 4 ejemplos usandola transformada D4 (nivel 2)2. Los resultados son similares si utilizamos otras transformadas y otros niveles.Utilizamos omo estima ión del balan eo de la arga:B = FLOPtotal=(p � FLOPmax) (4.23)donde FLOPtotal es el número de opera iones totales en punto �otante ne esariaspara llevar a abo un produ to matriz�ve tor, p es el número de pro esadores y

Page 137: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.4. Esquema iterativo paralelo 113CGS on 2W�MatVe CGS niveles de la waveletdenso 1 2 4matriz transf. #PE tiempo(s) tiempo(s) tiempo(s) tiempo(s)ejemplo 2 1 3.071 1.784 1.225 0.954(9 iter) 2 0.820 0.848 0.430 0.292Haar 4 0.321 0.434 0.226 0.1588 0.173 0.243 0.147 0.1141 3.071 1.662 0.963 0.7452 0.820 0.711 0.324 0.201D4 4 0.321 0.367 0.174 0.1168 0.173 0.208 0.118 0.092ejemplo 3 1 12.432 7.843 4.464 3.421(38 iter) 2 3.178 3.250 1.753 1.220Haar 4 1.222 1.645 0.909 0.6518 0.647 0.919 0.575 0.4531 12.432 6.971 3.615 2.4832 3.178 2.922 1.337 0.850D4 4 1.222 1.502 0.712 0.4808 0.647 0.857 0.486 0.381Tabla 4.8: Resultado de tiempos usando el produ to 2W�MatVe en elmétodo CGS. Compara ión on el resolutor denso.FLOPmax es el valor máximo del número de opera iones en punto �otante asignadasa los pro esadores. En esta de�ni ión, B es tal que 0 < B � 1. En el aso de arga ompletamente balan eada el resultado será la unidad, uanto peor balan eada seen uentre la arga, más nos a er aremos al valor 0.Las tablas 4.8, 4.9 y 4.10 muestran resultados de tiempos para los métodosCGS, BiCGSTAB y GMRES respe tivamente, usando el sistema denso y el esquemapropuesto, ambos en su implementa ión paralela. Los ejemplos 1 y 4 no onvergen on todos los métodos anteriores, de forma que sólo los hemos in luido en las tablasde los métodos para los que sí al anzan onvergen ia. Debemos notar que, en general,si la dispersión de la matriz transformada es alta, la a elera ión que se onsiguetambién es mayor.Por último, las �guras de la 4.24 a la 4.26 muestran la a elera ión que se onsigue on el esquema propuesto usando las transformadas wavelet frente al método lási opara el GMRES. En estas �guras observamos que, en general, la a elera ión del

Page 138: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

114 Capítulo 4. Resolu ión de sistemas densos usando waveletsBiCGSTAB on 2W�MatVe BiCGSTAB niveles de la waveletdenso 1 2 4matriz transf. #PE tiempo(s) tiempo(s) tiempo(s) tiempo(s)ejemplo 2 1 3.392 2.011 1.662 0.944(10 iter) 2 0.910 0.850 0.432 0.295Haar 4 0.357 0.434 0.230 0.1618 0.193 0.244 0.148 0.1171 3.392 1.991 1.080 0.8142 0.910 0.789 0.355 0.225D4 4 0.357 0.389 0.197 0.1308 0.193 0.233 0.127 0.104ejemplo 3 1 30.372 19.800 11.511 8.551(99 iter) 2 8.186 8.337 4.519 3.397Haar 4 3.001 4.175 2.353 1.7498 1.714 2.334 1.498 1.2581 30.372 17.320 9.151 6.0622 8.186 7.223 3.461 2.164D4 4 3.001 4.044 1.925 1.3008 1.714 2.260 1.285 1.038ejemplo 4 1 1.772 3.520 1.311 1.901(43 iter) 2 0.771 1.465 0.536 0.287Haar 4 0.462 0.760 0.416 0.1848 0.243 0.491 0.255 0.1971 1.772 2.521 0.933 0.3522 0.771 1.140 0.412 0.165D4 4 0.462 0.623 0.271 0.1518 0.243 0.370 0.173 0.142Tabla 4.9: Resultado de tiempos usando el produ to 2W�MatVe en elmétodo BiCGSTAB. Compara ión on el resolutor denso.nuevo esquema no re e omo lo ha e la del resolutor denso, aunque para todos los asos los resultados en tiempo de eje u ión son mejores para el nuevo esquema quepara el resolutor denso si se usan niveles de wavelet 2 y superiores. Por ejemplo,para 8 pro esadores usando la wavelet de Daube hies de nivel 4 en el ejemplo 2obtenemos una a elera ión de 30 sobre el sistema denso se uen ial. Sin embargo,la a elera ión no re e omo se esperaba a la vista de los resultados del produ to2W�MatVe . Esto se debe, prin ipalmente, a que el método GMRES, aunque másade uado que los otros para la resolu ión de sistemas no�simétri os, presenta la

Page 139: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.4. Esquema iterativo paralelo 115GMRES(1) on 2W�MatVe GMRES(1) niveles de la waveletdenso 1 2 4matriz transf. #PE tiempo(s) tiempo(s) tiempo(s) tiempo(s)ejemplo 1 1 119.887 90.760 66.481 57.261(598 iter) 2 41.755 44.270 33.757 29.750Haar 4 20.564 24.699 18.872 17.0068 14.607 16.880 14.295 13.3111 119.887 78.497 52.673 44.2222 41.755 42.394 31.376 26.878D4 4 20.564 23.773 18.232 16.0788 14.607 16.983 14.152 12.997ejemplo 2 1 2.118 1.474 0.831 0.566(11 iter) 2 0.567 0.614 0.316 0.202Haar 4 0.222 0.313 0.165 0.1108 0.123 0.177 0.108 0.0791 2.118 1.229 0.615 0.4092 0.567 0.532 0.243 0.155D4 4 0.222 0.275 0.131 0.0898 0.123 0.156 0.091 0.070ejemplo 3 1 12.525 7.657 4.531 3.347(73 iter) 2 3.388 3.442 1.993 1.475Haar 4 1.377 1.772 1.043 0.7998 0.782 1.038 0.700 0.5851 12.525 6.989 3.716 2.6052 3.388 3.117 1.587 1.103D4 4 1.377 1.631 0.878 0.6448 0.782 0.980 0.629 0.517ejemplo 4 1 0.785 1.036 0.517 0.189(34 iter) 2 0.333 0.545 0.258 0.162Haar 4 0.187 0.311 0.176 0.1238 0.119 0.211 0.146 0.1181 0.785 0.855 0.349 0.1542 0.333 0.453 0.218 0.130D4 4 0.187 0.256 0.145 0.1108 0.119 0.165 0.118 0.102Tabla 4.10: Resultado de tiempos usando el produ to 2W�MatVe en elmétodo GMRES(1). Compara ión on el resolutor denso.

Page 140: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

116 Capítulo 4. Resolu ión de sistemas densos usando wavelets

1 2 3 4 5 6 7 81

2

3

4

5

6

7

8

9

10

n. de procesadores

acel

erac

ión

EJEMPLO 1

Denso Disperso − NIVEL 1Disperso − NIVEL 2Disperso − NIVEL 4

(a) Haar wavelet 1 2 3 4 5 6 7 81

2

3

4

5

6

7

8

9

10

n. de procesadores

acel

erac

ión

EJEMPLO 1

Denso Disperso − NIVEL 1Disperso − NIVEL 2Disperso − NIVEL 4

(b) D4 waveletFigura 4.24: A elera ión del esquema paralelo sobre el se uen ial para elejemplo 1

1 2 3 4 5 6 7 80

5

10

15

20

25

30

n. de procesadores

acel

erac

ión

EJEMPLO 2

Denso Disperso − NIVEL 1Disperso − NIVEL 2Disperso − NIVEL 4

(a) Haar wavelet 1 2 3 4 5 6 7 80

5

10

15

20

25

30

n. de procesadores

acel

erac

ión

EJEMPLO 2

Denso Disperso − NIVEL 1Disperso − NIVEL 2Disperso − NIVEL 4

(b) D4 waveletFigura 4.25: A elera ión del esquema paralelo sobre el se uen ial para elejemplo 2desventaja de que la antidad de trabajo y memoria que requiere re e en adaitera ión que se realiza del lazo interno, debido, sobre todo, a la onstru ión de la

Page 141: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

4.4. Esquema iterativo paralelo 117

1 2 3 4 5 6 7 80

5

10

15

20

25

n. de procesadores

acel

erac

ión

EJEMPLO 3

Denso Disperso − NIVEL 1Disperso − NIVEL 2Disperso − NIVEL 4

(a) Haar wavelet 1 2 3 4 5 6 7 80

5

10

15

20

25

n. de procesadores

acel

erac

ión

EJEMPLO 3

Denso Disperso − NIVEL 1Disperso − NIVEL 2Disperso − NIVEL 4

(b) D4 waveletFigura 4.26: A elera ión del esquema paralelo sobre el se uen ial para elejemplo 3

1 2 3 4 5 6 7 80

1

2

3

4

5

6

7

n. de procesadores

acel

erac

ión

EJEMPLO 4

Denso Disperso − NIVEL 1Disperso − NIVEL 2Disperso − NIVEL 4(a) Haar wavelet 1 2 3 4 5 6 7 8

0

1

2

3

4

5

6

7

8

n. de procesadores

acel

erac

ión

EJEMPLO 4

Denso Disperso − NIVEL 1Disperso − NIVEL 2Disperso − NIVEL 4(b) D4 waveletFigura 4.27: A elera ión del esquema paralelo sobre el se uen ial para elejemplo 4matriz de Hessenberg. La onstru ión de esta matriz se realiza de forma redundante

Page 142: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

118 Capítulo 4. Resolu ión de sistemas densos usando waveletsen todos los pro esadores, y, de esta forma, al aumentar el número de itera ionesne esarias para al anzar la onvergen ia, el trabajo se uen ial realizado por itera iónaumenta. Este es el motivo por el ual el ejemplo 2 obtiene una ganan ia mu homayor que los restantes ejemplos. Ese problema sólo requiere 11 itera iones y eltrabajo se uen ial pesa po o en el tiempo total de eje u ión. Por el ontrario, enel ejemplo 1 se requieren mu has itera iones (598) y el trabajo se uen ial para la onstru ión de la matriz aumenta de forma onsiderable, de forma que la ganan iaobtenida es más baja.

Page 143: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Capítulo 5Pre ondi ionadores paralelos parasistemas densosEn este apítulo trataremos el desarrollo de pre ondi ionadores ade uados para laresolu ión de sistemas de e ua iones densos mediante métodos iterativos. Sin em-bargo, a pesar de que nuestra inten ión es utilizar estos pre ondi ionadores pararesolu ión de sistemas densos, la teoría expuesta a lo largo de este apítulo es per-fe tamente válida para pre ondi ionadores apli ados a sistemas dispersos.Consideraremos la resolu ión de un sistema lineal de la forma:Ax = b (5.1)donde la matriz de oe� ientes A 2 Rn�n es densa. El grado de onvergen ia delos métodos iterativos se ve muy in�uen iado por las propiedades espe trales de lamatriz A. Por lo tanto, pare e bastante natural intentar transformar el sistema ori-ginal en otro que posea la misma solu ión pero que presente propiedades espe tralesmás favorables. Un pre ondi ionador es una matriz que se puede usar para realizaresa transforma ión. Si M es una matriz no singular que aproxima A�1 (M � A�1),el sistema lineal transformado MAx =Mb (5.2)tendrá la misma solu ión que el sistema (5.1) pero el grado de onvergen ia delmétodo iterativo apli ado a (5.2) será mejor. Como omentábamos en el apítulo 2,el esquema (5.2) se denomina pre ondi ionar por la izquierda. También es posiblepre ondi ionar por la dere ha, lo que da lugar al sistema lineal transformadoAMy = b (5.3)119

Page 144: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

120 Capítulo 5. Pre ondi ionadores paralelos para sistemas densosUna vez que se ono e la solu ión y de (5.3), la solu ión de (5.1) viene dada porx = My. La ele ión entre pre ondi ionar por la dere ha o por la izquierda suelevenir di tada por la ele ión del método iterativo. También es posible usar ambasformas de pre ondi ionar a la vez (división del pre ondi ionador) [B+94℄.Hay que notar que en la prá ti a no se requiere el ál ulo del produ to MA (oAM) explí itamente, ya que los métodos tipo gradiente onjugado sólo ne esitan lamatriz de oe� ientes para multipli a iones matriz�ve tor. De este modo, apli ar elpre ondi ionador dentro de un paso del método se redu e a al ular la a ión de Msobre un ve tor.En primera aproxima ión, uanto más próximo esté M de la inversa de A mejorserá el grado de onvergen ia del método iterativo empleado. En el límite, eligiendoM = A�1 la onvergen ia se al anzará en un sólo paso, pero, por supuesto, onstruirtal pre ondi ionador es equivalente a resolver el sistema original. En la prá ti a elpre ondi ionador M debería de ser fá il de al ular y de apli ar, de forma queel tiempo total del método pre ondi ionado sea menor que el tiempo del métodosin pre ondi ionar. Típi amente, el oste de apli ar el pre ondi ionador en adaitera ión de un método iterativo del subespa io de Krylov debería de ser del mismoorden que el oste de un produ to matriz�ve tor que involu re a la matriz A. Parauna matriz dispersa, esto impli a que el pre ondi ionador debe ser también disperso, on una densidad de no�nulos del mismo orden que la propia de A. Para unamatriz densa podemos bus ar pre ondi ionadores dispersos ade uados, de formaque permitan a elerar ada paso del método iterativo.Es laro que la e� ien ia de una estrategia de pre ondi ionamiento es fuertementedependiente del problema y de la arquite tura del sistema de omputa ión sobre elque se eje uta. Por ejemplo, un pre ondi ionador uya onstru ión sea ostosadesde el punto de vista omputa ional, puede resultar viable si se va a reutilizarmu has ve es, ya que, en este aso, el oste ini ial de forma ión del pre ondi ionadorse ve amortizado después de resolver una serie de sistemas lineales. Esta situa ióno urre, por ejemplo, uando nos enfrentamos a problemas no lineales o dependientesdel tiempo, uya solu ión numéri a da lugar a grandes se uen ias de sistemas linealesque poseen la misma matriz de oe� ientes y diferentes ve tores independientes.Por otra parte, existen pre ondi ionadores que presentan una e� ien ia alta en unentorno de omputa ión es alar y sin embargo muestran un bajo rendimiento enmáquinas ve toriales y paralelas.Aunque la onstru ión de pre ondi ionadores e� ientes de propósito general no

Page 145: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.1. Pre ondi ionadores explí itos frente a implí itos 121es posible, todavía se mantiene un interés alto por el desarrollo de métodos quese omporten razonablemente bien en un amplio rango de problemas y que seanade uados para el estado del arte en arquite turas omputa ionales.En este apítulo introdu iremos dos té ni as distintas para el pre ondi iona-miento de grandes sistemas de e ua iones, tanto densos omo dispersos, aunque nos entraremos en desarrollar estrategias para su apli a ión a sistemas densos. Las dosté ni as que trataremos en este apítulo, fa toriza iones in ompletas y pre ondi- ionadores SPAI (Sparse Approximate Inverse), pertene en a dos tipos de pre on-di ionadores diferentes: implí itos, en el aso de las fa toriza iones in ompletas, yexplí itos, en el aso de los pre ondi ionadores SPAI. En la se ión 5.3 des ribimosdistintos métodos para onseguir fa toriza iones in ompletas de una matiz densa ymostramos resultados de su implementa ión y apli a ión omo pre ondi ionadoresen la resolu ión de sistemas densos en multi omputadores. En la se ión 5.4 se des- riben distintos pre ondi ionadores SPAI y su implementa ión paralela. También semuestran resultados tanto de su onstru ión omo de su apli a ión a la resolu iónde sistemas densos.5.1 Pre ondi ionadores explí itos frente a implí i-tosLa mayoría de los pre ondi ionadores se pueden lasi� ar, en una primera aproxi-ma ión, en una de estas dos lases: implí itos o explí itos. Un pre ondi ionador esimplí ito si su apli a ión, dentro de ada paso del método iterativo elegido, ne esitala resolu ión de un sistema lineal. Una matriz no singular M � A implí itamentede�ne una aproxima ión inversa G :=M�1 � A�1, y apli ar G requiere la resolu iónde un sistema lineal on matriz de oe� ientes M . Por supuesto, M tiene que serelegida de tal forma que resolver el sistema on la matriz M sea más sen illo queresolver el sistema original (5.1). Quizás el ejemplo más importante de pre ondi- ionador implí ito viene dado por los pre ondi ionadores basados en fa toriza ionesin ompletas, omo una ILU (LU in ompleta). En este aso M = LU donde L y Uson matri es triangulares dispersas (inferior y superior, respe tivamente) que aproxi-man a las respe tivas matri es L y U de una fa toriza ión ompleta de A. Apli ar elpre ondi ionador requiere la solu ión de dos sistemas triangulares dispersos. Otrosejemplos ono idos de pre ondi ionadores implí itos son, por ejemplo, ILQ, SSORo pre ondi ionadores ADI [B+94℄.

Page 146: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

122 Capítulo 5. Pre ondi ionadores paralelos para sistemas densosPor el ontrario, en un pre ondi ionador explí ito se ono e M � A�1 y apli arel pre ondi ionador se redu e a llevar a abo una o varias opera iones produ tomatriz�ve tor. Mu hos pre ondi ionadores polinomiales pertene en a esta lase.Sin embargo, los pre ondi ionadores explí itos más relevantes son las aproxima ionesSPAI [CS98, KY93℄, que trataremos en la se ión 5.4.Los pre ondi ionadores implí itos se han estudiado intensivamente, y se han em-pleado on éxito en numerosas apli a iones. A pesar de ello, en los últimos años laaten ión se ha desviado a formas alternativas de pre ondi ionamiento, espe ialmentedel tipo explí ito. Las razones de esta búsqueda alternativa han sido fundamental-mente dos. En primer lugar, las implementa iones de pre ondi ionadores implí itosapli adas a métodos iterativos sufren una degrada ión importante en su rendimiento uando se emplean en máquinas paralelas. En parti ular, los resolutores triangu-lares que involu ran los pre ondi ionadores tipo ILU son un serio uello de botella(debido a las dependen ias que presenta esta opera ión), y por lo tanto limita lae� ien ia de estos métodos en omputadores ve toriales y paralelos. Se ha realizadoun onsiderable esfuerzo para resolver esta di� ultad. Así, para algunas arquite -turas y algunos tipos de problemas es posible introdu ir paralelismo no�trivial y onseguir un rendimiento razonablemente bueno en resolutores triangulares, a ve- es a osta de apli ar una estrategia de reordenamiento [GCP98, GCP00a, PLP97℄.Sin embargo, los resolutores triangulares siguen siendo el aspe to más problemáti o,tanto en memoria ompartida omo en memoria distribuida, y para mu hos proble-mas la apli a ión e� iente de un pre ondi ionador implí ito en un entorno paralelo ontinúa siendo un reto importante.Otra desventaja de los pre ondi ionadores implí itos del tipo ILU es la posi-bilidad de ruptura durante el pro eso de la fa toriza ión in ompleta, debido a lapresen ia de un ero, o de un pivote ex esivamente pequeño. Esta situa ión sur-ge típi amente uando se trabaja on matri es que son fuertemente asimétri as y/oinde�nidas, in luso aunque se utili en té ni as de pivoting [CS94, Saa88℄, y, en gene-ral, podría o urrir para problemas de�nidos a menos que la matriz A presente algúngrado de dominan ia diagonal. Por supuesto, siempre es posible salvaguardar lafa toriza ión in ompleta de forma que siempre omplete su eje u ión, produ iendoun pre ondi ionador no singular, pero tampo o existe garantía de que el pre ondi- ionador resultante presente una alidad a eptable.Las té ni as de pre ondi ionamiento explí itas, basadas en aproxima iones A�1,se han desarrollado en un intento de evitar las di� ultades anteriores. Apli ar unpre ondi ionador explí ito sólo requiere produ tos matriz dispersa�ve tor, que son

Page 147: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.2. Pre ondi ionadores paralelos 123más fá iles de paralelizar que las resolu iones triangulares dispersas, y en algunos asos la onstru ión del propio pre ondi ionador es muy ade uada para una im-plementa ión paralela. Además, la onstru ión de una aproxima ión inversa es, ave es, posible in luso si la matriz no tiene una des omposi ión ILU estable.Por supuesto, los pre ondi ionadores explí itos no están ompletamente libres deproblemas. In luso aunque se onsiga al ular una aproximada inversa dispersa G,debemos de tener espe ial uidado en omprobar que G sea no�singular. Para pro-blemas no simétri os la misma matriz G puede resultar un buen pre ondi ionadorusado por la izquierda y onseguir pobres resultados usado omo pre ondi ionadorpor la dere ha. A ve es, los pre ondi ionadores explí itos no son tan efe tivos omolos implí itos en redu ión del número de itera iones, en el sentido de que existenproblemas para los que requieren mayor número de no�nulos para al anzar el mismogrado de onvergen ia que los pre ondi ionadores implí itos. Una de las razones deesta limita ión es que los pre ondi ionadores explí itos intentan aproximar A�1, quesuele ser densa aunque A sea dispersa, on una matriz dispersa. Por lo tanto, el pre- ondi ionador explí ito fun ionará mejor si A�1 ontiene mu has entradas que seanpequeñas (en magnitud). Una situa ión favorable se dará uando A sea diagonaldominante, pero para estos problemas los pre ondi ionadores implí itos también sonmuy efe tivos. De modo que, para estos problemas, los pre ondi ionadores explí itospodrán ompetir on los implí itos sólo si se explota ompletamente la ara terísti ade expli idad. Por último, los pre ondi ionadores explí itos suelen ser más ostososde omputar que los implí itos, aunque esta diferen ia puede ser insigni� ante en si-tua iones omunes donde se ne esitan resolver varios sistemas lineales on la mismamatriz de oe� ientes. En este aso, el tiempo que se requiere para la onstru ióndel pre ondi ionador es sólo una pequeña fra ión del tiempo ne esario para resolverel problema ompleto. Además hay que re ordar que la onstru ión de las aproxi-madas inversas suele ser altamente paralelizable, al ontrario que la onstru ión delos pre ondi ionadores tipo ILU.5.2 Pre ondi ionadores paralelosLas opera iones rela ionadas on el pre ondi ionamiento del sistema, ya sea la ons-tru ión del pre ondi ionador o su resolu ión, suelen ser las más ostosas y proble-máti as a la hora de su paraleliza ión. Aunque posteriormente para ada tipo depre ondi ionador des ribiremos su implementa ión paralela, men ionaremos antes,brevemente y de forma general, algunas aproxima iones para obtener paralelismo en

Page 148: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

124 Capítulo 5. Pre ondi ionadores paralelos para sistemas densosla etapa de pre ondi ionamiento.5.2.1 Constru ión del pre ondi ionadorLos pre ondi ionadores paralelos son útiles uando lo que se desea es maximizarla es alabilidad del problema, en términos de paralelismo. Sin embargo, a la horade desarrollar pre ondi ionadores paralelos, debemos tener en mente que los bene�- ios de in rementar el grado de paralelismo del algoritmo no siempre ompensan la antidad de esfuerzo omputa ional que se requiere.Existen tres tipos de té ni as populares que se suelen usar en la búsqueda depre ondi ionadores paralelos: bus ar paralelismo en pre ondi ionadores ono idosse uen iales, desarrollar variantes paralelas de pre ondi ionadores se uen iales y de-sarrollar nuevos pre ondi ionadores totalmente desa oplados que no requieran ex e-sivas omuni a iones. En la primera ategoría entrarían los pre ondi ionadores poli-nomiales [B+94℄, que presentan un paralelismo similar al produ to matriz�ve tor, lospre ondi ionadores SPAI (Sparse Approximate Inverse) paralelos [GH97℄, que tie-nen una alta e� ien ia, o las estrategias de frente de ondas para las fa toriza ionesin ompletas [Liu92℄. Entre las variantes paralelas de pre ondi ionadores se uen ia-les se en uentran los pre ondi ionadores que usan té ni as de oloreado de grafos, oté ni as de búsqueda de niveles en la estru tura de datos de la matriz de oe� ien-tes, para determinar las in ógnitas que pueden ser despejadas simultáneamente enun problema dado [GCP99℄. Por último, los pre ondi ionadores desa oplados mássimples son las aproxima iones bloque de los pre ondi ionadores lási os, omo elJa obi o la fa toriza ión ILU(0) [CV95℄. Si los bloques están totalmente desa opla-dos la eje u ión paralela es muy e� iente, pero suelen ser menos efe tivos que lospre ondi ionadores lási os se uen iales orrespondientes. En estos asos, para on-seguir una mejora en el pre ondi ionamiento sin perder e� ien ia en la eje u ión se onstruyen des omposi iones que permiten el solape de los bloques en determinadaszonas.5.2.2 Apli a ión del pre ondi ionadorEn ada paso de un método iterativo pre ondi ionado se requiere la solu ión de unsistema de e ua iones: Mz = y (5.4)

Page 149: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.2. Pre ondi ionadores paralelos 125Esta opera ión puede ser simple, omo un produ to matriz�ve tor en el aso de lospre ondi ionadores SPAI, o más ompli ada, omo resolu iones triangulares en el aso de fa toriza iones tipo ILU.El aso del produ to matriz�ve tor ya ha sido onsiderado en el apítulo 2, poreso nos entraremos aquí en los pre ondi ionadores tipo fa toriza iones en las que lasolu ión de M es el resultado de resolver sistemas triangulares. Como este tipo desistemas son muy fre uentes, es importante explorar nuevas formas de implementare� ientemente las resolu iones triangulares en multipro esadores. Aunque el tiempode ál ulo de la resolu ión de los sistemas triangulares es bastante inferior al de otrospasos en los métodos iterativos, es importante obtener una buena implementa iónparalela de los mismos para no degradar la e� ien ia del método ompleto. Ave es se opta por su paraleliza ión, aunque esta no resulte e� iente, para evitarredistribu iones de datos ne esarias si se realizase la opera ión en se uen ial.Aunque las té ni as que se des riben a ontinua ión se apli an también a la reso-lu ión de sistemas triangulares superiores, onsideremos, por omodidad, la solu ióndel sistema lineal triangular inferior Lx = b donde L es la matriz de oe� ientes delsistema triangular de N e ua iones, b es el ve tor término independiente y x esel ve tor in ógnita. El algoritmo se uen ial bási o para la resolu ión del sistematriangular inferior onsiste en un doble lazo anidado.Si resolvemos el sistema por el método de sustitu ión, para la obten ión de lain ógnita xi se ne esita ono er todas las xk on k = 0; : : : ; i� 1.xi = 1lii "bi � i�1Xj=1 lijxj# (5.5)Sin embargo, si la matriz de oe� ientes L es dispersa, se puede apre iar quela obten ión de algunas in ógnitas no dependen de todas las previamente al ula-das, pues sólo algunos elementos lij son distintos de ero. Esta es la idea prin ipalen la que se basa las estrategias de paraleliza ión. En trabajos previos [GCP00a,Gon96, GCP98℄ hemos analizado distintos resolutores triangulares paralelos. Enestos trabajos estudiamos implementa iones para arquite turas de memoria distri-buida basadas en té ni as de blo king. En on reto, el algoritmo que proponemosusa una té ni a de reordenamiento para las in ógnitas, de forma que el sistema �nalpuede ser agrupado en bloques de tamaño variable donde las �las de ada bloqueson independientes entre sí y se pueden resolver en paralelo. Esta té ni a se deno-mina de búsqueda de niveles por la forma en que queda representada en el grafo deadya en ias.

Page 150: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

126 Capítulo 5. Pre ondi ionadores paralelos para sistemas densosFor i = 2 to N {For k = 1 to i� 1 {If(aik = 0) then l ik = 0;else {l ik =aik=akk ;For j = k + 1 to NIf(aij 6= 0) aij =aij�l ikakj ;} } }Figura 5.1: Fa toriza ión ILU(0)También se ha propuesto otro método [CPH96, CP96℄ que introdu e el on eptode �ujo de datos y ha e uso de omuni a iones no bloqueantes para, dinámi amente,extraer el paralelismo inherente a los sistemas dispersos.Ambas té ni as presentan el in onveniente de que requieren una etapa previade prepro esamiento, de forma que son espe ialmente interesantes en la resolu iónde varios sistemas on la misma matriz de oe� ientes, situa ión que o urre, porejemplo, on la apli a ión de algunos pre ondi ionadores en los métodos iterativos.5.3 Fa toriza iones in ompletasComo hemos visto en la se ión 5.1, una amplia lase de pre ondi ionadores estánbasados en fa toriza iones in ompletas de la matriz de oe� ientes. Se denominafa toriza ión in ompleta si durante el pro eso de fa toriza ión se onsideran algu-nos oe� ientes (�ll�in) nulos que no serían nulos en el aso de una fa toriza ión ompleta. Este pre ondi ionador se presenta enton es en la forma M = LU dondeL es triangular inferior y U triangular superior, de forma que A = M � R, siendoR el residuo de la fa toriza ión. La fa toriza ión ILU que no presenta �ll�in on-siste en tomar omo patrón de dispersión para L y para U pre isamente el patrónde dispersión de la matriz original A. Esta fa toriza ión se denomina ILU(0). La�gura 5.1 muestra el pseudo ódigo para la fa toriza ión ILU(0) se uen ial.Estos pre ondi ionadores ontinúan siendo muy populares debido a que onsi-guen, en general, mayores redu iones que sus ompetidores en el número de ite-ra iones que pre isa el método pre ondi ionado para onverger. Sin embargo, suapli a ión se ve limitada a los sistemas de e ua iones dispersos, ya que una fa to-

Page 151: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.3. Fa toriza iones in ompletas 127riza ión ILU(0) de un sistema denso es equivalente a la fa toriza ión ompleta y,por tanto, a la resolu ión por método dire to. Una solu ión para el aso de siste-mas densos pasa por de�nir a priori un patrón de dispersión para la fa toriza ión y al ular la fa toriza ión ILU sobre ese patrón.5.3.1 Fa toriza iones ILU para matri es densasNuestro esfuerzo se entra aquí en de�nir un patrón de dispersión para al ularla fa toriza ión ILU sobre esas entradas. En on reto hemos implementado lassiguientes aproxima iones diferentes:Fa toriza iones ILU�Banda. Este es un pre ondi ionador de onstru ión muysimple. Se elige omo patrón de dispersión una banda en torno a la diagonalde la matriz y se al ula la fa toriza ión ILU(0) de la matriz resultante deinterse ar la matriz original on di ho patrón de dispersión. Esta fa toriza iónse basa en la idea de que mu has matri es densas provienen de problemas dedis retiza ión por medio de formula ión de elementos de ontorno (BEM), queanalizaremos en el siguiente apítulo. En estas matri es se presupone que loselementos de la diagonal y sus inmediatos ve inos tienen, por lo general, másimportan ia en la matriz que el resto de entradas.Fa toriza iones ILU�Bloque. Implementamos una versión por bloques del algo-ritmo ILU(0). Se trata de una versión extendida del algoritmo ILU global,además de permitir el ontrol sobre el solape entre bloques. Con este esquemase obtiene un parti ionamiento omo el que se muestra en la �gura 5.2 parael aso de 4 bloques. Cada bloque se resuelve omo una fa toriza ión ILU(0)independiente de los restantes bloques [GLPLGP98℄. Los resultados en laszonas solapadas se al ulan ha iendo la media de los valores obtenidos en losdistintos bloques para los mismos puntos. El tamaño de los bloques es unparámetro que queda abierto al usuario. En prin ipio, uanto menor sea eltamaño de los bloques más disperso será el patrón y más rápida será la ons-tru ión del pre ondi ionador, pero esta se verá penalizada on un aumentoen el número de itera iones. Si el número de bloques es pequeño, el pre ondi- ionador redu irá onsiderablemente el número de itera iones del método puesla fa toriza ión está más próxima a la exa ta, pero el oste de forma ión delpre ondi ionador será ex esivo. En el límite, uando el número de bloques es

Page 152: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

128 Capítulo 5. Pre ondi ionadores paralelos para sistemas densosA1

A2

A3

A4Figura 5.2: Matriz dividida en bloques.uno, la fa toriza ión se orresponderá on la fa toriza ión ompleta, y sólo sene esitará un paso para al anzar la onvergen ia.5.3.2 ILU usando transformadas waveletOtros autores [CS96, CTW96℄ han utilizado transformadas wavelet sobre el sistemaoriginal para desarrollar pre ondi ionadores más efe tivos para sistemas densos, ein luso en otros trabajos [Yan94b, Yan94a, BBK94℄ se han probado pre ondi iona-dores dispersos ondensando la matriz de oe� ientes por medio de transformadasde Fourier. Podemos utilizar el ono imiento que tenemos de la matriz del sistematransformado ~A�x = �y que veíamos en el apítulo 4 para bus ar pre ondi ionadoresade uados para estos sistemas. Por supuesto, si utilizamos la matriz de oe� ien-tes del sistema transformado para bus ar un nuevo pre ondi ionador, este sólo se omportará bien en la resolu ión del sistema transformado, y no será válido parapre ondi ionar el sistema original (5.1).Fa toriza iones ILU�W. La idea detrás de este pre ondi ionador es utilizar elpatrón de dispersión que nos ofre e la transformada wavelet de la matriz ori-ginal ~A = umbral (WAW�1) omo patrón de dispersión para la fa toriza iónin ompleta. Nosotros proponemos apli ar un umbral lo su� ientemente altopara onseguir un patrón muy disperso (mayor que el que bus ábamos parala matriz ~A en el apítulo anterior) y, a partir de él, al ular la fa toriza iónILU(0) que nos servirá para pre ondi ionar el sistema transformado.

Page 153: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.3. Fa toriza iones in ompletas 129REGION A

REGION B

REGION C

v = w

Figura 5.3: Esquema para un bloque.5.3.3 Implementa iones paralelasComo se omentaba en la se ión 5.2 existen distintas té ni as populares utilizadasen la búsqueda de pre ondi ionadores paralelos. En el aso de las fa toriza iones ILUque proponemos hemos de idido desarrollar pre ondi ionadores desa oplados que norequieran ex esivas omuni a iones. Los más simples son las aproxima iones bloque alos pre ondi ionadores anteriores. No debemos onfundir esta aproxima ión paralela on la fa toriza ión ILU�bloque que des ribiamos antes. La fa toriza ión ILU�bloque es una forma de de�nir un patrón de dispersión para el pre ondi ionador, deforma que sólo fa torizamos los bloques que de�nimos. La implementa ión paralelapor bloques es una forma de distribuir el ál ulo del pre ondi ionador entre lospro esadores, que para la ILU�bloque puede oin idir o no on los bloques anteriores.Con esta té ni a se obtiene un parti ionamiento omo el que se muestra en la�gura 5.2 para el aso de 4 pro esadores. Para este aso el resultado que obtenemoses Ai = LiUi; 1 � i � p, donde p es el número de pro esadores. Debido a las ara te-rísti as de este pre ondi ionador existe ierta pérdida de informa ión. Esto va a darlugar a que el número de itera iones varíe (generalmente aumentará) al aumentarel número de pro esadores. Esta pérdida de informa ión puede ser ompensada, en ierta medida, aumentando la zona de solape entre los bloques.Para onstruir el pre ondi ionador, las �las de ada bloque en la zona de solapeson inter ambiadas entre los pro esadores. Esas �las orresponden a las regionesA y C de la �gura 5.3. Posteriormente la fa toriza ión se realiza para ada bloquelo al.La ventaja de estos pre ondi ionadores es que al trabajar en bloques no exis-

Page 154: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

130 Capítulo 5. Pre ondi ionadores paralelos para sistemas densosten las dependen ias que presentan las fa toriza iones in ompletas lási as. Poreste motivo es un algoritmo fá ilmente paralelizable. Presenta el problema de queno es tan robusto omo una fa toriza ión ILU(0) lási a para matri es muy mal ondi ionadas.5.3.4 Apli a ión del pre ondi ionadorEn ada etapa de un método iterativo pre ondi ionado se requiere la solu ión de unsistema lineal de e ua iones del tipo:Mz = y: (5.6)Un riterio que debemos tener en uenta uando bus amos un buen pre ondi io-nador para nuestro problema, es que el sistema Mz = y ha de ser fá il de resolver.El tiempo por itera ión para la apli a ión del pre ondi ionador debe ser pequeño, deforma que, en máquinas paralelas, es importante que la apli a ión del pre ondi io-nador sea paralelizable. Cuando se usa un pre ondi ionador de tipo ILU, el sistematransformado, L�1AU�1(Ux) = L�1b, se resuelve durante el método iterativo enlugar del original Ax = b. Así pues, en ada itera ión del resolutor ne esitaremosuna resolu ión triangular inferior y otra superior.Para la solu ión de sistemas triangulares dispersos, en la se ión 5.2 omentá-bamos diferentes propuestas para su implementa ión en arquite turas de memoriadistribuida. Las más atra tivas son té ni as basadas en búsqueda de niveles y reor-denamientos de la matriz de oe� ientes en una etapa de prepro esamiento previa ala resolu ión del sistema [GCP00a, Gon96, GCP98℄. Sin embargo, en los problemasa los que nos enfrentamos ahora, estas té ni as resultan demasiado ostosas en rela- ión a la ganan ia que produ irán. Además, la mayoría de estos sistemas se redu ena valores en banda er anos a la diagonal, de forma que los métodos de búsqueda deniveles no serían efe tivos ya que se en ontrarían niveles independientes demasiadopequeños, lo que reper utiría en un menor grado de paralelismo de la resolu ióntriangular.Así pues, hemos de idido implementar una resolu ión triangular paralela mássen illa pero on un bajo oste de apli a ión. La estrategia onsiste en que, unavez terminado el ál ulo del trozo del sistema triangular de un pro esador dado,este envía el resultado a todos los demás pro esadores, que pueden omenzar así arealizar los produ tos par iales que deben al ular on esas in ógnitas y que poste-riormente ne esitarán para resolver su propio trozo de la triangular. De este modo

Page 155: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.3. Fa toriza iones in ompletas 131PE1

PE2

PE3

(a)

PE1

PE2

PE3

(b)Figura 5.4: (a) Esquema de la resolu ión triangular paralela, (b) Ejemplode sistema triangular paralelo on bloques totalmente desa opladosse podría onseguir ierto paralelismo en la opera ión de resolu ión triangular, enespe ial uando la estru tura de la matriz no on entre los valores no nulos en zonas on retas, sino que sea aleatoria. En la �gura 5.4(a) se puede ver un esquema deeste planteamiento.Sin embargo, en el aso de los pre ondi ionadores que proponemos, el he ho deque sean implementa iones bloque, ha e que las entradas de la matriz de oe� ientesse sitúen siempre er anas a la diagonal, lo que redu e el grado de paralelismo dela resolu ión triangular. Si el solape entre los bloques es nulo enton es todos losbloques entre pro esadores estarían desa oplados y la resolu ión triangular podríallevarse a abo de forma se uen ial en ada uno de ellos, de forma que el pro esoglobal es totalmente paralelo. En la �gura 5.4(b) se puede ver un ejemplo. Ennuestro ódigo hemos ontemplado esta posibilidad, de forma que mantenemos dosversiones de la resolu ión triangular que se elegirán dependiendo del valor del solapeque se haya permitido.

Page 156: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

132 Capítulo 5. Pre ondi ionadores paralelos para sistemas densos

−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5−600

−400

−200

0

200

400

600

parte real

part

e im

agin

aria

DISTRIBUCIÓN DE AUTOVALORES

(a) Matriz A −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.80.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

2.2

2.4

parte real

part

e im

agin

aria

DISTRIBUCIÓN DE AUTOVALORES

(b) ILU�Banda(3)

−0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.80.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

parte real

part

e im

agin

aria

DISTRIBUCIÓN DE AUTOVALORES

( ) ILU�Bloque(10) −4 −3 −2 −1 0 1 2 3 4−150

−100

−50

0

50

100

150

200

parte real

part

e im

agin

aria

DISTRIBUCIÓN DE AUTOVALORES

(d) ILU�W (D4�1)Figura 5.5: Distribu ión de autovalores para la matriz original A (ejemplo1) y las matri es pre ondi ionadas (MA) usando distintos pre ondi iona-dores tipo ILU.

Page 157: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.3. Fa toriza iones in ompletas 1335.3.5 Evalua iónEn esta se ión se muestran resultados experimentales que ponen de mani�esto lae� ien ia de los pre ondi ionadores tipo ILU que proponemos. Las matri es que seutilizan son las que ya hemos empleado en el apítulo 4. En este apítulo se mos-traban resultados para uatro ejemplos, nombrados omo ejemplo 1, ejemplo 2,ejemplo 3 y ejemplo 4 (ver se ión 4.1.2). Aquí seguiremos la misma nomen- latura y mostraremos los resultados para los problemas: ejemplo 1, ejemplo3 y ejemplo 4. Los resultados para ejemplo 2 no se muestran puesto que estamatriz es muy bien ondi ionada (ne esita solamente 11 itera iones para al anzarla onvergen ia sin pre ondi ionar) y los resultados de los pre ondi ionadores sobreella no son relevantes.En primer lugar veri� amos la mejora que se produ e en el espe tro de auto-valores de la matriz pre ondi ionada. En la �gura 5.5 se muestra la distribu iónde autovalores de la matriz original A para el ejemplo 1 y la matriz pre ondi io-nada MA para los pre ondi ionadores des ritos en esta se ión. En on reto, estamatriz es muy mal ondi ionada, omo se puede observar por la distribu ión deautovalores, y usando un pre ondi ionador de los propuestos onseguimos agruparsus autovalores en una zona más próxima a la unidad.Hemos probado los diferentes pre ondi ionadores tanto para pre ondi ionar elsistema original omo para el sistema transformado mediante wavelets. Sobre elsistema original hemos probado los pre ondi ionadores ILU en banda y bloque, ysobre el sistema transformado los pre ondi ionadores ILU�W utilizando diferentesniveles de la transformada wavelet Daube hies D4.En la implementa ión del pre ondi ionador ILU�banda entra en juego el paráme-tro an ho de la banda. En general, esperamos que uanto mayor sea el an ho de labanda mejor sea la aproxima ión ILU que realizamos y más rápidamente onvergeráel sistema. La evolu ión del residuo on el an ho de banda de la implementa ión sepuede ver en la �gura 5.6. Sin embargo, aunque la onvergen ia mejora, el ompor-tamiento del residuo es muy pare ido al ir aumentando el an ho de la banda. Otroparámetro a tener en uenta, no sólo en la implementa ión del pre ondi ionadorILU�banda, sino también en la implementa ión de los restantes pre ondi ionadorestipo ILU que evaluamos, es el solape entre los bloques (re ordemos que la imple-menta ión paralela es tipo bloque). En la �gura 5.7 se puede ver la evolu ión delresiduo on el solape de los bloques. Aquí sí se puede notar que, a medida queel solape aumenta, el omportamiento del residuo mejora desde el omienzo de las

Page 158: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

134 Capítulo 5. Pre ondi ionadores paralelos para sistemas densos

0 10 20 30 40 50 60 7010

−12

10−10

10−8

10−6

10−4

10−2

100

n. iteraciones

resi

duo

EVOLUCIÓN DEL RESIDUO

ILU−banda(1)ILU−banda(3)ILU−banda(5)

Figura 5.6: Evolu ión del residuo on la an hura de la banda.

0 10 20 30 40 50 60 70 8010

−12

10−10

10−8

10−6

10−4

10−2

100

n. iteraciones

resi

duo

EVOLUCIÓN DEL RESIDUO

solape(0)solape(1)solape(3)

Figura 5.7: Evolu ión del residuo on la an hura de la zona de solape.itera iones.En el aso del pre ondi ionador ILU�W el parámetro a tener en uenta en suimplementa ión es el umbral a partir del que apturamos entradas para el patrón delpre ondi ionador. En la �gura 5.8 se muestra un ejemplo de la evolu ión del residuofrente al número de itera iones para tres umbrales diferentes. Como se puede apre- iar en la �gura este parámetro es importante para la onvergen ia del método, perotambién tiene importan ia a la hora de de idir la dispersión del pre ondi ionador.Si el umbral es alto el pre ondi ionador será más disperso, y su onstru ión y apli- a ión más rápida, pero requerirá un mayor número de itera iones. Si el umbral esmenor el pre ondi ionador tendrá más entradas no nulas, y su onstru ión y apli-

Page 159: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.3. Fa toriza iones in ompletas 135

0 10 20 30 40 50 60 70 8010

−12

10−10

10−8

10−6

10−4

10−2

100

n. iteraciones

resi

duo

EVOLUCIÓN DEL RESIDUO

E=5e−1E=1e−1E=5e−2

Figura 5.8: Evolu ión del residuo on el umbral del patrón wavelet para elpre ondi ionador. a ión serán más lentas, pero, en general, mejorará la onvergen ia del método. Esne esario onseguir un ompromiso entre el grado de dispersión del pre ondi ionadory la onvergen ia deseada por el método.Algunos resultados de la pruebas sobre las matri es de los tres ejemplos que men- ionamos anteriormente se muestran en las próximas tablas y grá� as. Los resultadosque presentamos orresponden a los pre ondi ionadores tipo ILU des ritos en estase ión, on solape 0. Los resultados para la onstru ión de los pre ondi ionadoresson muy similares si utilizamos solape, pero los resultados de la apli a ión de lospre ondi ionadores on solape muestran que la es alabilidad de los métodos pre on-di ionados de este modo es muy pobre, debido a la baja e� ien ia de las resolu ionestriangulares. Todos los resultados han sido obtenidos en un multi omputador CrayT3E.En la tabla 5.1 mostramos los resultados de tiempo para la onstru ión delos pre ondi ionadores paralelos tipo ILU. También se muestran resultados de laa elera ión onseguida. La nomen latura �D4�n� que se usa en el pre ondi ionadorILU�W indi a que se ha usado la wavelet D4 de nivel n. El número aso iado aILU�Banda indi a el valor del parámetro an ho de banda, y el número aso iado aILU�Bloque indi a el tamaño de ada uno de los bloques.Se puede observar que, en general, la a elera ión que se obtiene para la forma- ión del pre ondi ionador es muy grande. Sin embargo, esto no se debe al gradode paralelismo del pre ondi ionador, sino al he ho de que al aumentar el número

Page 160: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

136 Capítulo 5. Pre ondi ionadores paralelos para sistemas densosCONSTRUCCIÓNN. de pro esadores1 2 4 8matriz pre ondi ionador t(s) t(s) a el. t(s) a el. t(s) a el.EJ1 ILU�Banda(1) 1.496 0.405 3.69 0.119 12.6 0.040 36.7ILU�Banda(3) 4.194 0.977 4.29 0.254 16.5 0.073 57.0ILU�Banda(5) 8.425 2.044 4.12 0.476 17.7 0.127 66.3ILU�Bloque(10) 0.896 0.264 3.39 0.087 10.2 0.034 26.0ILU�Bloque(15) 1.019 0.294 3.47 0.096 10.6 0.036 27.8ILU�W(D4�1) 14.34 3.46 4.15 0.79 18.23 0.19 73.69ILU�W(D4�2) 1.19 0.33 3.66 0.10 11.49 0.04 29.39ILU�W(D4�4) 4.52 1.08 4.17 0.28 16.38 0.09 49.24EJ3 ILU�Banda(1) 1.495 0.398 3.76 0.116 12.9 0.039 37.7ILU�Banda(3) 4.195 0.98 4.28 0.252 16.6 0.073 57.4ILU�Banda(5) 8.423 2.053 4.10 0.477 17.7 0.127 66.3ILU�Bloque(10) 0.999 0.28 3.57 0.091 10.9 0.038 26.3ILU�Bloque(15) 1.123 0.309 3.63 0.099 11.3 0.039 28.5ILU�W(D4�1) 14.356 3.355 4.28 0.809 17.75 0.198 72.51ILU�W(D4�2) 11.277 2.786 4.05 0.630 17.90 0.159 70.75ILU�W(D4�4) 9.621 2.300 4.18 0.537 17.92 0.137 70.28EJ4 ILU�Banda(1) 0.367 0.106 3.47 0.035 10.54 0.015 25.30ILU�Banda(3) 0.941 0.240 3.92 0.067 13.96 0.025 38.10ILU�Banda(5) 2.002 0.464 4.31 0.121 16.56 0.038 53.24ILU�Bloque(10) 0.225 0.072 3.12 0.028 8.11 0.014 15.71ILU�Bloque(15) 0.254 0.081 3.13 0.030 8.34 0.015 16.68ILU�W(D4�1) 0.409 0.115 3.55 0.038 10.85 0.015 27.09ILU�W(D4�2) 0.960 0.221 4.35 0.059 16.41 0.173 5.54ILU�W(D4�4) 0.512 0.107 4.79 0.033 15.47 0.115 4.44Tabla 5.1: Resultados de tiempo y a elera ión para la onstru ión de lospre ondi ionadores tipo ILU.de bloques (esto su ede al aumentar el número de pro esadores) el ál ulo de lafa toriza ión ILU se realiza sobre un menor número de elementos lo ual redu e deforma sustan ial el tiempo ne esario para su omputa ión. El número de elementosse ve redu ido por un fa tor p2, donde p es el número de pro esadores. Por ejemplo,para 2 pro esadores ada uno ellos al ulará una LU de un bloque de N2=4 ele-mentos, para 4 pro esadores ada uno al ulará una LU sobre un bloque de N2=16elementos y así su esivamente. La a elera ión ideal de la onstru ión de este tipode pre ondi ionadores es también p2.

Page 161: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.3. Fa toriza iones in ompletas 137RESOLUCIÓNN. de pro esadores1 2 4 8matriz pre ondi ionador t(s) iter. t(s) iter. t(s) iter. t(s) iter.EJ1 Identidad 119.880 598 41.750 598 20.560 598 14.600 598ILU�Banda(1) 3.659 21 1.093 21 0.446 21 0.267 21ILU�Banda(3) 2.381 13 0.731 13 0.298 13 0.193 14ILU�Banda(5) 2.244 12 0.691 12 0.284 12 0.194 14ILU�Bloque(10) 4.180 24 1.258 24 0.516 24 0.307 24ILU�Bloque(15) 4.063 23 1.231 23 0.506 23 0.300 23ILU�W(D4�1) 41.188 349 21.246 350 11.655 349 7.285 349ILU�W(D4�2) 108.320 946 62.453 946 37.898 946 30.250 946ILU�W(D4�4) 107.208 1017 61.130 1011 39.020 1024 32.910 1022EJ3 Identidad 12.520 73 3.530 73 1.510 73 0.890 73ILU�Banda(1) 11.340 68 3.365 68 1.441 68 0.860 68ILU�Banda(3) 9.930 59 2.949 59 1.256 59 0.735 58ILU�Banda(5) 9.000 53 2.679 53 1.141 53 0.672 53ILU�Bloque(10) 13.060 77 3.900 77 1.682 77 1.004 77ILU�Bloque(15) 13.190 77 3.969 77 1.713 77 1.015 77ILU�W(D4�1) 3.269 36 1.688 37 0.878 38 0.531 40ILU�W(D4�2) 0.960 27 0.537 29 0.337 32 0.258 36ILU�W(D4�4) 0.343 21 0.247 25 0.192 29 0.199 38EJ4 Identidad 0.821 34 0.371 34 0.218 34 0.149 34ILU�Banda(1) 5.309 514 2.550 200 1.359 157 1.000 152ILU�Banda(3) 6.076 515 2.792 193 1.640 178 1.236 173ILU�Banda(5) 6.528 517 2.997 515 1.776 514 1.268 175ILU�Bloque(10) 1.154 46 0.514 45 0.279 42 0.193 42ILU�Bloque(15) 1.141 44 0.520 44 0.271 40 0.195 42ILU�W(D4�1) 1.289 32 0.672 32 0.353 31 0.241 32ILU�W(D4�2) 0.742 28 0.340 24 0.178 24 0.123 26ILU�W(D4�4) 0.343 24 0.192 24 0.108 22 0.087 24Tabla 5.2: Resultados de tiempo y número de itera iones para la resolu iónde los sistemas usando GMRES(1).En la tabla 5.2 se muestran resultados de tiempo y número de itera iones para elmétodo iterativo GMRES, del que hemos hablado en el apítulo 2. Debemos obser-var que, en general, el número de itera iones varía on el número de pro esadores,debido a que el pre ondi ionador en realidad ambia al variar el número de bloques.También podemos observar que el omportamiento del pre ondi ionador dependede la matriz de oe� ientes. Por ejemplo, el pre ondi ionador ILU�W que se revela

Page 162: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

138 Capítulo 5. Pre ondi ionadores paralelos para sistemas densos

1 2 3 4 5 6 7 80

2

4

6

8

10

12

14

n. procesadores

acel

erac

ión

RESOLUCIÓN − EJEMPLO 1

ILU−banda(1) ILU−banda(3) ILU−banda(5) ILU−bloque(10)ILU−bloque(15)ILU−W(D4−1) ILU−W(D4−2) ILU−W(D4−4)

(a) A elera ión 1 2 3 4 5 6 7 80.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

2.2

2.4

n. procesadores

efic

ienc

ia

RESOLUCIÓN − EJEMPLO 1

ILU−banda(1) ILU−banda(3) ILU−banda(5) ILU−bloque(10)ILU−bloque(15)ILU−W(D4−1) ILU−W(D4−2) ILU−W(D4−4)

(b) E� ien iaFigura 5.9: A elera ión y e� ien ia de la resolu ión del sistema del ejemplo 1. omo el mejor para el ejemplo 3, no onsigue pre ondi ionar el ejemplo 1. Lomismo su ede para el pre ondi ionador ILU�banda que, aunque ex elente para elejemplo 1, no onsigue redu ir el número de itera iones en el aso del ejemplo 4.Esto es debido a que la matriz original es densa y el pre ondi ionador que forma-mos disperso de forma que el patrón de dispersión que hemos elegido no es apazde aptar la informa ión relevante de la matriz original para dar lugar a un buenpre ondi ionador.Las �guras de la 5.9 a la 5.11 muestran grá� as para la a elera ión y la e� ien ia onseguida en la apli a ión de los pre ondi ionadores usando el método GMRES,frente al número de pro esadores. En este aso la a elera ión se al ula omo:Sp(N) = T �(N)Tp(N) ; (5.7)donde T �(N) es el tiempo de CPU para la apli a ión del pre ondi ionador en el mé-todo se uen ial y Tp(N) es el tiempo de CPU para la apli a ión del pre ondi ionadoren p pro esadores.En los asos ejemplo 1 y ejemplo 3 se observa que existe superlinealidad uando el sistema que se resuelve es el original, y no su ede esto uando se usa elpre ondi ionador ILU�W que se emplea en la resolu ión del sistema transformado.Esto es debido a que la matriz original es muy grande (re ordemos que es densay de tamaño 2048 � 2048) y entran en juego fa tores rela ionados on la jerarquía

Page 163: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.3. Fa toriza iones in ompletas 139

1 2 3 4 5 6 7 80

2

4

6

8

10

12

14

n. procesadores

acel

erac

ión

RESOLUCIÓN − EJEMPLO 3

ILU−banda(1) ILU−banda(3) ILU−banda(5) ILU−bloque(10)ILU−bloque(15)ILU−W(D4−1) ILU−W(D4−2) ILU−W(D4−4)

(a) A elera ión 1 2 3 4 5 6 7 80.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

n. procesadores

efic

ienc

ia

RESOLUCIÓN − EJEMPLO 3

ILU−banda(1) ILU−banda(3) ILU−banda(5) ILU−bloque(10)ILU−bloque(15)ILU−W(D4−1) ILU−W(D4−2) ILU−W(D4−4)

(b) E� ien iaFigura 5.10: A elera ión y e� ien ia de la resolu ión del sistema del ejemplo 3.

1 2 3 4 5 6 7 81

2

3

4

5

6

7

n. procesadores

acel

erac

ión

RESOLUCIÓN − EJEMPLO 4

ILU−banda(1) ILU−banda(3) ILU−banda(5) ILU−bloque(10)ILU−bloque(15)ILU−W(D4−1) ILU−W(D4−2) ILU−W(D4−4)

(a) A elera ión 1 2 3 4 5 6 7 80.4

0.5

0.6

0.7

0.8

0.9

1

1.1

1.2

1.3

n. procesadores

efic

ienc

ia

RESOLUCIÓN − EJEMPLO 4

ILU−banda(1) ILU−banda(3) ILU−banda(5) ILU−bloque(10)ILU−bloque(15)ILU−W(D4−1) ILU−W(D4−2) ILU−W(D4−4) (b) E� ien iaFigura 5.11: A elera ión y e� ien ia de la resolu ión del sistema del ejemplo 4.

Page 164: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

140 Capítulo 5. Pre ondi ionadores paralelos para sistemas densosde memoria. Si resolvemos el sistema transformado, este es disperso y no presentaestos problemas. Sin embargo, para el ejemplo 4, no su ede esto debido a que lamatriz es más pequeña (1024� 1024). Para este último ejemplo podemos ver que,sin los efe tos que produ en los on�i tos de apa idad para los problemas grandes,los resultados obtenidos es alan a eptablemente.5.4 Pre ondi ionadores SPAIUna té ni a simple para en ontrar la aproximada inversa de una matriz (SPAI)arbitraria es intentar en ontrar una matriz dispersa M que minimi e la norma deFrobenius de una matriz residual AM � I:F (AM � I) = kAM � Ik2F : (5.8)La norma de Frobenius de una matriz ualquiera B se de�ne omo:F (B) = kBk2F = " mXi=1 nXj=1 jbijj2#1=2 : (5.9)Una matriz M uyo valor de F (AM � I) sea pequeño sería una aproxima ión ala inversa de A. La expresión 5.8 se puede desa oplar en la suma de los uadradosde las normas de las olumnas de la matriz AM � I,F (AM � I) = kAM � Ik2F = nXj=1 kAmj � ejk22 (5.10)en la que ej y mj son las olumnas j�ésimas de la matriz identidad y de la matrizM , respe tivamente. Hay dos modos diferentes de pro eder para minimizar estaexpresión. Por un lado, se puede minimizar la fun ión (5.8) globalmente omouna fun ión de una matriz dispersa M , por ejemplo, por un método tipo gradiente onjugado. Otra alternativa sería minimizar las fun iones individuales:minmk kAmj � ejk22; j = 1; 2; :::; N: (5.11)La segunda aproxima ión resulta más atra tiva para su implementa ión en máquinasparalelas, aunque también hay paralelismo en la primera aproxima ión.La di� ultad radi a en determinar un buen patrón de dispersión para la apro-ximada inversa, ya que sino la solu ión de las e ua iones anteriores no dará lugar

Page 165: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.4. Pre ondi ionadores SPAI 141a un pre ondi ionador efe tivo. Una posibilidad sería imponer un patrón de dis-persión de la aproxima ión a priori, por ejemplo la aproxima ión en banda de A�1[GS93℄. Sin embargo, en general es difí il intuir un patrón ade uado de dispersióny mu hos trabajos re ientes han apuntado nuevas ideas de�niendo patrones de no�nulos adaptativos [GH97, CS98, BT98, ABG97℄. A ontinua ión des ribimos variasimplementa iones de pre ondi ionadores SPAI que hemos apli ado a la resolu iónde sistemas densos.5.4.1 Cál ulo de la aproximada inversaUn modo de bus ar la aproxima ión a la inversa de una matriz se basa en la idea quemostramos a ontinua ión. Las olumnas del pre ondi ionadorM se pueden generarindependientemente y esta opera ión puede realizarse en paralelo. Denotemos pormi la olumna i�ésima de M . Hay que en ontrar Ami = ei donde ei es la olumnai�ésima de la matriz identidad. De la matriz A se determina una lista Li de índi esf1; :::; Ng de forma que las variables ontenidas en este sub onjunto tengan el mayorimpa to sobre la variable i [GPC00℄. Esto se realiza para todas las olumnas de M ,de forma que se obtiene L = SNi=1 Li. Enton es, se resuelve el pequeño sistema dee ua iones Ami = ei donde el sombrero sobre la matriz y ve tores indi a que se haneliminado las �las y olumnas de la matriz original que no pertene ían al sub onjuntode Li. Una vez que se ono e esta solu ión, expandimos el ve tor solu ión mi a lasentradas originales mi. Esto se realiza para todas las olumnas de M .La breve des rip ión anterior expli a omo al ular los pre ondi ionadores delos que trataremos a ontinua ión. Todo lo que queda por determinar es omose eligen los valores de la lista L y omo se expande las solu iones de los sistemaspequeños a las olumnas del pre ondi ionadorM . La ele ión de la lista L da lugar adistintos pre ondi ionadores SPAI [GPC00℄. En todos los asos el número de FLOPSne esarios para al ular el pre ondi ionador se en uentra en torno a O(k3N) dondek es el tamaño del sistema pequeño que resolvemos para ada olumna.Pre ondi ionador SPAI�Banda. Grote y Simon [GS93℄ proponen elegir el pa-trón de dispersión omo una matriz en banda on 2b+1 diagonales, b � 0, enfa-tizando la importan ia de una rápida apli a ión del pre ondi ionador. CuandoA es una matriz en banda, on un grado alto de dominanza diagonal, una apro-xima ión en banda de la aproxima ión inversa A�1 está justi� ada. Nuestroobjetivo es emplear estos pre ondi ionadores para a elerar la onvergen ia de

Page 166: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

142 Capítulo 5. Pre ondi ionadores paralelos para sistemas densosproblemas densos que se obtienen de la formula ión de elementos de ontorno(problemas BEM). Estos problemas suelen presentar matri es en banda, y, engeneral, on ierto grado de dominanza diagonal, dada las ara terísti as delas e ua iones de la formula ión BEM, omo se verá en el apítulo 6. La ele - ión de L se realiza a priori. Se elige el an ho de banda (b) que deseamos parala aproximada inversa y Li = fj j i� b � j � i + b; j > 0g.Una vez que la solu ión del sistema pequeño se ono e, el ve tor solu ión sedevuelve a sus posi iones originales en la matriz M manteniendo las demásposi iones, lógi amente, a ero. En nuestro aso, utilizamos el formato dealma enamiento CCS para matri es dispersas para alma enar los elementos nonulos del pre ondi ionador, de esta forma se a elera la apli a ión del mismodurante el método iterativo.Pre ondi ionador SPAI�EM. Las siglas EM signi� an Entradas de la Matriz.La forma de elegir L para una variable i de este pre ondi ionador es omosigue. Si aij satisfa e jaijj2 � tjaiij2 enton es se in luye j en L. El parámetrot es una toleran ia permitida por el usuario, que variará según el aso deestudio. Es importante notar que el pre ondi ionador no depende de ningunaestru tura en on reto, y por lo tanto, podría usarse para ualquier matrizarbitraria.Al igual que para el pre ondi ionador anterior, el ve tor solu ión del siste-ma pequeño, mi, o upara las posi iones originales mi de la matriz M , peroutilizando para alma enarlo el formato CCS.Esta heurísti a es pare ida a la idea de matriz lo al de Benson y Frederi kson[BF82℄, o más re ientemente al pre ondi ionador propuesto por Vavasis parae ua iones integrales de ontorno [Vav92℄. Sin embargo, hemos variado ligera-mente la ondi ión para que la forma ión del pre ondi ionador resultase mássen illa de paralelizar en multipro esadores de memoria distribuida.Pre ondi ionador SPAI�VM. Las letras VM signi� an Ve inos en la Malla. Es-te pre ondi ionador se basa en la idea de que una variable de un sistema linealque proviene de un problema BEM orresponde a un nodo en la super� iede una región. De imos que dos nodos son ve inos si forman frontera de unelemento omún. La ele ión de Li para el nodo i es omo sigue: Li será i ytodos los índi es de los demás nodos ve inos a él [Vav92℄.Bási amente este pre ondi ionador se basa en la idea de que los nú leos de lasintegrales en los métodos BEM dependen de 1=r o 1=r2, donde r es del tipo

Page 167: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.4. Pre ondi ionadores SPAI 143r = kxi� xjk siendo xi la oordenada del nodo i en la malla. Por lo tanto, losnodos más distantes serán los que menos impa to tendrán en la varia ión delnodo onsiderado. Como los nodos ve inos son los más rela ionados, son losque introdu imos en el ál ulo de nuestro pre ondi ionador.El pre ondi ionador que se genera así es disperso y su patrón de dispersiónserá un re�ejo de la one tividad de la malla.5.4.2 SPAI usando transformadas waveletLos pre ondi ionadores que veíamos anteriormente son perfe tamente válidos parael sistema transformado: ~A�x = �b; (5.12)al igual que lo son para ualquier otra matriz dispersa. Sin embargo, algunos o-mo el pre ondi ionador VM se basan, para prede ir el patrón, en el ono imientoque se tiene a priori sobre el problema que se intenta resolver y por lo tanto, engeneral, no fun ionará bien (o tan bien) para otros problemas. Además de estospre ondi ionadores, proponemos otro para los sistemas transformados:Pre ondi ionador SPAI�W . La idea detrás de este pre ondi ionador es utilizarel patrón de dispersión que nos ofre e la transformada wavelet de la matrizoriginal ~A = umbral (WAW�1) para aptar las entradas más relevantes yutilizarlas en el ál ulo de la aproximada ~A�1. Este pre ondi ionador se basaen que la transformada wavelet ondensa la informa ión más relevante en unospo os oe� ientes que se orresponden también on los oe� ientes mayores(en valor absoluto) de la matriz transformada. Así pues, nuestra propuestaha sido la de apli ar un umbral lo su� ientemente alto para onseguir unpatrón de dispersión muy grande (mayor que el de la matriz ~A de la e ua ión5.12) y a partir de él al ular la aproxima ión inversa que nos servirá parapre ondi ionar el sistema transformado.5.4.3 Implementa iones paralelasBus ar paralelismo en las implementa iones se uen iales de los pre ondi ionadoreses una de las té ni as más utilizadas en el aso de los pre ondi ionadores SPAI.Como ya omentábamos en la se ión 5.4.1, estos pre ondi ionadores son altamente

Page 168: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

144 Capítulo 5. Pre ondi ionadores paralelos para sistemas densosparalelizables ya que el ál ulo de ada una de las olumnas del pre ondi ionador estotalmente independiente del ál ulo de las restantes y, por tanto, se pueden realizaren paralelo. Sin embargo, la di� ultad reside en que la matriz de oe� ientes estádistribuida entre todos los pro esadores, de forma que en un omputador de memoriadistribuida el a eso a los datos involu rará omuni a iones que pueden afe tar a lae� ien ia del método paralelo.Nuestra estrategia de implementa ión [GPC01℄ agrupa las omuni a iones antesde omenzar los ál ulos de las olumnas. El primer paso para la implementa iónparalela es al ular la lista L de índi es. En el aso paralelo barremos todas las olumnas y al ulamos la lista ompleta para la matriz. Cada pro esador al ula sulista lo al y, mediante una opera ión de allgather, se re ole ta toda la informa iónde forma que todos los pro esadores tengan la lista L ompleta antes de omenzarlos ál ulos para ada olumna (esta opera ión se ilustra en la �gura 5.12(b)). Losíndi es Li los utilizaremos omo más ara para el envío de los datos originales de lamatriz que no se en uentran entre los lo ales de ada pro esador y que ne esitará uando ompute ada una de las olumnas.Después de la re ole ión de la lista de índi es L, la onstru ión del pre ondi io-nador onsiste en un lazo externo que re orre ada una de las olumnas y al ula, enel pro esador orrespondiente, la nueva olumna del pre ondi ionador. La primeraetapa en el ál ulo de ada olumna onsiste en rear, en ada pro esador, una sub-matriz Bi on las entradas de la matriz original que se en uentran en ese pro esadory que forman parte del sistema pequeño Ami = ei. Para eso se utiliza la informa ión ontenida en la lista Li. Una vez que se rea la submatriz Bi de ada pro esador, ada uno manda esa submatriz al pro esador que ha de al ular la olumna i delpre ondi ionador. Esta opera ión se ilustra en la �gura 5.12( ). Al agrupar datosredu imos el número de mensajes lo que redu e el oste de las omuni a iones.Para poder realizar en paralelo el ál ulo de varias olumnas del pre ondi iona-dor, reamos primero npro sistemas pequeños Ami = ei, uno por pro esador. Deesta forma todos los pro esadores pueden al ular simultáneamente una olumnadel pre ondi ionador. Una vez al uladas esas npro olumnas se pro ede de idénti aforma on las siguientes npro .Una vez que se han realizado todos los ál ulos, las nuevas entradas del pre on-di ionador se devuelven a sus posi iones en sus pro esadores ini iales. Esta etapatambién pre isa omuni a iones entre los pro esadores pero sólo se realizan una vez,al �nalizar el resto de los ál ulos.

Page 169: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.4. Pre ondi ionadores SPAI 1451 2 3 4 5 6 7 8 9 10

1

2

3

4

5

6

7

8

9

10

PE1

PE2

PE3 (a)4 3 4 3 4 2 3 3 2 4

1 2 3 4 4 6 6 8 7 10 0 9

1 2 1 4 5 6 6 8 0 0 10 0

3 4 5 1 7 6 9 3 9 8 0 6 0 0 0 10

4 3 4 3 4 2 3 3 2 4

1 2 3 1 2 1 3 4 5 1 4 4 6 4 5 6 7 6 9 3 6 8 7 6 8 0 9 8 0 6 10 0 9 0 10 0 0 0 0 10

PE1 PE2 PE3

ALLGATHER

k

L

L

LL

kk

k

(b)a1,1 a1,4 a1,6 a1,10

a4,1 a4,4 a4,6 a4,10

a6,1 a6,4 a6,6 a6,10

a10,1 a10,4 a10,6 a10,10

a1,1 a1,4 a1,6 a1,10

a4,1 a4,4 a4,6 a4,10

a6,1 a6,4 a6,6 a6,10

a10,1 a10,4 a10,6 a10,10

PE1

PE2

PE3

PE1

GATHER( )Figura 5.12: (a) matriz densa original; (b) obten ión del global L para la onstru ión de las submatri es; ( ) submatriz para el ál ulo de la olumna1 de M , los ír ulos negros indi an las entradas originales que umplen las ondi iones impuestas por la heurísti a elegida.

Page 170: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

146 Capítulo 5. Pre ondi ionadores paralelos para sistemas densosfor(j = 1; j < n; j ++){ ál ulo de L(j; :) mediante la heurísti a elegida;}allgather(L);for(j = 0; i < nlo al; j ++){for(i = 0; i < npro ; i++) rear la submatriz B para ontribuir al ál ulode la olumna (i � nlo al + j) del pre ondi ionador;gather(B, root = i);}/* Resolu ión del sistema lo al B para el*//* ál ulo de la olumna (i � nlo al + j) */gauss(B,M);}for(j = 0; j < npro ; j ++){s atter(M, root = j);}Figura 5.13: Algoritmo paralelo para el ál ulo de un pre ondi ionador SPAIPE1 PE2 PE3

TOTAL(a) Gather TOTAL

PE1 PE2 PE3

(b) S atterFigura 5.14: Opera iones de gather y s atter. El resultado TOTAL puedequedar ubi ado en un sólo pro esador o en todos (si se usa la opera iónallgather o alls atter)En la �gura 5.13 se muestra el pseudo ódigo para el algoritmo anterior. Lasopera iones de re ole ión de datos se realizan on una opera ión gather y las dedevolu ión on una opera ión s atter. En la �gura 5.14 se muestra omo fun ionanestas opera iones.

Page 171: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.4. Pre ondi ionadores SPAI 147Otra té ni a utilizada para en ontrar paralelismo en estos pre ondi ionadores,al igual que en las fa toriza iones in ompletas, es desarrollar pre ondi ionadoresdesa oplados que no requieran ex esivas omuni a iones. Los más simples son lasaproxima iones bloque, omo veíamos en la se ión 5.3 para el aso del pre ondi- ionador ILU. De modo semejante hemos implementado las versiones bloque de lospre ondi ionadores SPAI. Un parámetro que hemos tenido en uenta en todas estasimplementa iones ha sido el solape permitido entre los bloques. Del mismo modoque para la ILU-bloque, para rear el pre ondi ionador se inter ambian entre lospro esadores las �las de ada bloque indi adas por el parámetro solape (ver �gura5.3). Posteriormente el ál ulo de la inversa se realiza de forma lo al para adabloque. Una vez �nalizado el ál ulo, las entradas del pre ondi ionador que orres-ponden a la zona de solape se omuni an a los pro esadores orrespondientes. Deesta forma sólo se pre isa una omuni a ión al omienzo y otra al �nalizar el ál ulode ada bloque.Esta última té ni a presenta la desventaja de que el número de itera iones au-menta on el número de bloques en que parti ionamos la matriz. Además los ele-mentos de la matriz que quedan ex luidos de los bloques no forman parte del pro esode sele ión del patrón. Todo ello ha e que estos pre ondi ionadores bloque no seantan robustos omo sus versiones SPAI originales. Por ese motivo aquí presentaremossólo resultados de las versiones paralelizadas de los algoritmos originales y no de lasversiones bloque.5.4.4 Apli a ión del pre ondi ionadorComo se omentaba al hablar de los pre ondi ionadores tipo ILU y su apli a ión, en ada etapa del método iterativo pre ondi ionado tenemos que resolver una e ua ióndel tipo Mz = y. En el aso de los pre ondi ionadores tipo ILU esta opera iónimpli aba dos resolu iones triangulares ada vez. Por el ontrario, en el aso delos pre ondi ionadores SPAI esta opera ión involu ra sólo una opera ión produ tomatriz dispersa�ve tor. Por este motivo la apli a ión del pre ondi ionador resultamás sen illa que en el aso anterior. Además, omo hemos visto en el apítulo 2, elprodu to matriz�ve tor es una opera ión sen illa de paralelizar y on una e� ien iaa eptable en máquinas de memoria distribuida. Todo esto ha e que ada vez seamayor el auge de estos pre ondi ionadores para su apli a ión en multipro esadores[GH97℄.Sobre la implementa ión paralela del produ to matriz disperso�ve tor ya hemos

Page 172: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

148 Capítulo 5. Pre ondi ionadores paralelos para sistemas densos

−0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.80.5

0.6

0.7

0.8

0.9

1

1.1

1.2

1.3

1.4

parte real

part

e im

agin

aria

DISTRIBUCIÓN DE AUTOVALORES

(a) SPAI�Banda −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.60.5

0.6

0.7

0.8

0.9

1

1.1

1.2

1.3

1.4

1.5

parte real

part

e im

agin

aria

DISTRIBUCIÓN DE AUTOVALORES

(b) SPAI�EM

−0.25 −0.2 −0.15 −0.1 −0.05 0 0.05 0.1 0.15 0.2 0.25−1

−0.5

0

0.5

1

1.5

2

parte real

part

e im

agin

aria

DISTRIBUCIÓN DE AUTOVALORES

( ) SPAI�VM −40 −30 −20 −10 0 10 20 30 40−80

−60

−40

−20

0

20

40

60

80

parte real

part

e im

agin

aria

DISTRIBUCIÓN DE AUTOVALORES

(d) SPAI�W (D4�1)Figura 5.15: Distribu ión de autovalores para las matri es pre ondi ionadas(MA) usando distintos pre ondi ionadores SPAI (ejemplo 1).hablado en la se ión 2.5.2. Para la apli a ión de los pre ondi ionadores SPAI queproponemos hemos utilizado la misma implementa ión que utilizábamos para losdemás produ tos matriz dispersa�ve tor del método.5.4.5 Evalua iónEn esta se ión se muestran resultados experimentales que ponen de mani�esto lae� ien ia de los pre ondi ionadores SPAI que proponemos. De nuevo las matri es

Page 173: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.4. Pre ondi ionadores SPAI 149

0 10 20 30 40 50 60 7010

−12

10−10

10−8

10−6

10−4

10−2

100

n. iteraciones

resi

duo

EVOLUCIÓN DEL RESIDUO

SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)

Figura 5.16: Evolu ión del residuo on la an hura de la banda.que se utilizan son las que hemos empleado en la se ión 5.3.5. En el apítulo 6mostraremos más resultados on matri es reales.En primer lugar veri� amos la mejora que se produ e en el espe tro de autova-lores de la matriz pre ondi ionada. En la �gura 5.15 se muestra la distribu ión deautovalores de la matriz pre ondi ionada MA (donde A es la matriz de oe� ien-tes del ejemplo 1 uyo espe tro se mostraba en la �gura 5.5) para varios de lospre ondi ionadores des ritos la se ión 5.4.1. Al igual que o urría on los pre on-di ionadores tipo ILU, los SPAI también onsiguen agrupar los autovalores de lamatriz en torno al valor unidad.Hemos probado los diferentes pre ondi ionadores tanto para pre ondi ionar elsistema original omo para el sistema transformado mediante wavelets, tal y omohabíamos he ho on los pre ondi ionadores tipo ILU. Sobre el sistema original hemosprobado los pre ondi ionadores SPAI en banda, SPAI�EM y SPAI�VM. Sobre elsistema transformado hemos implementado el pre ondi ionador SPAI�W, utilizandotres niveles diferentes de la wavelet Daube hies D4.El pre ondi ionador SPAI�banda pre isa omo parámetro el an ho de la banda.Al igual que veíamos para el aso de los pre ondi ionadores ILU�banda, este pará-metro tiene importan ia a la hora de la onvergen ia del método. Cuanto más an hasea la banda más oe� ientes entran a formar parte del pro eso de forma ión delpre ondi ionador, ha iéndolo más ostoso, pero al mismo tiempo la onvergen ia delmétodo será mayor. Un ejemplo de la evolu ión del residuo para distintos valoresdel an ho de la banda se muestra en la �gura 5.16.

Page 174: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

150 Capítulo 5. Pre ondi ionadores paralelos para sistemas densos

0 10 20 30 40 50 60 7010

−12

10−10

10−8

10−6

10−4

10−2

100

n. iteraciones

resi

duo

EVOLUCIÓN DEL RESIDUO

E=5e−1E=1e−1E=5e−2

Figura 5.17: Evolu ión del residuo on el umbral del patrón wavelet parael pre ondi ionador.En el aso del pre ondi ionador SPAI�W el parámetro que entra en juego es elumbral a partir del ual se toman las entradas para el patrón del pre ondi ionador.En la �gura 5.17 se muestra un ejemplo de la evolu ión del residuo para distintosumbrales. Este parámetro es muy importante para onseguir una buena e� ien iadel pre ondi ionador, análogamente a lo que su edía en el aso del pre ondi ionadorILU�W. Cuanto mayor sea el umbral más disperso será el pre ondi ionador on loque se a elera su forma ión y también su apli a ión en ada itera ión. Sin embargo,será peor su onvergen ia. Por el ontrario, si es ogemos un umbral demasiadobajo, la onvergen ia será buena, pero su forma ión y su apli a ión pueden resultardemasiado ostosas.En las próximas tablas se muestran resultados de varios experimentos realizadossobre las matri es de prueba. Los datos que mostramos han sido obtenidos en unmulti omputador Cray T3E.En la tabla 5.3 mostramos los resultados de tiempo para la onstru ión delos pre ondi ionadores. Como se puede ver, la forma ión paralela de todos lospre ondi ionadores es es alable. De he ho para los ejemplos: ejemplo 1 y ejemplo3, podemos ver que en mu hos asos se obtiene superlinealidad. Esto se debe al efe tode los on�i tos de apa idad que sufren los problemas de dimensiones onsiderables.Para el ejemplo 4 esto no o urre, debido a que es un problema más pequeño.En la tabla 5.4 se muestran resultados de tiempo y número de itera iones parael método iterativo GMRES usando los pre ondi ionadores anteriores. Observamos

Page 175: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.4. Pre ondi ionadores SPAI 151CONSTRUCCIÓNN. de pro esadores1 2 4 8matriz pre ondi ionador t(s) t(s) a el. t(s) a el. t(s) a el.EJ1 SPAI�Banda(1) 0.134 0.072 1.86 0.036 3.72 0.018 7.29SPAI�Banda(3) 0.158 0.078 2.02 0.040 3.99 0.020 7.98SPAI�Banda(5) 0.248 0.096 2.58 0.046 5.36 0.023 10.78SPAI�EM 2.309 1.259 1.83 0.712 3.24 0.527 4.38SPAI�VM 0.158 0.080 1.97 0.041 3.88 0.020 7.98SPAI�W(D4�1) 4.962 1.976 2.51 1.202 4.13 0.792 6.27SPAI�W(D4�2) 4.493 1.910 2.35 1.168 3.85 0.832 5.40SPAI�W(D4�4) 5.307 2.299 2.31 1.403 3.78 0.945 5.62EJ3 SPAI�Banda(1) 0.135 0.072 1.89 0.035 3.89 0.019 7.18SPAI�Banda(3) 0.158 0.078 2.03 0.041 3.87 0.022 7.18SPAI�Banda(5) 0.248 0.095 2.61 0.048 5.18 0.025 9.84SPAI�EM 2.441 1.302 1.87 0.736 3.32 0.530 4.61SPAI�VM 0.158 0.081 1.96 0.042 3.73 0.022 7.12SPAI�W(D4�1)) 4.462 1.894 2.36 1.099 4.06 0.697 6.40SPAI�W(D4�1)) 3.387 1.785 1.90 1.050 3.23 0.724 4.68SPAI�W(D4�1)) 4.350 1.698 2.56 0.982 4.43 0.675 6.45EJ4 SPAI�Banda(1) 0.037 0.019 1.99 0.011 3.52 0.007 5.46SPAI�Banda(3) 0.042 0.022 1.95 0.012 3.51 0.008 5.53SPAI�Banda(5) 0.058 0.028 2.05 0.015 3.76 0.009 6.13SPAI�EM 9.655 5.914 1.63 3.795 2.54 2.243 4.30SPAI�VM 0.044 0.024 1.83 0.013 3.30 0.009 5.08SPAI�W(D4�1)) 0.618 0.348 1.78 0.223 2.77 0.173 3.56SPAI�W(D4�1)) 0.763 0.436 1.75 0.285 2.68 0.204 3.74SPAI�W(D4�1)) 0.819 0.461 1.78 0.285 2.87 0.206 3.98Tabla 5.3: Resultados de tiempo y a elera ión para la onstru ión de lospre ondi ionadores SPAI.que, en general, se obtienen mejores resultados, en términos de número de itera- iones ne esarias para onverger, que para los pre ondi ionadores tipo ILU de lase ión anterior. Además, el pre ondi ionador en este aso no ambia al aumentarel número de pro esadores, es más estable. Por otra parte, en términos del tiempopor itera ión los pre ondi ionadores SPAI también obtienen mejores resultados quelos pre ondi ionadores tipo ILU on solape, debido que la resolu ión triangular queestos ne esitan en ada itera ión para su apli a ión presenta una baja e� ien ia enparalelo. Sin embargo, uando no se utiliza solape, omo en los resultados mostrados

Page 176: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

152 Capítulo 5. Pre ondi ionadores paralelos para sistemas densosRESOLUCIÓNN. de pro esadores1 2 4 8matriz pre ondi ionador t(s) iter. t(s) iter. t(s) iter. t(s) iter.EJ1 Identidad 119.880 598 41.750 598 20.560 598 14.600 598SPAI�Banda(1) 3.846 22 1.130 22 0.477 22 0.278 22SPAI�Banda(3) 2.266 12 0.674 12 0.289 12 0.171 12SPAI�Banda(5) 2.111 11 0.631 11 0.272 11 0.162 11SPAI�EM 5.134 30 1.463 30 0.596 30 0.347 30SPAI�VM 3.539 20 1.043 20 0.440 20 0.258 20SPAI�W(D4�1) 28.857 267 14.991 267 7.876 267 4.972 267SPAI�W(D4�2) 30.012 421 16.476 421 9.607 421 7.260 421SPAI�W(D4�4) 43.769 611 24.725 611 15.408 611 13.150 611EJ3 Identidad 12.520 73 3.530 73 1.510 73 0.890 73SPAI�Banda(1) 10.700 64 3.147 64 1.385 64 0.825 64SPAI�Banda(3) 7.710 46 2.272 46 0.954 46 0.567 46SPAI�Banda(5) 7.460 44 2.186 44 0.922 44 0.544 44SPAI�EM 7.660 46 2.230 46 0.926 46 0.544 46SPAI�VM 10.190 61 3.014 61 1.273 61 0.760 61SPAI�W(D4�1) 3.559 41 1.778 41 0.890 41 0.512 41SPAI�W(D4�2) 1.080 33 0.541 33 0.298 33 0.211 33SPAI�W(D4�4) 0.343 21 0.161 21 0.104 21 0.093 21EJ4 Identidad 0.821 34 0.371 34 0.218 34 0.149 34SPAI�Banda(1) 0.628 26 0.286 26 0.164 26 0.110 26SPAI�Banda(3) 0.498 20 0.226 20 0.129 20 0.086 20SPAI�Banda(5) 0.457 18 0.209 18 0.119 18 0.079 18SPAI�EM 0.261 8 0.119 8 0.064 8 0.040 8SPAI�VM 16.220 427 8.730 427 6.030 427 5.360 427SPAI�W(D4�1) 0.644 20 0.338 20 0.177 20 0.104 20SPAI�W(D4�2) 0.399 17 0.214 17 0.115 17 0.074 17SPAI�W(D4�4) 0.278 16 0.153 16 0.087 16 0.063 16Tabla 5.4: Resultados de tiempo y número de itera iones para la resolu iónde los sistemas usando GMRES(1).en la se ión 5.4.5, los resultados de tiempo por itera ión son similares para los pre- ondi ionadores tipo ILU y los pre ondi ionadores SPAI, puesto que el oste de unaresolu ión triangular paralela totalmente desa oplada y un produ to matriz�ve tores del mismo orden (O(nnz)).Las �guras de la 5.18 a la 5.20 muestran grá� as para la a elera ión y la e� ien ia

Page 177: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

5.4. Pre ondi ionadores SPAI 153

1 2 3 4 5 6 7 80

5

10

15

n. procesadores

acel

erac

ión

RESOLUCIÓN − EJEMPLO 1

SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)SPAI−EM SPAI−VM SPAI−W(D4−1) SPAI−W(D4−2) SPAI−W(D4−4)

(a) A elera ión 1 2 3 4 5 6 7 80.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

2.2

2.4

n. procesadores

efic

ienc

ia

RESOLUCIÓN − EJEMPLO 1

SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)SPAI−EM SPAI−VM SPAI−W(D4−1) SPAI−W(D4−2) SPAI−W(D4−4)

(b) E� ien iaFigura 5.18: A elera ión y e� ien ia de la resolu ión del sistema del ejemplo 1.

1 2 3 4 5 6 7 80

5

10

15

n. procesadores

acel

erac

ión

RESOLUCIÓN − EJEMPLO 3

SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)SPAI−EM SPAI−VM SPAI−W(D4−1) SPAI−W(D4−2) SPAI−W(D4−4)

(a) A elera ión 1 2 3 4 5 6 7 80.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

2.2

2.4

n. procesadores

efic

ienc

ia

RESOLUCIÓN − EJEMPLO 3

SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)SPAI−EM SPAI−VM SPAI−W(D4−1) SPAI−W(D4−2) SPAI−W(D4−4)

(b) E� ien iaFigura 5.19: A elera ión y e� ien ia de la resolu ión del sistema del ejemplo 3. onseguida en la apli a ión de los pre ondi ionadores usando el método GMRES,frente al número de pro esadores. Como o urría para los pre ondi ionadores tipoILU aquí también se obtiene superlinealidad debido a uestiones rela ionadas on lajerarquía de memoria.Algo que se puede observar en todos estos ejemplos es que los pre ondi iona-

Page 178: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

154 Capítulo 5. Pre ondi ionadores paralelos para sistemas densos

1 2 3 4 5 6 7 81

2

3

4

5

6

7

n. procesadores

acel

erac

ión

RESOLUCIÓN − EJEMPLO 4

SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)SPAI−EM SPAI−VM SPAI−W(D4−1) SPAI−W(D4−2) SPAI−W(D4−4)

(a) A elera ión 1 2 3 4 5 6 7 80.3

0.4

0.5

0.6

0.7

0.8

0.9

1

1.1

n. procesadores

efic

ienc

ia

RESOLUCIÓN − EJEMPLO 4

SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)SPAI−EM SPAI−VM SPAI−W(D4−1) SPAI−W(D4−2) SPAI−W(D4−4) (b) E� ien iaFigura 5.20: A elera ión y e� ien ia de la resolu ión del sistema del ejemplo 4.dores apli ados al sistema transformado, es de ir las SPAI�W, siempre presentanmenor a elera ión y e� ien ia que los pre ondi ionadores apli ados al sistema den-so, sin embargo, en uestión de tiempos de eje u ión se obtienen mejores resultados(ex epto para el ejemplo 1 que ne esita mu has mas itera iones). Esto se debe pre- isamente a la ara terísti a de dispersión propia del sistema transformado. Estemismo omportamiento se observaba en el apítulo 4 uando mostrábamos los resul-tados de la paraleliza ión del método de resolu ión usando transformadas wavelet.La razón de este omportamiento se debe a dos aspe tos. Por una parte el alma- enamiento disperso impli a, omo veíamos, mayor número de indire iones en lasopera iones de produ to matriz dispersa�ve tor y al aumentar el número de pro- esadores la arga omputa ional disminuye on lo que el peso de las indire ioneses mayor. Y por otra parte, la arga omputa ional siempre está mejor balan eadaen un problema denso que en un problema disperso. Además tenemos que tener en uenta que en el aso del pre ondi ionador SPAI�W, el sistema sobre el que opera-mos es ya disperso y se utiliza alma enamiento disperso, on lo que no se observa elefe to de superlinealidad que se observaba en el aso denso debido a las dimensionesdel mismo.

Page 179: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Capítulo 6Apli a ión: análisis del re imientode grietas en estru turasLas grietas se presentan en todas las estru turas, normalmente omo resultado deun daño debido al uso, y pueden re er por pro esos omo fatiga, estrés o orrosión.El re imiento de la grieta suele dar lugar a un de re imiento de la fuerza de laestru tura. Es enton es uando tiene lugar la fra tura, dando lugar al fallo o aídade la estru tura. Como apli a ión a lo estudiado anteriormente, en este apítulose dis ute la implementa ión paralela de una formula ión usada para el análisis del re imiento de grietas en estru turas.El método dual de los elementos de ontorno (DBEM) se presenta omo unaté ni a efe tiva para el análisis de problemas lineales elásti os [PA92℄. Por otraparte, el análisis de grandes problemas de integridad en estru turas puede requerirel uso de grandes sistemas omputa ionales, tanto en términos de tiempos de CPU omo en términos de memoria.Des ribimos aquí la implementa ión paralela de este método (DBEM) para elanálisis del re imiento de grietas en estru turas. En las próximas se iones sedes ribirá brevemente el método y su implementa ión en sistemas multi omputador.Posteriormente se evaluará el esquema de resolu ión de e ua iones propuesto en estamemoria apli ado a los sistemas lineales que surgen de la apli a ión de este ódigoBEM sobre problemas reales.

155

Page 180: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

156 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turas

Figura 6.1: Mallado de una pieza arbitraria. (a) FEM , (b) BEM.6.1 Formula ión del método de los elementos de ontornoEn las últimas dé adas, el método de análisis por medio de elementos �nitos se ha onsiderado una té ni a numéri a potente y muy estable ida en me áni a omputa- ional. Este método [BCO81℄ involu ra la división del dominio de la solu ión en unnúmero �nito de subdominios simples, los elementos �nitos, y, usando on eptos va-ria ionales, la onstru ión de una aproxima ión de la solu ión a través del onjuntode estos elementos. Aunque no hay serias di� ultades para el mallado en dos dimen-siones, se re ono e, en general, que el mallado 3D de un uerpo omplejo ontinuasiendo un gran reto para los métodos de elementos �nitos. Así pues, se ha he ho un onsiderable esfuerzo para proponer alternativas numéri as a estos métodos.Los métodos de elementos de ontorno (BEM) se desarrollan omo una alterna-tiva a los anteriores. Estos métodos redu en la dimensionalidad de los problemasque se analizan (los problemas 2D pasan a ser e ua iones integrales 1D y los pro-blemas 3D pasan a ser e ua iones integrales de super� ie 2D). Esto es onse uen iade dis retizar sólo la frontera. La genera ión de la malla resulta ser también mássen illa (ver �gura 6.1) omparada on los métodos de elementos �nitos. Además,los métodos de elementos de ontorno dan lugar, en general, a respuestas físi as(desplazamientos, tra iones y estrés) más pre isas en la frontera que los anteriores.Asumamos que un problema físi o parti ular en un dominio puede ser repre-

Page 181: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.1. Formula ión del método de los elementos de ontorno 157sentado por un operador diferen ial L tal que,L(u) = b en ; (6.1)donde u es la fun ión que gobierna la e ua ión y b es una fun ión ono ida en eldominio . El operador L será onsiderado un operador diferen ial. La fun ión use suele bus ar utilizando té ni as numéri as que dan una solu ión aproximada.Se puede onsiderar la versión homogénea de (6.1) omoL(u) = 0 en (6.2)Un produ to interno se puede de�nir omoZL(u)wd = 0; (6.3)donde w es una fun ión arbitraria, ex epto por que debe ser ontinua en el dominio y uyas derivadas son ontinuas hasta un ierto grado (el grado de ontinuidadvaría on el problema).Este produ to interno se puede integrar por partes hasta que todas las derivadasen u hayan sido eliminadas. Esto da lugar a la forma traspuesta del produ to internoy, omo resultado de la integra ión por partes, produ e una serie de términos de ontorno. En general, podemos es ribirZ L(u)wd = Z uL�(w)d + Z�[S�(w)G(u)�G�(w)S(u)℄d� (6.4)donde � es la ara exterior del dominio y S y G son operadores diferen ialesdebidos a la integra ión por partes. Por de�ni ión S�(w) ontiene los términos wresultantes de la fase ini ial de integra ión y S(u) ontiene los orrespondientestérminos u. El operador L� se llama adjunto de L. El onjunto S(u) se denomi-na onjunto de ondi iones de ontorno esen iales y G(u) son las ondi iones de ontorno no esen iales o naturales.Podemos dividir los métodos numéri os según aquellos para los que se usan lasmismas fun iones base para u y w y aquellos para lo uales son diferentes [BTW84℄.Una lasi� a ión ra ional puede ser:Diferen ias �nitas. Usan diferentes fun iones base para u y w. Normalmente wse toma omo fun iones de tipo delta de Dira .

Page 182: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

158 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turasElementos �nitos. Es orriente en esta té ni a tomar las mismas fun iones basepara u y w para obtener matri es simétri as. Los esquemas de elementos�nitos se basan en formula iones débiles.Elementos de ontorno. Los esquemas on elementos de ontorno están, nor-malmente, basados en la rela ión inversa. Para la fun ión peso w, se usa un onjunto de fun iones base que eliminan las integrales de dominio y redu enel problema a un problema de sólo ontorno. Estas fun iones pueden ser fun- iones singulares produ idas al apli ar la delta de Dira a un punto parti ularo pueden ser regulares omo en el aso de aquellos resultados de una solu ióna una e ua ión homogénea.6.1.1 Método de los elementos de ontornoEl método de los elementos de ontorno se ha estable ido omo una té ni a al-ternativa importante para el estudio, entre otros, de problemas de elasti idad enestru turas tridimensionales. Estos problemas serán los que trataremos en lo queresta de apítulo y por eso nos entraremos aquí en des ribir, brevemente, ómo seobtienen los sistemas que surgen del estudio de problemas de elasti idad utilizandoel método de los elementos de ontorno.Las e ua iones integrales que gobiernan en elasti idad se dedu irán usando on-sidera iones de residuo ponderado. Consideremos, primero, que se desea minimizarel error en la aproxima ión numéri a de las e ua iones elastostáti as, es de ir,�ij;i + bi = 0 en (6.5)donde las omponentes del tensor de estrés están representadas por �ij, y bi represen-ta las omponentes de la fuerza que a túa sobre el uerpo. Las derivadas espa ialesse indi an mediante una oma, es de ir, ��ij=�xi = �ij;i. Si no se apli an momentossobre el uerpo, las ondi iones de equilibrio dan lugar a:�ij = �ji (6.6)Si las seis omponentes del tensor de estrés se ono en en un punto determinado,las tra iones equivalentes a tuando sobre ualquier plano que ontenga a ese puntose pueden ono er al ulando: ti = �ijnj (6.7)

Page 183: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.1. Formula ión del método de los elementos de ontorno 159donde nj es el ve tor unitario normal al plano.Las e ua iones (6.5) normalmente satisfa en las siguientes ondi iones1. Condi iones esen iales o de desplazamientouk = �uk en �1 (6.8)2. Condi iones naturales o de tra ióntk = �kjnj = �tk en �2 (6.9)donde �uk y �tk son desplazamientos y tra iones ono idas. Notar que la super� ieexterna total del uerpo ha de ser � = �1 + �2.Como ya hemos men ionado, nos interesa minimizar (6.5). Para onseguirlo sepuede ponderar ada una de esas e ua iones por desplazamientos del tipo fun ionesu�k y ortogonalizar el produ to, es de ir,Z(�kj;i + bk)u�kd = 0 (6.10)Si llevamos a abo dos ve es la integra ión por partes en los primeros términos deesta e ua ión (análogo a lo que se ha ía para obtener la e ua ión (6.4)) y agrupamoslos orrespondientes términos, en ontramos el adjunto de la expresión (6.5) [BD92℄Z ��kj;jukd + Z bku�kd = � Z� tku�kd� + Z� t�kukd� (6.11)Esta expresión orresponde al teorema re ípro o de Betti que se usa a ve es omo punto de partida para la formula ión integral de ontorno.Notar que los dos términos de la parte dere ha son integrales en el ontorno �del uerpo. Consideremos que el ontorno está dividido en dos partes (� = �1+�2)y en ada una de ellas se apli an las ondi iones de ontorno (6.8) y (6.9). Podemosenton es es ribir:Z ��kj;jukd + Z bku�kd = � Z�1 tku�kd�� Z�2 �tku�kd�+ Z�2 t�kukd� + Z�1 t�k�ukd� (6.12)donde las barras representan valores ono idos de las omponentes de desplazamien-tos y tra iones. Si seguimos integrando por partes, tratando de volver a la e ua ión

Page 184: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

160 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turas(6.5), en ontraremos que la expresión resultante es ligeramente distinta ya que he-mos impuesto las ondi iones de ontorno en �1 y �2. Integrando por partes dosve es la primera integral en (6.12) se obtiene:Z(��kj;j + bk)u�kd = Z�2(tk � �tk)u�kd� + Z�1(�uk � uk)t�kd� (6.13)Esta expresión es un estamento generalizado que se puede usar para obtener lae ua iones integrales de ontorno. Una vez que se ha estable ido este prin ipio, sepuede volver a la e ua ión (6.12) y usar las fun iones de la solu ión fundamental,que se pueden obtener para un punto, bl = �i, a lo largo de la dire ión del ve torunitario el, es de ir, ��lj;j +�iel = 0 (6.14)Las solu iones fundamentales se pueden es ribir omo:u�k = u�lkel (6.15)t�k = t�lkel (6.16)donde u�lk, t�lk son k omponentes de desplazamientos y tra iones debidos a la argade un punto unidad en la dire ión l. La primera integral en (6.12) para una dire iónparti ular el se puede expresar:Z ��kj;jukd = Z ��lj;juld = � Z�iuleld = �uilel (6.17)donde uil representa la omponente l del desplazamiento en un punto i de apli a iónde la arga.La e ua ión (6.12) se puede es ribir ahora de forma que se representan las tres omponentes separadas del desplazamiento en i tomando las tres oordenadas delpunto de forma independiente:uil + Z�2 t�lkukd� + Z�1 t�lk�ukd� =Z�1 u�lktkd� + Z�2 u�lk�tkd� + Z u�lkbkd (6.18)Esta e ua ión se puede es ribir, de forma más ompa ta, onsiderando las dospartes del ontorno juntas (es de ir, � = �1 + �2) y apli ando las ondi iones de ontorno en una etapa posterior [BD92℄, omouil + Z� t�lkukd� = Z� u�lktkd� + Z u�lkbkd (6.19)

Page 185: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.1. Formula ión del método de los elementos de ontorno 161Γ

ε

ε

r =

n

superficie

contorno ’i’punto de

Figura 6.2: Puntos de ontorno para un aso tridimensional.Esta e ua ión se ono e omo identidad de Somigliana, y da el valor deldesplazamiento en ualquier punto interno en términos de los valores de la fronterauk y tk, las fuerzas a través del dominio y la solu ión fundamental ono ida.Esta e ua ión es válida para ualquier punto dentro del dominio . En los ele-mentos de ontorno se suele preferir por razones omputa ionales apli ar la e ua ión(6.19) en el ontorno y por lo tanto ne esitamos en ontrar que su ede uando el pun-to i está en �. Una forma simple de ha er esto es onsiderar que el punto i está enla frontera, pero el dominio en sí mismo se aumenta por un hemisferio de radio "(en 3D) omo se muestra en la �gura 6.2. El punto xi se onsidera en el entro yenton es el radio " se ha e tender a ero.La e ua ión (6.19) es para el nodo l y si tenemos L nodos, podemos generar Le ua iones, que se pueden ensamblar en la matriz del sistemaAu = Bt; (6.20)Sobre este sistema se pueden apli ar las ondi iones de ontorno 6.8 y6.9. Sise ono en las tra iones se pueden ono er los desplazamientos y vi eversa. Estoimpli a que el sistema de e ua iones (6.20) se pueda reordenar de forma que lasin ógnitas queden en la parte izquierda dentro del ve tor x, de la forma:Cx = f (6.21)Las matri es A y B (y por lo tanto C) son densas y no�simétri as ( omparadas

Page 186: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

162 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turas on las provenientes de la formula ión de elementos �nitos donde la matriz globalK es dispersa y simétri a, al menos en patrón).El uso de la solu ión fundamental omo fun ión de pondera ión asegura que lasmatri es A y B sean generalmente bien ondi ionadas. La matriz C es, por lo tanto,también bien ondi ionada y la e ua ión (6.21) se puede resolver razonablementebien.El ve tor x ontiene las in ógnitas de u y t (desplazamientos y tra iones) en lafrontera. Una vez que se en uentra este, todos los valores de u y t en el ontorno se ono en. Si se ne esita la solu ión en un punto interior del dominio, se puede usarla e ua ión (6.19) on el punto singular lo alizado en la solu ión requerida.6.1.2 Método dual de los elementos de ontornoLos métodos de ontorno requieren la evalua ión de las e ua iones integrales singu-lares [BD92℄. Estos métodos se han apli ado on éxito a problemas elásti os linealesen dominios on geometrías que no ontienen degenera iones.El estudio elásti o de grietas representa una área de difí il apli a ión para losmétodos de ontorno. La presen ia de una grieta en una estru tura da lugar a dostipos de di� ultades en el método, que on iernen al modelado de la estru tura y ala evalua ión del fa tor de intensidad de estrés [MA94℄.Las e ua iones duales, en las que se basa el método dual de elementos de ontorno(DBEM), son las e ua iones integrales de ontorno para los desplazamientos y lastra iones. En ausen ia de fuerzas sobre el uerpo, las integrales de ontorno paralos desplazamientos ui en un punto interno X 0, vienen dadas por:ui(X 0) + Z� Tij(X 0; x)uj(x)d�(x) = Z� Uij(X 0; x)tj(x)d�(x) (6.22)donde i y j son las omponentes artesianas y Tij(X 0; x) y Uij(X 0; x) representanlas solu iones fundamentales de Kelvin para las tra iones y desplazamientos, res-pe tivamente, en un punto x. La distan ia entre los puntos X 0 y x se denota por r.Las integrales de la e ua ión (6.22) son regulares siempre que r 6= 0. Si X 0 ! x0, esde ir al a er arnos desde el interior del uerpo a su ontorno, la distan ia r tiendea ero y, en el límite, las solu iones fundamentales muestran singularidades. Enparti ular, son fuertemente singulares de orden 1=r en Tij y débilmente singularesde orden ln(1=r) en Uij. Si asumimos la ontinuidad de los desplazamientos en x0,

Page 187: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.1. Formula ión del método de los elementos de ontorno 163este pro eso produ e, en la primera integral de la e ua ión (6.22), un salto en lostérminos de las omponentes del desplazamiento y una integral impropia. Para unpunto en el ontorno, la e ua ión (6.22) se puede es ribir omo: ij(x0)uj(x0) + Z��Tij(x0; x)ui(x)d�(x) = Z� Uij(x0; x)tj(x)d�(x) (6.23)donde la integral R� es la interpreta ión de Cau hy de la integral singular y los oe�- ientes ij(x0) vienen dados por Æij=2 para el punto x0 en el ontorno (Æij es la delta deKrone ker)[Por93℄. Esta e ua ión se denomina e ua ión integral de desplazamientode ontorno (BIE).Los problemas que involu ran volúmenes o áreas no degeneradas pueden ser re-sueltos usando la e ua ión (6.23). Sin embargo, si el uerpo bajo análisis ontieneuna grieta, es de ir, degenera iones, tanto internas omo bordeantes on la ara,que no in luyen área o volumen y a través de las uales el ampo desplazamiento esdis ontinuo, la apli a ión del método estándar da lugar a una degenera ión mate-máti a. Para evitar este problema, una segunda e ua ión ono ida omo la e ua iónintegral de tra ión de ontorno (TBIE):12tj(x0) + ni(x0) Z�= Skij(x0; x)uk(x)d�(x) = ni(x0) Z��Dkij(x0; x)tk(x)d�(x) (6.24)se apli a a una ara de la grieta, mientras la BIE (6.23) se usa en el resto delas aras. La integral R= es la interpreta ión de Hadamard de la integral singular[Por93℄. Esta té ni a es la base del llamadoMétodo Dual de Elementos de Contorno(DBEM) [CH99, PA92, MA92℄. Las e ua iones duales del método son las e ua ionesintegrales de desplazamiento (BIE) y de tra ión (TBIE). Cuando la e ua ión dedesplazamiento se apli a a una ara de la grieta y la de tra ión a la otra, losproblemas generales de grietas pueden ser resueltos on la formula ión de una regiónsimple. Esta estrategia no sólo satisfa e las ondi iones para la existen ia de integral�nita, sino que también evita el problema de la olo a ión en los extremos de lagrieta, en los posibles odos de la grieta y en las fronteras de la grieta on el uerpo.Los nú leos en la e ua ión TBIE (Skij(x0; x) y Dkij(x0; x)) son ombina ionesde las derivadas de los nú leos en la e ua ión BIE (Tij(x0; x) y Uij(x0; x)) y por lotanto su singularidad será un orden mayor. La evalua ión dire ta de estas integralessingulares no se puede evitar en problemas de grietas, lo que signi� a que es ne esa-rio el uso de interpreta iones de Cau hy y Hadamard para las integrales singulares,junto on iertas onsidera iones sobre la ontinuidad de los desplazamientos y lastra iones. La estrategia más general involu ra el uso de elementos dis ontinuos

Page 188: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

164 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turas uadráti os. Sin embargo, estos elementos son menos exa tos y, para grandes pro-blemas 3D de grietas, el número de grados de libertad de la solu ión de la matrizpuede ser prohibitivamente grande.En general, es más onveniente usar elementos ontinuos que dan lugar a matri esde oe� ientes más pequeñas. Un esquema numéri o para la solu ión de la e ua iónTBIE usando elementos ontinuos es el que propone Young [You96℄, donde se empleauna estrategia indire ta que involu ra el análisis de e ua iones integrales de ontornopara derivadas de los desplazamientos (BIDE). Este método es el que hemos usadoen la implementa ión que analizamos en este trabajo.6.2 Implementa ión paralela del método DBEMVarios trabajos han estudiado la paraleliza ión de diferentes métodos BEM [Kan94,PT94, RS94, SP94℄. El ódigo de los elementos de ontorno para ensamblar lase ua iones lineales es esen ialmente un triple lazo anidado. El lazo externo re orrelos nodos de olo a ión, el lazo intermedio re orre los elementos de ontorno, y ellazo interno re orre los puntos de Gauss. Una paraleliza ión de grano medio seobtiene tanto si distribuimos los nodos de olo a ión entre los pro esadores omosi distribuimos los elementos de ontorno. Cuando se distribuyen los nodos de olo a ión entre los pro esadores, las �las de las e ua iones se forman en paralelo.Si los elementos de ontorno son los que se distribuyen, enton es las olumnas delsistema de e ua iones son las que se forman en paralelo. Hemos de idido distribuirlos nodos de olo a ión entre los pro esadores porque, de este modo, se ompartenmás tareas entre los pro esadores y la e� ien ia del ódigo paralelo será mayor.Además, debido a que usamos elementos ontinuos, la paraleliza ión del lazo quere orre los elementos impli aría mayor número de omuni a iones.6.2.1 Té ni as de distribu iónLa implementa ión de las té ni as expuestas anteriormente es sen illa ex epto por elhe ho de que diferentes tipos de nodos de olo a ión requieren diferentes esfuerzos omputa ionales, debido al tratamiento de la grieta. Es, por tanto, ne esario prestaruna aten ión espe ial a la té ni a de distribu ión que se debe emplear. Hay nodosen el uerpo externo y nodos en la super� ie de la grieta, uya resolu ión impli adiferentes ostes omputa ionales. Estos nodos tienen que ser asignados ade ua-

Page 189: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.2. Implementa ión paralela del método DBEM 165tipo lo aliza ión del nodo lo aliza ión del elemento0 uerpo exterior/frente de la grieta uerpo exterior5 ara inferior de la grieta ara inferior de la grieta6 ara superior de la grieta ara superior de la grietaTabla 6.1: Tipos de nodos según su lo aliza ión en la malla, en el mar o dela implementa ión DBEMdamente entre los pro esadores para obtener un balan eo de la arga satisfa torio.Nosotros hemos bus ado esquemas de balan eo de arga generales (no dependientes on el problema), que supongan un oste de apli a ión despre iable.En la tabla 6.2.1 se muestran los diferentes tipos de nodos de olo a ión y deelementos de ontorno usados en la formula ión DBEM para el análisis elastostáti ode la grieta. Con estos tres tipos de nodos y usando las e ua iones de la formula iónque des ribimos en la se ión 6.1.2, un nodo se puede lo alizar en:� el frente de la grieta� la ara inferior de la grieta� la ara superior de la grieta� la unión entre la ara inferior de la grieta y el uerpo� una ara externaPara ada una de estas lo aliza iones, los esfuerzos omputa ionales que se requierenpara resolver los nú leos integrales son diferentes. Los más ostosos, desde el puntode vista omputa ional, son los nodos que se lo alizan en la ara inferior de la grieta,mientras que los menos ostosos son los que se en uentran en el uerpo exterior.Distribu ión por bloquesLa primera distribu ión que hemos probado ha sido la distribu ión por bloques de losnodos de olo a ión entre los pro esadores. Esta onsiste en parti ionar el onjuntode datos en bloques de igual tamaño. Para el problema que estamos tratando, es

Page 190: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

166 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turas laro que, on esta simple distribu ión, algunos pro esadores (aquellos que omputannodos en la grieta) a abarán on una mayor arga omputa ional, mientras que otrosne esitarán menos esfuerzo.Una solu ión a este problema podría ser dividir el onjunto de datos en bloquesde diferente tamaño, teniendo en uenta el oste omputa ional de los nodos en adabloque. Sin embargo, esto da lugar a resultados po o e� ientes, dado que es difí ilprede ir una buena distribu ión de la arga omputa ional a priori.Distribu iones í li asLa segunda prueba que hemos realizado ha sido usar una distribu ión í li a. Conesta aproxima ión los nodos de olo a ión se distribuyen í li amente entre los pro- esadores y es más probable que se onsiga una mejor distribu ión de la arga omputa ional que on la distribu ión por bloques, ya que los nodos de la grie-ta se distribuirán normalmente entre todos los pro esadores, debido a su lo alidadespa ial.Distribu ión í li a según el tipo de nodoPor último, proponemos un nuevo esquema que onsiste en distribuir los nodos de olo a ión í li amente pero teniendo en uenta el tipo de nodo que es ada uno. Esde ir, usamos diferentes distribu iones í li as para ada tipo de nodo de olo a ión.Esta distribu ión garantiza una mejor distribu ión de la arga entre los pro esa-dores, ya que los esfuerzos omputa ionales se distribuyen de forma equitativa entreellos. Una ventaja de esta distribu ión es que el balan eo de la arga no dependedel problema que estemos tratando.6.2.2 Redu iónUna vez que los datos se han distribuido, ada pro esador debe usarlos para om-putar el sistema de e ua iones. Con el esquema propuesto, las �las del sistema dee ua iones se forman en diferentes pro esadores. Durante esta etapa, no se ne esi-ta ninguna omuni a ión entre los pro esadores, pero posteriormente es ne esariosumar las ontribu iones de los diferentes pro esadores que al ulan una �la.

Page 191: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.2. Implementa ión paralela del método DBEM 167Los datos deben ser redu idos para ensamblar el sistema global de e ua iones.Se han usado en esta etapa las fun iones de redu ión de la librería de MPI. Laidea es juntar las �las formadas en ada pro esador y ensamblarlas en el sistema dee ua iones dis retizado.6.2.3 Evalua iónHemos implementado las distintas té ni as de distribu ión dis utidas anteriormentey los ódigos han sido probados tanto en un sistema multi omputador Cray T3E omo en un Fujitsu AP3000. Los resultados obtenidos en ambos multi omputadoresson similares. Para este aso presentamos los resultados en el AP3000.Hemos he ho una ompara ión entre las tres estrategias de distribu ión que he-mos analizado en el apartado anterior. Los problemas que hemos analizado son lossiguientes:� Problema 1. Grieta ir ular en un ilindro bajo tensión. El interés de esteproblema es ilustrar los resultados para una grieta interna en un uerpo (�gura6.3(a)).� Problema 2. T on grieta semielípti a exterior. En este aso estudiaremosel omportamiento de una grieta semielípti a exterior en una pieza on formade T (�gura 6.3(b)).� Problema 3. Pla a on grieta semielípti a exterior.. Este problema estudia el omportamiento de una grieta semielípti a exterior a una pla a (�gura 6.3( )).� Problema 4. Grieta en la super� ie de un ilindro bajo tensión. A travésde onsidera iones simétri as este problema se puede redu ir a un uarto del ilindro, omo se muestra en la �gura 6.3(d). El interés de este problema es laapli a ión de la formula ión DBEM uando la grieta se en uentra en onta to on la ara externa de uerpo, es de ir, uando algunos nodos se ompartenentre los elementos de la grieta y los elementos del uerpo.� Problema 5. Cre imiento de la grieta en la super� ie de un ilindro bajotensión. Este es un problema similar al anterior (�gura 6.3(d)) En realidad esun paso posterior en tiempo al problema anterior uando se está analizando el re imiento de la grieta.

Page 192: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

168 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turas

(a) (b)

( ) (d)Figura 6.3: (a) Grieta ir ular interna a un ilindro ; (b) T on grietasemielípti a exterior; ( ) pla a on grieta semielípti a exterior; (d) grieta enla super� ie de un uarto de ilindro.

Page 193: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.2. Implementa ión paralela del método DBEM 169pr1 pr2 pr3 pr4 pr5 pr6número total de nodos 268 446 614 752 800 1024número total de elementos 80 120 198 246 258 336elementos en las aras de la grieta 24 38 18 11 28 16nodos en la ara inferior de la grieta 41 61 41 26 42 36nodos en la ara superior de la grieta 41 61 41 26 42 36nodos en el frente de la grieta 16 24 16 13 19 14Tabla 6.2: Cara terísti as de los seis problemas que tratamos en este apítulo

1 2 3 4 5 6 7 810

20

30

40

50

60

70

80

90

100

n. procesadores

tiem

po(s

)

PROBLEMA 1

Bloque Cíclica Cíclica por tipo de nodo

(a) Tiempo de eje u ión 1 2 3 4 5 6 7 81

2

3

4

5

6

7

8

n. procesadores

acel

erac

ión

PROBLEMA 1

Ideal Bloque Cíclica Cíclica por tipo de nodo

(b) A elera iónFigura 6.4: Tiempo y a elera ión para el problema 1� Problema 6. Pla a on grieta exterior. Este problema es similar al ter ero(�gura 6.3( )) pero de dimensiones mayores.Las ara terísti as de estos problemas, en uanto al número y tipo de nodos yelementos, se muestran en la tabla 6.2.Los resultados en uanto al tiempo de eje u ión y la a elera ión que se obtienen on los problemas anteriores se muestran en las �guras 6.4, 6.5, 6.6, 6.7, 6.8 y 6.9,respe tivamente. Notar que las distribu iones í li as dan lugar a mejores resultadosque la distribu ión por bloques. Sin embargo, la distribu ión por bloques tambiénda lugar a buenos resultados de tiempo y a elera ión. Hay nodos en el uerpo ex-

Page 194: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

170 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turas

1 2 3 4 5 6 7 850

100

150

200

250

300

350

400

450

500

550

n. procesadores

tiem

po(s

)

PROBLEMA 2

Bloque Cíclica Cíclica por tipo de nodo

(a) Tiempo de eje u ión 1 2 3 4 5 6 7 81

2

3

4

5

6

7

8

n. procesadores

acel

erac

ión

PROBLEMA 2

Ideal Bloque Cíclica Cíclica por tipo de nodo

(b) A elera iónFigura 6.5: Tiempo y a elera ión para el problema 2terno, uyos requerimientos omputa ionales para formar el sistema de e ua ionesson menores que los de aquellos que pertene en a la grieta. Esto es lo que provo aque las distribu iones í li as obtengan mejor balan eo de la arga entre los pro e-sadores. Además, puesto que los nodos en diferentes aras de la grieta dan lugar adiferente arga omputa ional, el nuevo esquema de distribu ión í li a según el tipode nodo onsigue ligeramente mejores resultados que la distribu ión í li a estándar,debido a que la arga se distribuye equitativamente entre los pro esadores. Aunquela diferen ia entre ambas distribu iones es pequeña en estos ejemplos, se puedenen ontrar asos donde la diferen ia sea mayor, debido a la geometría del problemay, espe ialmente, a la numera ión de los nodos.6.3 Resolu ión de los sistemas de e ua ionesUna vez que se han formado las e ua iones, el siguiente paso es resolver el sistemalineal. Durante los apítulos previos hemos tratado exhaustivamente métodos deresolu ión, tanto dire tos omo iterativos, para matri es densas, así omo sus imple-menta iones paralelas. Hemos propuesto, además, un nuevo esquema de resolu iónpara el aso en que las matri es densas posean degenera iones que hagan imposiblela apli a ión de las transformadas wavelet lási as para obtener una versión dispersade las mismas.

Page 195: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.3. Resolu ión de los sistemas de e ua iones 171

1 2 3 4 5 6 7 820

40

60

80

100

120

140

160

180

200

220

n. procesadores

tiem

po(s

)

PROBLEMA 3

Bloque Cíclica Cíclica por tipo de nodo

(a) Tiempo de eje u ión 1 2 3 4 5 6 7 81

2

3

4

5

6

7

8

n. procesadores

acel

erac

ión

PROBLEMA 3

Ideal Bloque Cíclica Cíclica por tipo de nodo

(b) A elera iónFigura 6.6: Tiempo y a elera ión problema 3

1 2 3 4 5 6 7 850

100

150

200

250

300

350

400

n. procesadores

tiem

po(s

)

PROBLEMA 4

Bloque Cíclica Cíclica por tipo de nodo

(a) Tiempo de eje u ión 1 2 3 4 5 6 7 81

2

3

4

5

6

7

8

n. procesadores

acel

erac

ión

PROBLEMA 4

Ideal Bloque Cíclica Cíclica por tipo de nodo

(b) A elera iónFigura 6.7: Tiempo y a elera ión problema 4

Page 196: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

172 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turas

1 2 3 4 5 6 7 850

100

150

200

250

300

350

400

450

500

n. procesadores

tiem

po(s

)

PROBLEMA 5

Bloque Cíclica Cíclica por tipo de nodo

(a) Tiempo de eje u ión 1 2 3 4 5 6 7 81

2

3

4

5

6

7

8

n. procesadores

acel

erac

ión

PROBLEMA 5

Ideal Bloque Cíclica Cíclica por tipo de nodo

(b) A elera iónFigura 6.8: Tiempo y a elera ión problema 5

1 2 3 4 5 6 7 850

100

150

200

250

300

350

400

450

500

550

n. procesadores

tiem

po(s

)

PROBLEMA 6

Bloque Cíclica Cíclica por tipo de nodo

(a) Tiempo de eje u ión 1 2 3 4 5 6 7 81

2

3

4

5

6

7

8

n. procesadores

acel

erac

ión

PROBLEMA 6

Ideal Bloque Cíclica Cíclica por tipo de nodo

(b) A elera iónFigura 6.9: Tiempo y a elera ión problema 6

Page 197: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.3. Resolu ión de los sistemas de e ua iones 173En lo que resta de apítulo nos dedi aremos a resolver los sistemas obtenidosmediante el pro edimiento expuesto en la se ión 6.2 utilizando tanto los métodositerativos on el produ to 2W-MatVe , que se des ribe en la se ión 4.3, omo losnuevos pre ondi ionadores de tipo SPAI que hemos propuesto.6.3.1 Métodos iterativos usando el produ to 2W-MatVe En esta se ión se muestran resultados experimentales sobre problemas reales quesurgen del análisis de re imiento de grietas. Los problemas que se emplean son losque hemos des rito en el apartado 6.2.3. En la tabla 6.3 se muestra el número de �lastotales y el número de �las que se han omprimido para ada uno de los problemas.El número de �las totales resulta ser 3 ve es el número de nodos del problema, dadoque por ada nodo obtenemos 3 e ua iones distintas en la formula ión dual BEM.En la tabla 6.4 se muestra el número de elementos no nulos que se obtienendespués de la transforma ión de la zona suave de la matriz de oe� ientes on laswavelets de Haar y Daube hies usando un nivel de transforma ión 2. Utilizamoseste nivel de transforma ión porque obtiene una buena rela ión oste de la wave-let/ganan ia en los resultados. Un nivel superior supondría un aumento en el ostede la transforma ión que no se vería ompensado on la ganan ia en la resolu ióndel sistema. En esta tabla se muestra también el grado de dispersión que se obtienesi usamos las transformadas wavelet. El grado de dispersión se ha al ulado omo el o iente entre el número de elementos nulos de la matriz transformada y el númerode entradas ini iales de la matriz densa, y lo mostramos en tanto por ien (es de ir,(N2 � nnz) � 100=N2).La ganan ia que se obtiene en la resolu ión del sistema mediante el uso de wa-velets se ve ondi ionada, entre otros, por los siguientes parámetros:� Tamaño de la zona densa que no se puede omprimir. En on reto, dependeráde la rela ión entre el tamaño de la zona on degenera iones y el tamaño totalde la matriz de oe� ientes.� Por entaje de dispersión que se obtiene en la zona que se omprime. Cuantomenor sea el número de no�nulos que se obtiene, mayor velo idad se obtendráen el produ to matriz�ve tor de la zona omprimida que ompensará el ostede las transformadas unidimensionales que es ne esario introdu ir en adaitera ión.

Page 198: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

174 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turasproblema n. �las totales n. �las zona uniformepr1 804 512pr2 1338 960pr3 1842 1408pr4 2256 2048pr5 2400 2048pr6 3072 2752Tabla 6.3: Número de �las totales y número de �las que se omprimen para ada uno de los problemas.Sin omprimir Haar (nivel 2) D4 (nivel 2)problema nnz nnz % nnz %pr1 411648 48209 88.28 34452 91.63pr2 1284480 206477 83.92 179487 86.02pr3 2593536 316040 87.81 169976 93.44pr4 4620288 340570 92.62 331425 92.82pr5 4915200 291629 94.06 152410 96.89pr6 8454144 463287 94.52 311112 96.32Tabla 6.4: Resultados de número de no�nulos y dispersión para la zona quese omprime.En la tabla 6.5 se muestran los resultados de tiempo de omputa ión y a elera iónpara el produ to matriz�ve tor utilizando el esquema 2W�MatVe (in luidas lastransformadas unidimensionales) y el produ to matriz densa�ve tor. La a elera iónse de�ne omo: Sp(N) = T �(N)Tp(N) ; (6.25)donde T �(N) es siempre el tiempo de CPU para el algoritmo denso se uen ial, Tp(N)es el tiempo de CPU para el algoritmo paralelo (tanto el del algoritmo denso omoel del nuevo esquema propuesto), N es el tamaño del problema y p es el número depro esadores usados. Los resultados que se muestran han sido tomados en un CrayT3E.

Page 199: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.3. Resolu ión de los sistemas de e ua iones 175MatVe produ to 2W�MatVe denso Haar (nivel2) D4 (nivel 2)problema #PE. t(s) a el. t(s) a el. t(s) a el.pr1 1 8.57�10�03 1.00 6.67�10�03 1.28 5.94�10�03 1.442 4.44�10�03 1.93 3.70�10�03 2.31 3.47�10�03 2.474 2.41�10�03 3.56 2.25�10�03 3.80 2.43�10�03 3.538 1.35�10�03 6.35 2.57�10�03 3.33 2.52�10�03 3.40pr2 1 2.22�10�02 1.00 1.80�10�02 1.23 1.61�10�02 1.382 1.14�10�02 1.95 1.06�10�02 2.09 9.75�10�03 2.284 5.96�10�03 3.72 5.67�10�03 3.92 5.19�10�03 4.288 3.22�10�03 6.89 3.76�10�03 5.90 2.23�10�03 6.87pr3 1 4.42�10�02 1.00 3.16�10�02 1.40 2.22�10�02 1.992 2.47�10�02 1.79 1.65�10�02 2.68 1.16�10�02 3.814 1.22�10�02 3.62 9.35�10�03 4.73 6.46�10�03 6.848 6.16�10�03 7.18 5.78�10�03 7.64 4.72�10�03 9.36pr4 1 7.19�10�02 1.00 2.55�10�02 2.82 2.33�10�02 3.082 3.70�10�02 1.94 1.20�10�02 5.99 1.13�10�02 6.364 1.55�10�02 4.64 7.04�10�03 10.21 6.87�10�03 10.468 8.36�10�03 8.60 5.15�10�03 13.96 4.88�10�03 14.73pr5 1 8.48�10�02 1.00 2.77�10�02 3.06 2.23�10�02 3.802 4.13�10�02 2.05 1.52�10�02 5.58 1.31�10�02 6.474 2.03�10�02 4.18 8.01�10�03 10.58 6.94�10�03 12.228 9.38�10�03 9.04 6.52�10�03 13.00 4.52�10�03 18.76pr6 1 1.88�10�01 1.00 3.24�10�02 5.80 2.71�10�02 6.942 6.92�10�02 2.71 1.83�10�02 10.27 1.22�10�02 15.404 3.03�10�02 6.20 9.22�10�03 20.39 7.39�10�03 25.458 1.47�10�02 12.79 6.42�10�03 29.28 5.97�10�03 31.49Tabla 6.5: Resultados de tiempo y a elera ión para el produ to matriz�ve tor. Compara ión entre el produ to 2W-MatVe y el produ to matrizdensa�ve tor.Las �guras de la 6.10 a la 6.15 muestran grá� amente estos resultados de tiempoy a elera ión. Notar, por ejemplo, que el problema 4 obtiene un grado de dispersiónpare ido al usar la wavelet de Haar y la wavelet D4, por eso la ganan ia que se obtieneusando las dos wavelets es pare ida. Todo lo ontrario su ede on el problema 3,

Page 200: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

176 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turas

1 2 3 4 5 6 7 81

2

3

4

5

6

7

8

9x 10

−3

n. procesadores

tiem

po(s

)MATVEC − PROBLEMA 1

Denso Disperso − HAAR (NIVEL 2)Disperso − D4 (NIVEL 2)

(a) Tiempo de eje u ión 1 2 3 4 5 6 7 81

2

3

4

5

6

7

n. procesadores

acel

erac

ión

MATVEC − PROBLEMA 1

Denso Disperso − HAAR (NIVEL 2)Disperso − D4 (NIVEL 2)

(b) A elera iónFigura 6.10: Tiempo de eje u ión y a elera ión del produ to matriz�ve torparalelo sobre el se uen ial denso para el problema 1que obtiene un mayor grado de dispersión on la wavelet D4 que on la wavelet deHaar, y, por tanto, la diferen ia de ganan ia entre el uso de esas dos wavelets esmayor. En general, al aumentar las dimensiones del problema la ganan ia obtenidaes mayor, omo se puede apre iar en el aso del problema 6.El problema 2 obtiene un grado de dispersión menor que los restantes problemasy, por eso, el tiempo de eje u ión usando el esquema propuesto, aunque mejor queel denso, está próximo a él.En las tablas 6.6, 6.7 y 6.8 se muestran los resultados de tiempo de omputa ióny a elera ión, usando tanto el produ to matriz densa�ve tor omo el produ to 2W�MatVe que nosotros proponemos, en los métodos GMRES(1), BiCGSTAB y CGS,respe tivamente. Para el problema 6 no se ha podido eje utar el ódigo denso ense uen ial, ya que, debido al tamaño de la matriz de oe� ientes, no se onsiguereservar su� iente memoria. Para este problema hemos al ulado la a elera ión omo: Sp(N) = 2T �2 (N)Tp(N) ; (6.26)donde T �2 (N) es el tiempo de CPU para el algoritmo denso paralelo eje utado endos pro esadores. Para todos los demás problemas la a elera ión se al ula omo se

Page 201: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.3. Resolu ión de los sistemas de e ua iones 177

1 2 3 4 5 6 7 80

0.005

0.01

0.015

0.02

0.025

n. procesadores

tiem

po(s

)MATVEC − PROBLEMA 2

Denso Disperso − HAAR (NIVEL 2)Disperso − D4 (NIVEL 2)

(a) Tiempo de eje u ión 1 2 3 4 5 6 7 81

2

3

4

5

6

7

n. procesadores

acel

erac

ión

MATVEC − PROBLEMA 2

Denso Disperso − HAAR (NIVEL 2)Disperso − D4 (NIVEL 2)

(b) A elera iónFigura 6.11: Tiempo de eje u ión y a elera ión del produ to matriz�ve torparalelo sobre el se uen ial denso para el problema 2

1 2 3 4 5 6 7 80

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

0.045

n. procesadores

tiem

po(s

)

MATVEC − PROBLEMA 3

Denso Disperso − HAAR (NIVEL 2)Disperso − D4 (NIVEL 2)

(a) Tiempo de eje u ión 1 2 3 4 5 6 7 81

2

3

4

5

6

7

8

9

10

n. procesadores

acel

erac

ión

MATVEC − PROBLEMA 3

Denso Disperso − HAAR (NIVEL 2)Disperso − D4 (NIVEL 2)

(b) A elera iónFigura 6.12: Tiempo de eje u ión y a elera ión del produ to matriz�ve torparalelo sobre el se uen ial denso para el problema 3

Page 202: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

178 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turas

1 2 3 4 5 6 7 80

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

n. procesadores

tiem

po(s

)

MATVEC − PROBLEMA 4

Denso Disperso − HAAR (NIVEL 2)Disperso − D4 (NIVEL 2)

(a) Tiempo de eje u ión 1 2 3 4 5 6 7 80

5

10

15

n. procesadores

acel

erac

ión

MATVEC − PROBLEMA 4

Denso Disperso − HAAR (NIVEL 2)Disperso − D4 (NIVEL 2)

(b) A elera iónFigura 6.13: Tiempo de eje u ión y a elera ión del produ to matriz�ve torparalelo sobre el se uen ial denso para el problema 4

1 2 3 4 5 6 7 80

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

n. procesadores

tiem

po(s

)

MATVEC − PROBLEMA 5

Denso Disperso − HAAR (NIVEL 2)Disperso − D4 (NIVEL 2)

(a) Tiempo de eje u ión 1 2 3 4 5 6 7 80

2

4

6

8

10

12

14

16

18

20

n. procesadores

acel

erac

ión

MATVEC − PROBLEMA 5

Denso Disperso − HAAR (NIVEL 2)Disperso − D4 (NIVEL 2)

(b) A elera iónFigura 6.14: Tiempo de eje u ión y a elera ión del produ to matriz�ve torparalelo sobre el se uen ial denso para el problema 5

Page 203: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.3. Resolu ión de los sistemas de e ua iones 179

1 2 3 4 5 6 7 80

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0.2

n. procesadores

time(

s)

MATVEC − PROBLEMA 6

Denso Disperso − HAAR (NIVEL 2)Disperso − D4 (NIVEL 2)

(a) Tiempo de eje u ión 1 2 3 4 5 6 7 80

5

10

15

20

25

30

35

n. procesadores

acel

erac

ión

MATVEC − PROBLEMA 6

Denso Disperso − HAAR (NIVEL 2)Disperso − D4 (NIVEL 2)

(b) A elera iónFigura 6.15: Tiempo de eje u ión y a elera ión del produ to matriz�ve torparalelo sobre el se uen ial denso para el problema 6indi aba en la e ua ión (6.25).Los problemas reales que estamos tratando son muy mal ondi ionados. Losmétodos BiCGSTAB y CGS, omo ya apuntábamos en apítulos anteriores, aunqueválidos para matri es no�simétri as, suelen presentar una rela ión de onvergen iamás pobre que el método GMRES. Para estos problemas en uestión no al anzan elgrado de toleran ia (10�10) que se requiere. Sin embargo, mostramos en las tablaslos resultados para un número �jo de itera iones, lo que da una idea de la evolu iónde estos métodos usando el produ to 2W�MatVe en ompara ión on el método lási o denso.Los resultados obtenidos son similares a los que veíamos en el apítulo 4 para lasmatri es de prueba. El método que proponemos onsigue resolver satisfa toriamenteestos problemas reales que presentan zonas on degenera iones. Hay que desta ar,además, que el esquema utilizando el produ to 2W�MatVe es espe ialmente útil uando las dimensiones del problema ha en que este sea inabordable por el método lási o en se uen ial, omo, por ejemplo, el problema 6. Los problemas que mos-tramos aquí se han es ogido de forma que el tamaño de las matri es de oe� ienteses re iente, desde el problema 1 al problema 6. Esto permite observar, por ejem-plo, que los resultados de a elera ión obtenidos mejoran al aumentar el tamaño del

Page 204: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

180 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turasDenso Haar (nivel2) D4 (nivel 2)problema #PE. t(s) a el. t(s) a el. t(s) a el.pr1 1 4.39 1.00 3.85 1.14 3.58 1.23(269 iter) 2 2.60 1.69 2.30 1.91 2.28 1.934 1.63 2.69 1.80 2.44 1.78 2.478 1.09 4.03 1.26 3.48 1.25 3.51pr2 1 28.98 1.00 26.74 1.08 24.32 1.19(578 iter) 2 16.95 1.71 13.92 2.08 12.50 2.324 9.28 3.12 8.79 3.30 8.12 3.578 6.91 4.19 7.52 3.85 7.40 3.92pr3 1 98.15 1.00 93.64 1.05 86.42 1.14(935 iter) 2 39.26 2.50 38.82 2.53 34.56 2.844 20.13 4.88 21.64 4.54 18.19 5.408 11.18 8.78 12.96 7.57 12.12 8.10pr4 1 240.71 1.00 220.22 1.09 218.28 1.10(1366 iter) 2 75.22 3.20 68.81 3.50 65.12 3.704 36.69 6.56 32.77 7.35 29.98 8.038 20.38 11.81 21.01 11.46 20.72 11.62pr5 1 118.56 1.00 80.04 1.48 72.74 1.63(790 iter) 2 39.33 3.01 39.02 3.04 34.85 3.404 19.59 6.05 19.21 6.17 18.65 6.368 10.92 10.86 11.33 10.46 11.09 10.69pr6 1 y y 38.87 2.19 31.58 2.69(389 iter) 2 42.54 2.00 20.76 4.09 16.80 5.074 19.59 6.05 11.92 7.14 9.77 8.718 10.92 10.86 7.25 11.74 6.22 13.67Tabla 6.6: Resultados de tiempo y a elera ión usando el método GMRES(1).problema, tanto para el aso denso omo para la resolu ión dispersa. Esto se debea que on problemas mayores la rela ión entre la antidad de trabajo realizado en ada pro esador y las omuni a iones ne esarias mejora.Comentábamos anteriormente que el tamaño de la zona que no se omprimein�uye en la ganan ia que se obtiene utilizando el método que usa el produ to 2W�MatVe . En las tablas 6.6, 6.7 y 6.8 se puede ver que los resultados para la waveletHaar de nivel 2, en términos de a elera ión, son mejores para el problema 4 que parael problema 5. El grado de dispersión que se obtiene para estos dos problemas esligeramente menor para el problema 4, pero la zona on degenera iones es mayor en elproblema 5, puesto que este problema surge de analizar un paso posterior en tiempo

Page 205: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.3. Resolu ión de los sistemas de e ua iones 181Denso Haar (nivel2) D4 (nivel 2)problema #PE. t(s) a el. t(s) a el. t(s) a el.pr1 1 3.70 1.00 2.92 1.27 2.62 1.41(200 iter) 2 1.96 1.89 1.70 2.18 1.61 2.304 1.21 3.06 1.13 3.27 1.11 3.338 0.74 5.00 1.20 3.08 1.27 2.91pr2 1 9.39 1.00 7.71 1.22 7.01 1.34(200 iter) 2 5.19 1.81 4.90 1.92 4.10 2.294 2.95 3.18 2.52 3.73 2.38 3.958 1.66 5.66 1.79 5.25 1.82 5.16pr3 1 18.31 1.00 13.41 1.37 9.57 1.91(200 iter) 2 10.21 1.79 7.01 2.61 4.97 3.684 5.39 3.40 3.93 4.66 2.76 6.638 2.92 6.27 2.81 6.52 2.11 8.68pr4 1 29.32 1.00 13.57 2.16 13.20 2.22(200 iter) 2 15.11 1.94 6.73 4.36 6.05 4.854 7.42 3.95 3.75 7.82 3.43 8.558 4.05 7.23 2.41 12.17 2.38 12.32pr5 1 34.80 1.00 15.05 2.31 9.93 3.50(200 iter) 2 17.81 1.95 8.01 4.34 5.52 6.304 8.63 4.03 4.90 7.10 3.03 11.498 4.48 7.77 3.09 11.26 2.11 16.49pr6 1 y y 13.62 4.51 10.92 5.63(200 iter) 2 30.77 2.00 8.09 7.60 6.83 9.014 14.27 4.31 3.98 15.46 3.48 17.688 7.45 8.26 3.26 18.88 2.52 24.42Tabla 6.7: Resultados de tiempo y a elera ión usando el método BiCGSTAB.al problema 4 en el re imiento de la grieta. La zona que se transforma mediantewavelets tiene el mismo número de �las para ambos problemas. Sin embargo, lazona que no omprimimos es mayor en el problema 5, es de ir, su peso en el tiempone esario para resolver el problema también es mayor.Las �guras de la 6.16 a la 6.21 muestran la a elera ión y e� ien ia que se onsigueusando las transformadas wavelet frente al método lási o. La e� ien ia viene dadapor: Ep(N) = Sp(N)=pEn estas �guras observamos de nuevo que la a elera ión del nuevo esquema no re e omo lo ha e la del resolutor denso. En parte se debe a las indire iones

Page 206: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

182 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turasDenso Haar (nivel2) D4 (nivel 2)problema #PE. t(s) a el. t(s) a el. t(s) a el.pr1 1 3.68 1.00 2.89 1.27 2.59 1.42(200 iter) 2 1.95 1.89 1.68 2.19 1.58 2.334 1.19 3.09 1.11 3.32 1.08 3.418 0.72 5.11 1.24 2.97 1.24 2.97pr2 1 9.38 1.00 7.79 1.20 7.54 1.24(200 iter) 2 5.18 1.81 4.93 1.90 4.14 2.274 2.92 3.21 2.57 3.65 2.36 3.978 1.65 5.68 1.80 5.21 1.87 5.02pr3 1 18.30 1.00 13.39 1.37 9.54 1.92(200 iter) 2 10.14 1.80 6.93 2.64 4.92 3.724 5.34 3.43 3.87 4.73 2.71 6.758 2.89 6.33 2.78 6.58 2.09 8.76pr4 1 29.29 1.00 13.55 2.16 13.18 2.22(200 iter) 2 15.08 1.94 6.70 4.37 6.07 4.834 7.31 4.01 3.69 7.94 3.41 8.598 3.99 7.34 2.39 12.26 2.38 12.31pr5 1 34.32 1.00 15.01 2.29 10.92 3.14(200 iter) 2 17.69 1.94 7.92 4.33 5.75 5.974 8.58 4.00 4.88 7.03 3.11 11.048 4.26 8.06 2.93 11.71 2.07 16.58pr6 1 y y 13.35 4.60 10.86 5.66(200 iter) 2 30.73 2.00 7.94 7.74 6.74 9.124 14.22 4.32 3.81 16.13 3.23 19.038 7.41 8.29 3.19 19.26 2.48 24.78Tabla 6.8: Resultados de tiempo y a elera ión usando el método CGS.que introdu e el alma enamiento disperso, que tienen mayor importan ia sobre eltiempo de eje u ión uando se tienen menos entradas de la matriz (por ejemplo,al repartir el trabajo entre más pro esadores). Por otra parte, in�uye también eltamaño de la zona omprimida en rela ión al tamaño total de la matriz. Si la zonaque se omprime es pequeña la mejora que obtenemos debido a la dispersión de lamatriz puede no ompensar las transformadas unidimensionales en ada itera ión.Re ordemos además que, aunque nuestra distribu ión intenta balan ear la argaasignando la zona dispersa y la zona densa por separado entre todos los pro esado-res, existe un problema on el balan eo de la arga en la zona dispersa, ya que latransformada se realiza in situ y no es posible determinar a priori donde se situarán

Page 207: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.3. Resolu ión de los sistemas de e ua iones 183

1 2 3 4 5 6 7 81

1.5

2

2.5

3

3.5

4

4.5

n. procesadores

acel

erac

ión

GMRES − PROBLEMA 1

Denso Haar−nivel2D4−nivel2 (a) A elera ión 1 2 3 4 5 6 7 8

0.4

0.5

0.6

0.7

0.8

0.9

1

1.1

1.2

1.3

n. procesadores

efic

ienc

ia

GMRES − PROBLEMA 1

Denso Haar−nivel2D4−nivel2

(b) E� ien iaFigura 6.16: A elera ión y e� ien ia del esquema paralelo sobre el se uen ialdenso para el problema 1

1 2 3 4 5 6 7 81

1.5

2

2.5

3

3.5

4

4.5

n. procesadores

acel

erac

ión

GMRES − PROBLEMA 2

Denso Haar−nivel2D4−nivel2 (a) A elera ión 1 2 3 4 5 6 7 8

0.4

0.5

0.6

0.7

0.8

0.9

1

1.1

1.2

1.3

n. procesadores

efic

ienc

ia

GMRES − PROBLEMA 2

Denso Haar−nivel2D4−nivel2

(b) E� ien iaFigura 6.17: A elera ión y e� ien ia del esquema paralelo sobre el se uen ialdenso para el problema 2

Page 208: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

184 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turas

1 2 3 4 5 6 7 81

2

3

4

5

6

7

8

9

n. procesadores

acel

erac

ión

GMRES − PROBLEMA 3

Denso Haar−nivel2D4−nivel2 (a) A elera ión 1 2 3 4 5 6 7 8

0.9

1

1.1

1.2

1.3

1.4

1.5

n. procesadores

efic

ienc

ia

GMRES − PROBLEMA 3

Denso Haar−nivel2D4−nivel2

(b) E� ien iaFigura 6.18: A elera ión y e� ien ia del esquema paralelo sobre el se uen ialdenso para el problema 3los no�nulos. Esto no o urre en el sistema denso, puesto que el número de datoses ono ido a priori y no sufre varia ión durante el pro eso de resolu ión, de formaque la distribu ión estáti a es siempre óptima. El balan eo de la arga empeoraa medida que aumentamos el número de pro esadores. Todos estos motivos ha enque la resolu ión densa a abe al anzando a la resolu ión empleando transformadaswavelet.En el aso del método GMRES, omo ya se omentó en el apítulo 4, al aumentarel número de itera iones internas la antidad de trabajo y de memoria requeridaaumenta. La onstru ión de la matriz de Hessenberg se realiza de forma se uen ial,de forma que uantas más itera iones se ne esiten para al anzar la onvergen ia,el trabajo se uen ial también será mayor, lo que mar a un límite superior a laa elera ión del sistema paralelo. Este es el motivo por el ual el problema 2 a abaobteniendo un mejor omportamiento, a la vista de las grá� as 6.17 y 6.18, que elproblema 3 (que ne esita mu has más itera iones para onverger), a pesar de queini ialmente presenta un grado de dispersión menor.Si la parte paralela del método sufre además los problemas de balan eo e indi-re iones que omentábamos antes, el método de resolu ión denso al anzará antesal método que utiliza el produ to 2W�MatVe . Este omportamiento puede ser

Page 209: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.3. Resolu ión de los sistemas de e ua iones 185

1 2 3 4 5 6 7 80

2

4

6

8

10

12

n. procesadores

acel

erac

ión

GMRES − PROBLEMA 4

Denso Haar−nivel2D4−nivel2 (a) A elera ión 1 2 3 4 5 6 7 8

1

1.5

2

n. procesadores

efic

ienc

ia

GMRES − PROBLEMA 4

Denso Haar−nivel2D4−nivel2

(b) E� ien iaFigura 6.19: A elera ión y e� ien ia del esquema paralelo sobre el se uen ialdenso para el problema 4

1 2 3 4 5 6 7 81

2

3

4

5

6

7

8

9

10

11

n. procesadores

acel

erac

ión

GMRES − PROBLEMA 5

Denso Haar−nivel2D4−nivel2 (a) A elera ión 1 2 3 4 5 6 7 8

1

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.8

n. procesadores

efic

ienc

ia

GMRES − PROBLEMA 5

Denso Haar−nivel2D4−nivel2

(b) E� ien iaFigura 6.20: A elera ión y e� ien ia del esquema paralelo sobre el se uen ialdenso para el problema 5

Page 210: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

186 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turas

1 2 3 4 5 6 7 82

4

6

8

10

12

14

n. procesadores

acel

erac

ión

GMRES − PROBLEMA 6

Denso Haar−nivel2D4−nivel2

(a) A elera ión 1 2 3 4 5 6 7 81

1.2

1.4

1.6

1.8

2

2.2

2.4

2.6

2.8

n. procesadores

efic

ienc

ia

GMRES − PROBLEMA 6

Denso Haar−nivel2D4−nivel2

(b) E� ien iaFigura 6.21: A elera ión y e� ien ia del esquema paralelo sobre el se uen ialdenso para el problema 6muy importante en el método GMRES(1). Si utilizamos el parámetro de reini- io salvamos este in onveniente, puesto que la matriz de Hessenberg que se reaen ada itera ión externa del método tendrá un tamaño pequeño y por tanto laparte se uen ial del método tendrá menos peso sobre el tiempo total de resolu ión.Desgra iadamente, en los ejemplos que mostramos aquí los problemas son muy mal ondi ionados y no onvergen on reini ios pequeños. El he ho de que todos estosproblemas ne esiten tantas itera iones para onverger, ha e que la parte paralela(utilizando el método GMRES(1)) se vea mermada en el por entaje del tiempototal, ya que la matriz de Hessenberg se ha e muy grande. Sin embargo, para otrosproblemas mejor ondi ionados, que puedan utilizar reini io o que al an en onver-gen ia on otros métodos iterativos, omo BiCGSTAB o CGS (que no presentaneste problema), la es alabilidad del método disperso no se verá tan afe tada.Las grá� as de la e� ien ia de los métodos sobre ada uno de los problemasanteriores muestran que, a medida que el tamaño del problema re e, la de isión deutilizar sistemas paralelos se ve justi� ada por los resultados obtenidos. Si la matrizes grande y densa, no podrá ser ubi ada en la memoria a hé y se requerirán mu hosa esos a memoria prin ipal durante la resolu ión del sistema (fallos de apa idad),lo que enlente e el pro eso. Esto podría agravarse si no upiese en la memoriaprin ipal, puesto que se tendría que a eder al dis o. El transformar la matriz

Page 211: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.3. Resolu ión de los sistemas de e ua iones 187densa a dispersa alivia este problema, pero todavía queda una zona de la matriz sintransformar. El empleo de un sistema paralelo supone repartir el problema y onello la matriz de oe� ientes, entre los pro esadores utilizados. Como se puede veraquí, las matri es de oe� ientes para problemas que surgen de las formula ionesde elementos de ontorno tienen tamaños onsiderables, in luso uando se trata deproblemas sen illos. Esto ha e que sea más atra tiva todavía la ganan ia que losmétodos que proponemos onsiguen en uanto a ahorro de memoria.6.3.2 Evalua ión de los pre ondi ionadoresEn esta se ión mostramos resultados experimentales utilizando los pre ondi iona-dores propuestos en el apítulo 5 sobre los problemas reales tratados en las se ionesanteriores. Mostramos los resultados para los in o primeros problemas, puesto quela onstru ión de estos pre ondi ionadores ne esita reservar memoria, además depara la matriz densa A, para el pre ondi ionador, y no ha sido posible eje utar los ódigos para el problema 6 utilizando 1 y 2 pro esadores.Los pre ondi ionadores que evaluamos son las aproxima iones inversas dispersas(SPAI) usando las heurísti as tratadas en el apítulo anterior para la de�ni ión desu patrón de dispersión.La tabla 6.9 muestra resultados de tiempo de eje u ión y a elera ión para la onstru ión de ada uno de los pre ondi ionadores. Para el problema 1 no se puedegenerar la aproximada inversa usando la heurísti a que usa la transformada wavelet,debido a que alguna de las submatri es que se generan durante la onstru iónresulta singular.Los resultados de esta tabla muestran que, en general, el tiempo que requiere la onstru ión de estos pre ondi ionadores es pequeño. Por ejemplo, la onstru ióndel pre ondi ionador SPAI�W(D4-2) que resulta ser el más ostoso, para el problema5 supone sólo un 5% de la resolu ión del sistema; por su parte, para ese mismoproblema, la onstru ión del SPAI�Banda(1) supone un 0.15%. Sin embargo, tododepende de la heurísti a elegida, y más on retamente del patrón de dispersión quese obtenga on el uso de esa heurísti a. Para el pre ondi ionador SPAI�banda, elpatrón de dispersión es siempre igual, de forma que no hay grandes diferen ias al onstruir el pre ondi ionador para diferentes matri es de oe� ientes. Sin embargo,para el resto de heurísti as el patrón que se obtiene dependerá de la matriz de oe� ientes del problema sobre el que se apli a, y los resultados para la onstru ión

Page 212: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

188 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turasCONSTRUCCIÓNN. de pro esadores1 2 4 8matriz pre ondi ionador t(s) t(s) a el. t(s) a el. t(s) a el.pr1 SPAI�banda(1) 0.021 0.011 1.86 0.006 3.63 0.003 6.79SPAI�banda(3) 0.025 0.013 1.87 0.007 3.58 0.004 6.63SPAI�banda(5) 0.035 0.018 1.90 0.010 3.63 0.005 6.76SPAI�EM 0.200 0.130 1.54 0.092 2.17 0.059 3.39SPAI�VM 0.028 0.014 1.91 0.007 3.72 0.004 6.91SPAI�W(D4-2) y y y y y y ypr2 SPAI�banda(1) 0.060 0.031 1.94 0.017 3.53 0.009 6.90SPAI�banda(3) 0.067 0.035 1.90 0.019 3.53 0.010 6.98SPAI�banda(5) 0.830 0.450 1.84 0.230 3.61 0.127 6.54SPAI�EM 0.608 0.324 1.88 0.234 2.60 0.157 3.88SPAI�VM 0.070 0.039 1.79 0.020 3.50 0.011 6.36SPAI�W(D4-2) 2.070 1.357 1.53 1.034 2.00 0.658 3.15pr3 SPAI�banda(1) 0.110 0.056 1.97 0.030 3.67 0.017 6.55SPAI�banda(3) 0.117 0.061 1.93 0.032 3.70 0.017 6.77SPAI�banda(5) 0.138 0.072 1.92 0.039 3.57 0.021 6.61SPAI�EM 1.520 0.876 1.74 0.485 3.13 0.438 3.47SPAI�VM 0.125 0.065 1.93 0.035 3.58 0.019 6.61SPAI�W(D4-2) 4.190 2.170 1.93 1.150 3.64 0.640 6.55pr4 SPAI�banda(1) 0.159 0.087 1.83 0.045 3.52 0.026 6.07SPAI�banda(3) 0.171 0.096 1.78 0.050 3.43 0.029 5.92SPAI�banda(5) 0.198 0.110 1.80 0.056 3.53 0.030 6.56SPAI�EM 2.840 1.490 1.91 0.800 3.55 0.420 6.76SPAI�VM 0.188 0.098 1.92 0.053 3.54 0.029 6.47SPAI�W(D4-2) 5.460 2.880 1.90 1.530 3.57 0.870 6.28pr5 SPAI�banda(1) 0.179 0.101 1.77 0.056 3.21 0.041 4.34SPAI�banda(3) 0.192 0.109 1.76 0.057 3.35 0.043 4.43SPAI�banda(5) 0.219 0.118 1.86 0.062 3.53 0.037 5.92SPAI�EM 3.200 1.720 1.86 0.920 3.48 0.498 6.43SPAI�VM 0.208 0.109 1.91 0.058 3.57 0.035 5.91SPAI�W(D4-2) 6.710 3.520 1.91 1.860 3.61 1.090 6.16Tabla 6.9: Resultados de tiempo y a elera ión para la onstru ión de lospre ondi ionadores SPAI.del pre ondi ionador pueden variar signi� ativamente para problemas diferentes.En general, para estos problemas, la heurísti a basada en las entradas de la matriz

Page 213: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.3. Resolu ión de los sistemas de e ua iones 189

1 2 3 4 5 6 7 81

2

3

4

5

6

7

n. procesadores

acel

erac

ión

CONSTRUCCIÓN − PROBLEMA 1

SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)SPAI−EM SPAI−VM

(a) A elera ión 1 2 3 4 5 6 7 81

2

3

4

5

6

7

n. procesadores

acel

erac

ión

CONSTRUCCIÓN − PROBLEMA 2

SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)SPAI−EM SPAI−VM SPAI−W(D4−2)

(b) E� ien iaFigura 6.22: A elera ión de la onstru ión de los pre ondi ionadores paralos problemas 1 y 2.(SPAI�EM) requiere un patrón de dispersión on mayor número de entradas que lasdemás heurísti as, y además este patrón requiere mayor número de omuni a ionespor ser más irregular, de ahí que el tiempo ne esario para la onstru ión de estepre ondi ionador sea superior al tiempo ne esario para los anteriores. Sin embargo,este oste es muy inferior al ne esario para la resolu ión de los problemas, y, omoveremos a ontinua ión, el pre ondi ionador onsigue una redu ión muy importanteen el número de itera iones ne esarias para al anzar la onvergen ia.Las �guras de la 6.22 a la 6.24 muestran resultados de a elera ión para la ons-tru ión de los diferentes pre ondi ionadores sobre los in o problemas que se em-plean. Se puede ver en estas grá� as que la a elera ión que se onsigue es próximaa la ideal para la mayoría de las onstru iones, y la e� ien ia se mantiene, en asi todos los asos, por en ima del 0.5 para 8 pro esadores. Notar que la ons-tru ión de los pre ondi ionadores SPAI�EM y SPAI�W dependen de la posi iónde las entradas en el patrón de no�nulos de�nido por la heurísti a, que determina-rá las omuni a iones que serán ne esarias durante el pro eso. El tiempo para la onstru ión del pre ondi ionador en estos asos varía on la matriz de oe� ientesoriginal. En los pre ondi ionadores SPAI�banda el patrón siempre se en uentra entorno a la diagonal, de forma que para el ál ulo de mu has olumnas no se ne-

Page 214: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

190 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turas

1 2 3 4 5 6 7 81

2

3

4

5

6

7

n. procesadores

acel

erac

ión

CONSTRUCCIÓN − PROBLEMA 3

SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)SPAI−EM SPAI−VM SPAI−W(D4−2)

(a) A elera ión 1 2 3 4 5 6 7 81

2

3

4

5

6

7

n. procesadores

acel

erac

ión

CONSTRUCCIÓN − PROBLEMA 4

SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)SPAI−EM SPAI−VM SPAI−W(D4−2)

(b) E� ien iaFigura 6.23: A elera ión de la onstru ión de los pre ondi ionadores paralos problemas 3 y 4.

1 2 3 4 5 6 7 81

2

3

4

5

6

7

n. procesadores

acel

erac

ión

CONSTRUCCIÓN − PROBLEMA 5

SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)SPAI−EM SPAI−VM SPAI−W(D4−2)

Figura 6.24: A elera ión de la onstru ión de los pre ondi ionadores parael problema 5. esitarán omuni a iones entre los pro esadores porque los datos del sistema quehay que resolver son lo ales al pro esador que al ula esa olumna. Esto tambiénpuede su eder, dependiendo de la numera ión de los nodos, on el pre ondi ionadorSPAI�VM, puesto que los ve inos próximos en la malla suelen estar numerados de

Page 215: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.3. Resolu ión de los sistemas de e ua iones 191forma onse utiva de forma que el patrón del pre ondi ionador también tendrá losno�nulos on entrados er a de la diagonal.A la vista de estos resultados podemos on luir que la onstru ión del pre on-di ionador no resulta ser un fa tor ríti o en el tiempo ne esario para al anzar lasolu ión del problema ompleto, omo podría su eder si utilizásemos pre ondi iona-dores de tipo ILU.En la tabla 6.10 se muestran resultados de tiempo, a elera ión y número deitera iones para al anzar la onvergen ia, en los 5 problemas que empleamos, usandolos distintos pre ondi ionadores SPAI. La a elera ión ha sido al ulada respe to alsistema se uen ial sin pre ondi ionar, análogamente a lo que hemos venido ha iendoen las se iones anteriores.De esta tabla de resultados podemos sa ar la on lusión de que todos los pre- ondi ionadores onsiguen una redu ión onsiderable en el número de itera ionesdel método GMRES(1). Utilizamos este método de resolu ión porque, omo o-mentábamos antes, es el úni o que al anza la onvergen ia on el valor de toleran iadeseado para estos problemas.La redu ión en el número de itera iones lleva aso iada una redu ión en eltiempo de resolu ión del problema. A pesar de esto, se da la situa ión de quepara un pre ondi ionador que redu e más el número de itera iones que otro, laredu ión en el tiempo de resolu ión es menor. Esto se debe a que la apli a ión delpre ondi ionador resulta más ostosa. En el aso de los pre ondi ionadores SPAI,la apli a ión del pre ondi ionador onsiste en produ tos matriz dispersa�ve tor en ada itera ión. Si el grado de dispersión del pre ondi ionador es menor supondráun mayor oste de este produ to matriz�ve tor y, en onse uen ia, aumentará eltiempo por itera ión del método de resolu ión. Por ejemplo se obtienen mejoresresultados en tiempo de resolu ión para un pre ondi ionador SPAI�banda(1) quepara el SPAI�banda(5), aún uando este último siempre onsigue redu ir más elnúmero de itera iones.Las �guras de la 6.25 a la 6.27 muestran grá� amente la a elera ión del métodoGMRES(1) apli ado a los in o problemas uando se usan los pre ondi ionadorespropuestos. La redu ión en el número de itera iones que se onsigue supone que laa elera ión apli ando un pre ondi ionador de este tipo sea enorme. En el aso delproblema 2, donde se onsigue pasar de 578 itera iones sin pre ondi ionar a 84 enel mejor de los asos, se onsiguen a elera iones er anas a 50 para 8 pro esadores.Para otros asos, omo el problema 4, donde se onsiguen redu iones del número

Page 216: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

192 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turasRESOLUCIÓN N. de pro esadores1 2 4 8matriz pre ondi ionador iter. t(s) a el. t(s) a el. t(s) a el. t(s) a el.pr1 Identidad 269 4.39 1.00 2.60 1.69 1.63 2.69 1.09 4.03SPAI�banda(1) 174 1.91 2.30 1.18 3.72 0.90 4.88 0.76 5.78SPAI�banda(3) 171 2.39 1.84 1.49 2.95 1.15 3.82 0.99 4.43SPAI�banda(5) 145 2.47 1.78 1.55 2.83 1.19 3.69 1.03 4.26SPAI�EM 131 1.64 2.68 1.02 4.30 0.75 5.85 0.62 7.08SPAI�VM 138 1.82 2.41 1.12 3.92 0.84 5.23 0.71 6.18SPAI�W(D4-2) y y y y y y y y ypr2 Identidad 575 28.98 1.00 17.25 1.68 12.63 2.29 10.46 2.77SPAI�banda(1) 93 2.58 11.23 1.49 19.45 0.94 30.83 0.68 42.87SPAI�banda(3) 92 2.61 11.10 1.50 19.32 0.94 30.83 0.67 43.19SPAI�banda(5) 92 2.77 10.46 1.59 18.23 1.00 28.98 0.72 40.14SPAI�EM 84 2.30 12.60 1.38 21.00 0.82 35.34 0.59 49.12SPAI�VM 93 2.64 10.98 1.52 19.07 0.96 30.19 0.68 42.56SPAI�W(D4-2) 430 18.58 1.56 12.82 2.26 7.91 3.66 6.95 4.17pr3 Identidad 935 98.15 1.00 39.26 2.50 20.13 4.88 11.18 8.78SPAI�banda(1) 528 31.85 3.08 19.05 5.15 11.55 8.50 8.24 11.91SPAI�banda(3) 525 41.40 2.37 24.88 3.94 15.47 6.34 11.22 8.75SPAI�banda(5) 436 41.97 2.34 25.18 3.90 15.47 6.34 11.21 8.76SPAI�EM 439 31.88 3.08 19.30 5.09 11.74 8.36 8.43 11.64SPAI�VM 461 34.57 2.84 20.69 4.74 12.59 7.80 9.02 10.88SPAI�W(D4-2) 540 42.10 2.33 27.52 3.57 16.89 5.81 12.72 7.72pr4 Identidad 1366 240.74 1.00 75.22 3.20 36.69 6.56 20.38 11.81SPAI�banda(1) 657 54.73 4.40 30.19 7.97 17.03 14.14 13.45 17.90SPAI�banda(3) 706 89.60 2.69 49.15 4.90 27.19 8.85 16.37 14.71SPAI�banda(5) 594 81.17 2.97 42.72 5.64 23.74 10.14 13.96 17.24SPAI�EM 784 103.67 2.32 54.25 4.44 30.02 8.02 17.22 13.98SPAI�VM 670 83.21 2.89 43.86 5.49 24.06 10.01 13.85 17.38SPAI�W(D4-2) 802 138.91 1.73 68.78 3.50 35.45 6.79 20.89 11.52pr5 Identidad 790 118.55 1.00 39.33 3.01 19.59 6.05 10.92 10.86SPAI�banda(1) 390 27.40 4.33 16.12 7.35 9.49 12.49 5.92 20.03SPAI�banda(3) 376 44.08 2.69 23.82 4.98 13.38 8.86 7.80 15.20SPAI�banda(5) 255 46.36 2.56 24.41 4.86 13.55 8.75 7.97 14.87SPAI�EM 238 25.22 4.70 13.95 8.50 8.12 14.60 4.78 24.80SPAI�VM 233 24.77 4.79 13.03 9.10 7.05 16.82 3.95 30.01SPAI�W(D4-2) 342 41.22 2.88 21.46 5.52 11.79 10.06 6.70 17.69Tabla 6.10: Resultados de tiempo, a elera ión y número de itera iones parala resolu ión de los sistemas usando GMRES(1).de itera iones a la mitad, la a elera ión onseguida llega a ser er ana a 20, tambiénpara 8 pro esadores.El he ho de que la apli a ión del pre ondi ionador venga dada por un produ tomatriz�ve tor, que, omo hemos visto, es una opera ión que onsigue rendimientos

Page 217: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

6.3. Resolu ión de los sistemas de e ua iones 193

1 2 3 4 5 6 7 81

2

3

4

5

6

7

8

n. procesadores

acel

erac

ión

RESOLUCIÓN − PROBLEMA 1

Ident SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)SPAI−EM SPAI−VM

(a) Problema 1 1 2 3 4 5 6 7 80

5

10

15

20

25

30

35

40

45

50

n. procesadores

acel

erac

ión

RESOLUCIÓN − PROBLEMA 2

Ident SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)SPAI−EM SPAI−VM SPAI−W(D4−2)

(b) Problema 2Figura 6.25: A elera ión de la resolu ión de los problemas 1 y 2.

1 2 3 4 5 6 7 80

2

4

6

8

10

12

n. procesadores

acel

erac

ión

RESOLUCIÓN − PROBLEMA 3

Ident SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)SPAI−EM SPAI−VM SPAI−W(D4−2) (a) A elera ión 1 2 3 4 5 6 7 8

0

2

4

6

8

10

12

14

16

18

n. procesadores

acel

erac

ión

RESOLUCIÓN − PROBLEMA 4

Ident SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)SPAI−EM SPAI−VM SPAI−W(D4−2) (b) E� ien iaFigura 6.26: A elera ión de la resolu ión de los problemas 3 y 4.

Page 218: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

194 Capítulo 6. Apli a ión: análisis del re imiento de grietas en estru turas

1 2 3 4 5 6 7 80

5

10

15

20

25

30

35

n. procesadores

acel

erac

ión

RESOLUCIÓN − PROBLEMA 5

Ident SPAI−banda(1)SPAI−banda(3)SPAI−banda(5)SPAI−EM SPAI−VM SPAI−W(D4−2)

Figura 6.27: A elera ión de la resolu ión del problema 5.a eptables en su implementa ión paralela, ha e que la resolu ión mediante el métodoiterativo on pre ondi ionadores tipo SPAI siga siendo es alable, y obtenga buenosresultados en sistemas paralelos. Si el pre ondi ionador utilizado fuese tipo ILU nosen ontraríamos on que la apli a ión del pre ondi ionador en sistemas paralelos (queimpli a resolu iones triangulares en ada itera ión) restaría es alabilidad al método ompleto.

Page 219: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Con lusiones y prin ipalesaporta ionesUno de los objetivos de nuestro trabajo es desarrollar herramientas y algoritmospara resolver grandes sistemas de e ua iones. En general, las matri es que surgende problemas reales son muy grandes y dispersas, por eso, en los últimos años granparte de la investiga ión en el ampo de la resolu ión de sistemas lineales se ha entrado en el desarrollo de métodos iterativos y pre ondi ionadores para sistemasdispersos. En la a tualidad, existen mu has apli a iones, espe ialmente de ingeniería ivil, que utilizan la formula ión de los elementos de ontorno para la resolu ión degrandes problemas, que serían inviables usando la formula ión de elementos �nitos.Estas nuevas aproxima iones dan lugar a sistemas de e ua iones lineales densos.Para resolver problemas pequeños se suelen utilizar los métodos dire tos, basadosen fa toriza iones LU. Pero uando la magnitud del problema re e, el tiempo paraobtener la solu ión del sistema empieza a dominar sobre el tiempo de forma ióndel mismo. Las té ni as más populares para la resolu ión de grandes sistemas dee ua iones densos son los métodos iterativos.Las prin ipales aporta iones de este trabajo se pueden resumir en los siguientespuntos:� Se propone la idea de utilizar transformadas wavelet omo alternativa paraa elerar el pro eso de resolu ión de grandes sistemas densos de e ua iones.Apli ando la transformada wavelet a una matriz densa se obtiene una matriz on un patrón de dispersión que se puede explotar para a elerar el pro esode resolu ión mediante métodos iterativos. El método que se propone se basaen apli ar las transformadas omo una aja negra a la salida de los ódigosde elementos de ontorno (BEM). En este punto nuestra propuesta radi aen adaptar un nuevo esquema de transformada wavelet, el esquema lifting,195

Page 220: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

196 Con lusiones y prin ipales aporta ionespara obtener wavelets biortogonales que permitan la resolu ión del sistematransformado sin perdida de informa ión. El uso de este nuevo esquema detransformada, basado en interpola ión de oe� ientes, a elera el pro eso en unfa tor 2 frente al esquema de wavelet lási o. Además, el uso de este nuevoesquema, permite la apli a ión del método de resolu ión a tamaños arbitrariosdel problema, resolviendo así el in onveniente que presentan las transformadaswavelet lási as que sólo se pueden apli ar a matri es de oe� ientes uyotamaño sea poten ia entera de 2.� El esquema lifting es un método relativamente novedoso, que se ha extendi-do on la apari ión de las llamadas wavelets de segunda genera ión. En estetrabajo se presenta una implementa ión general de este esquema para mul-tipro esadores. Que nosotros onoz amos, no existen todavía publi a ionesque des riban implementa iones paralelas de este esquema. En esta memo-ria des ribimos la implementa ión paralela que nosotros proponemos, que esuna modi� a ión a la tradi ional aproxima ión del inter ambio de datos (dataswapping), pero que evita el alto oste de omuni a ión empaquetando men-sajes y solapando omuni a iones y omputa iones.� El esquema de resolu ión utilizando transformadas wavelet obtiene buenosresultados uando se apli a a sistemas de e ua iones que provienen de la for-mula ión BEM apli ada a dominios on ontornos regulares, es de ir, apli adoa matri es de oe� ientes suaves. Sin embargo, falla uando se apli a a ma-tri es de oe� ientes no�suaves, que surgen de problemas on degenera iones.En este trabajo se ha propuesto una nueva estrategia, apli ando transformadaswavelet en un intervalo, de forma que se pueda modi� ar el esquema anteriorpara matri es que presenten zonas on degenera iones. Apli amos una estrate-gia de división y fusión sobre las matri es que presentan zonas que no puedenser omprimidas del modo lási o. Esta nueva estrategia involu ra, además, eluso de transformadas wavelet unidimensionales en ada itera ión del métodoiterativo, de esta forma no se modi� a el omportamiento del método iterativoen uanto a onvergen ia.� También se ha propuesto la implementa ión paralela de esta estrategia dedivisión y fusión para la resolu ión de los sistemas de e ua iones, on todos losnú leos omputa ionales que impli a, y se ha evaluado en términos de tiempode omputa ión y a elera ión, omparándola on la resolu ión del sistemadenso (sin transformar).

Page 221: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Con lusiones y prin ipales aporta iones 197� Tanto la e� ien ia omo la robustez de las té ni as iterativas se pueden mejorarusando pre ondi ionadores ade uados. El pre ondi ionamiento es una tarea lave para el éxito de los métodos iterativos en mu has apli a iones. En estetrabajo se han desarrollado y evaluado patrones de dispersión ade uados parala forma ión de pre ondi ionadores dispersos SPAI e ILU que a túen bien so-bre matri es densas. Los resultados obtenidos, tanto en términos de redu iónde número de itera iones, omo de a elera ión en sistemas multi omputadorde memoria distribuida, son muy satisfa torios. Además, los resultados de laapli a ión de estos pre ondi ionadores en sistemas multi omputador muestranque los resolutores de sistemas de e ua iones densos que usan pre ondi iona-dores SPAI son más estables que los resolutores que usan pre ondi ionadorestipo ILU.� Se han apli ado todos los esquemas propuestos a las e ua iones resultantesde un ódigo DBEM que analiza el re imiento de grietas en estru turas. Se omparan los resultados obtenidos en sistemas multi omputador utilizando elmétodo iterativo on el produ to 2W�MatVe on el método iterativo tradi io-nal sobre el sistema denso. Los resultados obtenidos muestran que el métodoutilizando produ tos 2W�MatVe resuelve satisfa toriamente problemas realesque presentan zonas on degenera iones en un tiempo menor que el métodoiterativo sobre el sistema denso original. Además de la redu ión en el tiempode omputa ión de la solu ión del problema, es también interesante el im-portante ahorro que se onsigue en memoria. El uso de las transformadaswavelet en ombina ión on los métodos iterativos permite resolver problemasde grandes dimensiones, que de otra forma serían inabordables debido a susrequerimientos de memoria.La ontinua ión de este trabajo en el futuro puede orientarse de distintas formas.En primer lugar, sería muy interesante integrar las transformadas dentro del ódigoBEM de forma que en ningún momento se ne esite la forma ión explí ita de la matrizdensa. De esta forma la ventaja en uanto a ahorro de memoria para problemasgrandes justi� aría por sí misma el uso de las transformadas. Nuestro esquema seha planteado de una forma general e independiente del ódigo BEM que genera lossistemas de e ua iones y, por lo tanto, es ne esario en un primer momento tenerla matriz de oe� ientes densa alma enada. Además de esto, al no ne esitarse laforma ión de la matriz densa, se podría intentar mejorar el balan eo de la arga dela zona dispersa, ya que la distribu ión de la misma ya no estaría ondi ionada porla distribu ión de la matriz densa. De esta forma, el omportamiento del produ to

Page 222: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

198 Con lusiones y prin ipales aporta iones2W�MatVe se vería mejorado y, on él, el de la e� ien ia del método ompleto.Por otra parte, los pre ondi ionadores que aquí se proponen sólo suponen unprimer esfuerzo a la solu ión del problema del ondi ionamiento de estas matri es.Estamos también interesados en profundizar en este tema y estudiar nuevas formasde pre ondi ionamiento más espe í� as, añadiendo ono imiento previo sobre la for-ma ión del sistema de e ua iones. Re ordemos que los pre ondi ionadoresmultinivelo a priori onsiguen, por lo general, un mayor rendimiento que los pre ondi ionado-res a posteriori, a osta de perder generalidad.

Page 223: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Apéndi e ATratamiento de las matri es dispersasUna matriz dispersa se de�ne omo una matriz que tiene muy po os elementos nonulos. En realidad, una matriz se puede denominar dispersa uando se puedenusar té ni as espe iales para sa ar bene� io del he ho de que la mayoría de suselementos son eros. Estas té ni as para matri es dispersas parten de la idea deque los elementos nulos no ne esitan alma enarse. Uno de los puntos laves eneste sentido es de�nir estru turas de datos para estas matri es que se adapten biena implementa iones e� ientes de los algoritmos en donde están involu radas, en on reto, de los métodos de resolu ión de sistemas de e ua iones lineales estándar,tanto dire tos omo iterativos.Esen ialmente hay dos tipos de matri es dispersas: estru turadas y no�estru tu-radas. Una matriz estru turada es aquella uyas entradas no nulas forman un patrónregular. Normalmente, en estos asos, los elementos no nulos están dispuestos entorno a un número pequeño de diagonales, pero también pueden estar dispuestos enbloques del mismo tamaño formando un patrón regular. Una matriz uyas entradasno nulas se lo alizan irregularmente se denomina no�estru turada. Esta distin iónes importante para los métodos iterativos, ya que en estos métodos una de lasopera iones esen iales es el produ to matriz�ve tor, de la que se ha hablado en el apítulo 2. En estas opera iones, el rendimiento en los omputadores paralelos di�eresigni� ativamente dependiendo de si las matri es tienen una estru tura regular o no.En este apéndi e trataremos brevemente las propiedades, representa iones y es-quemas de alma enamiento más omunes para la matri es dispersas.

199

Page 224: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

200 Apéndi e A. Tratamiento de las matri es dispersasA.1 Teoría de grafosLa teoría de grafos [HR90℄ es una herramienta muy útil para representa ión de laestru tura de matri es dispersas y por esta razón juega un papel importante en laté ni as para matri es dispersas. Por ejemplo, la teoría de grafos es un instrumentofundamental en la búsqueda de paralelismo en el pro eso de elimina ión gaussianao en té ni as de pre ondi ionamiento.Re ordemos que un grafo se de�ne por dos onjuntos, un onjunto de vérti esV = fv1; v2; : : : ; vng (A.1)y un onjunto de aristas E uyos elementos onsisten en pares (vi; vj), donde vi, vjson elementos de V , es de ir, E � V � V (A.2)Este grafo G = (V;E) se suele representar por un onjunto de puntos en el planoque se unen mediante líneas entre los vérti es que están one tados por una arista.Un grafo es una forma de representar una rela ión binaria entre los elementos de un onjunto V .En el ontexto de la resolu ión de sistemas, el grafo de adya en ias de una matrizdispersa es un grafo G = (V;E), uyos N vérti es en V representan las N �las.Las aristas representan la rela ión estable ida entre las e ua iones de la siguientemanera: existirá una arista desde un nodo i a otro j uando aij 6= 0, de forma que larela ión binaria es: la e ua ión i involu ra la in ógnita j. La mayoría de los grafospara representar la estru tura de una matriz son dirigidos (digrafos). Si una matriztiene un patrón simétri o, es de ir, aij y aji son siempre no nulos al mismo tiempo,enton es el grafo es no�dirigido. En los grafos no�dirigidos todas las aristas apuntanen ambas dire iones, por lo tanto, se pueden representar on aristas no dirigidas.Un ejemplo de ambos tipos de grafos se muestra en la �gura A.1.Un ejemplo del uso de grafos es la extra ión de paralelismo en el método deelimina ión gaussiana. En este aso el paralelismo se extrae bus ando las in ógnitasque son independientes en ada paso del algoritmo de elimina ión [GCP99℄. Otroejemplo sería la búsqueda de niveles en las resolu iones triangulares [GCP00a℄ útilpara las opera iones de solu ión del pre ondi ionador.

Page 225: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

A.2. Esquemas de alma enamiento 2014

1

2

3

1

4

2

3

Figura A.1: Grafos de dos matri es dispersas 4� 4.A.2 Esquemas de alma enamientoEn el aso de matri es dispersas, un fa tor muy importante a tener en uenta esel modo de alma enamiento. Para el aso de una matriz densa N � N , esta sesuele alma enar en un array bidimensional de tamaño N � N . Sin embargo, sila matriz es dispersa este alma enamiento desperdi ia mu ho espa io en memoria.Además, es mayor también el tiempo de omputa ión, ya que se estaría trabajando ontinuamente on eros y estas opera iones no son ne esarias.El alma enamiento de matri es dispersas reserva espa io ontiguo en memoriapara los elementos no nulos de la matriz. Esto, laro está, requiere un esquemaque permita saber donde se lo alizan estos elementos en la matriz ompleta. El usodel alma enamiento disperso trae omo onse uen ia el uso de indire iones para lalo aliza ión de los elementos, y la ompli a ión en la paraleliza ión de los ódigos.Existen mu hos métodos para alma enar estos datos [B+94℄, entre ellos el CRS(Compressed Row Storage) y CCS (Compressed Column Storage), BCRS (Blo kCompressed Row Storage), CDS (Compressed Diagonal Storage), JDS (Jagged Dia-gonal Storage) y SKS (Skyline Storage). La ele ión de un esquema de alma ena-miento u otro suele estar guiada por el tipo de patrón de a esos del ódigo que vayaa realizarse sobre la matriz dispersa en ada apli a ión. En este trabajo usaremos

Page 226: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

202 Apéndi e A. Tratamiento de las matri es dispersasel llamado CCS [Saa96℄ porque es general y no alma ena ningún elemento inne e-sario; además re orre la matriz por olumnas, que es el método más natural usandolenguaje Fortran, que es el que nosotros usamos.La forma de alma enamiento CCS pone la subse uen ia de no- eros de las o-lumnas de la matriz en posi iones ontiguas de memoria. Este esquema usa tresve tores para el alma enamiento de los datos, los ve tores de datos, �las y olumnas(�gura A.2).1. El ve tor de datos DA: alma ena los valores de los elementos no nulos de lamatriz, tal y omo se en uentran al re orrer la matriz por olumnas.2. El ve tor índi e de �las rowind: alma ena los índi es de las �las en las que seen uentran los elemento del ve tor de datos. Esto es, si A(k) = aij enton esrowind(k) = i.3. El ve tor de omienzo de olumnas olptr: alma ena la posi ión en el ve torde datos que empieza una nueva olumna. Esto es, si A(k) = aij enton es olptr(j) � k < olptr(j + 1).Este tipo de alma enamiento impli a que para alma enar una matriz de N �lasy olumnas no ne esitamos N2 posi iones de memoria sino úni amente 2�+N + 1,siendo � el número de elementos no nulos de la matriz.La forma CRS es análoga a la anterior, pero en este aso se alma enan las �lasde A en lugar de las olumnas. Este formato se espe i� an tres ve tores (A, olindy rowptr), donde A es el ve tor de datos, olind es el ve tor que alma ena el índi ede la olumna en la que se en uentra ada no�nulo y rowptr es el ve tor que indi ael índi e en A del elemento que omienza ada nueva �la.Si la matriz está formada por bloques uadrados densos de no�nulos, se puedemodi� ar el formato CCS (o CRS) para explotar el patrón por bloques que presenta.Se parti iona la matriz en bloques pequeños y se trata ada bloque omo una matrizdensa, in luso aunque tenga algunos eros. Estas matri es surgen típi amente de ladis retiza ión de e ua iones diferen iales par iales en las que hay varios grados delibertad aso iados a ada punto de la rejilla.Si la matriz es en banda, on un an ho de banda que es más o menos onstanteentre ada �la, enton es se puede sa ar ventaja de esta estru tura en el esquemade alma enamiento alma enando las subdiagonales de la matriz en lo aliza iones

Page 227: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

A.3. Distribu ión de datos 2030BBBBBBBBBBBB�

1 0 0 0 0 0 9 00 0 4 0 0 0 10 00 0 0 0 0 0 0 120 0 0 0 6 0 0 00 0 0 5 0 0 0 00 2 0 0 0 0 0 00 0 0 0 7 0 0 130 3 0 0 0 8 11 01CCCCCCCCCCCCA(a) Matriz dispersa.

A12345678910111213

rowind1682547812837

olptr12456891214(b) Alma enamiento.Figura A.2: Modo de alma enamiento CCS onse utivas. Este es el formato de alma enamiento CDS. No sólo elimina el ve torque identi� a la �la y la olumna, sino que empaqueta los elementos no�nulos deforma que el produ to matriz�ve tor es más e� iente.El formato JDS puede resultar útil para las implementa iones de métodos ite-rativos en pro esadores ve toriales. Como el CDS, alma ena un ve tor de longitudaproximada al número de datos de la matriz, pero es más e� iente que el anterioren las opera iones de re ole tar/espar ir los datos entre los pro esadores.Finalmente, el formato SKS está orientado al tratamiento de matri es on bandavariable. Este esquema espe ialmente útil en métodos de resolu ión dire tos, aunquetambién se puede usar en métodos de fa toriza ión de tipo bloque.A.3 Distribu ión de datosLa distribu ión de datos para matri es dispersas de�ne una forma de proye tar elve tor de datos a través del onjunto de pro esadores y, basándose en esto, onstruir

Page 228: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

204 Apéndi e A. Tratamiento de las matri es dispersasnuevos ve tores de olumnas y �las en ada pro esador para a eder al propio ve torde datos lo al.Existen varias té ni as de distribu ión de matri es dispersas [RZ95, DER86℄,entre ellas está la llamada BRD (Binary Re ursive De omposition) donde la matrizdispersa se divide alternativamente en parti iones verti ales y horizontales hastatener tantas submatri es omo pro esadores; o la MRD (Multiple Re ursive De om-position) donde la matriz original se subdivide en submatri es de tal forma que elnúmero de elementos en ada submatriz sea lo más próximo posible al de las demássubmatri es. Otras té ni as, las té ni as de distribu ión s atter, están basadas en ladivisión de ualquier dominio de omputa ión (en nuestro aso la matriz dispersa)en varios bloques, on la misma forma espa ial y tamaño. Cada bloque es distribui-do uniformemente entre el onjunto de pro esadores, de forma que ada pro esador ontiene una fra ión de ada bloque (por ejemplo, la distribu ión BRS (Blo k RowS atter)).La distribu ión de los datos juega un papel muy importante en la e� ien iade la implementa ión de problemas dispersos e irregulares. En general, debemosen ontrar un ompromiso entre un máximo equilibrio de la arga omputa ional y unmínimo oste de omuni a ión y sin roniza ión entre los pro esadores. En el aso quenosotros tratamos, es de ir, el aso de matri es dispersas tras apli ar transformadaswavelet a la orrespondiente matriz densa, la matriz on la que trabajamos tieneuna estru tura irregular. En el aso de estru turas irregulares se suelen utilizarté ni as omo las BRD o MRD que aseguran un óptimo balan eo de la arga entrelos pro esadores. Sin embargo, en nuestro aso, la matriz dispersa ya se en uentradistribuida entre los pro esadores al �nalizar la transformada wavelet. La úni amatriz que debemos distribuir es la matriz densa original. El he ho de que la matrizsea densa ha e que la distribu ión más sen illa y e� iente sea una distribu ión porbloques. En este aso, dividimos la matriz en bloques, de forma que ada bloque detamaño dN=pe �las (donde p es el número de pro esadores) se olo a en la memorialo al de un pro esador. Utilizar posteriormente una redistribu ión de la matrizpuede ser ostoso, y nuestra matriz dispersa ya se en uentra distribuida puesto quela transformada wavelet se realiza in situ.La distribu ión por bloques da lugar a un buen balan eo de la arga en el aso deuna matriz densa. Sin embargo, una vez transformada la matriz en dispersa puedesu eder que la arga omputa ional este desbalan eada debido a que un pro esa-dor obtenga un mayor número de no�nulos que otro después de apli ar el umbral.El problema es más evidente en el aso de que no se transforme toda la matriz

Page 229: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

A.3. Distribu ión de datos 205porque podrá darse el aso de que algún pro esador sólo posea �las de la matrizdispersa mientras otro pro esador tenga algunas �las de la matriz densa, o in lusotodas sus �las pertenez an a la matriz densa, y por tanto, a abará on mayor arga omputa ional.Para evitar este problema la solu ión que proponemos es distribuir de formaseparada las �las que se transforman de las que no lo ha en. Se reparte entre todoslos pro esadores la parte dispersa de la matriz y del mismo modo se ha e on laparte densa. En la se ión de evalua ión del método paralelo (se ión 4.4.1) se hanmostrado los resultados de balan eo de la arga para esta solu ión.

Page 230: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

206 Apéndi e A. Tratamiento de las matri es dispersas

Page 231: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Bibliografía[ABG97℄ G. Alléon, M. Benzi y L. Giraud. Sparse aproximate inverse pre ondi-toning for dense linear systems arising in omputational ele tromag-neti s. Informe té ni o, CERFACS, 1997.[AHJP93℄ L. Andersson, N. Hall, B. Jawerth y G. Peters. Wavelets on losedsubsets of the real line. Informe té ni o, Univ. South Caroline, 1993.[Ame77℄ W. F. Ames. Numeri al Methods for Partial Di�erential Equations.A ademi Press, 1977.[Ase97℄ R. Asenjo. Fa toriza ión LU de Matri es Dispersas en Multipro e-sadores. Tesis Do toral, Dept. de Arquite tura de Computadores.Universidad de Málaga, 1997.[B+94℄ R. Barret et al. Templates for the Solution of Linear Systems: Buil-ding Blo ks for Iterative Methods. SIAM, 1994.[BBK94℄ V. E. Bulgakov, R. A. Biale ki y G. Kuhn. Coarse division transformbased pre onditioner for boundary element problems. InternationalJournal for numeri al methods in engineering, 1994.[BCO81℄ E. B. Be ker, G. F. Carey y J. T. Oden. Finite Elements: An Intro-du tion, tomo 1. Prenti e-Hall, 1981.[BCR91℄ G. Beylkin, R. Coifman y V. Rokhlin. Fast wavelet transforms andnumeri al algorithms. Comm. in Pure and Applied Math., 44:141�183,1991.[BD92℄ C. A. Brebbia y J. Dominguez. Boundary Elements: An Introdu toryCourse. Computational Me hani s Publi ations, 2 edi ión, 1992.207

Page 232: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

208 Bibliografía[BDE+96℄ W. Blume, R. Doallo, R. Eigenmanm, J. Grout, J. Hoe�inger, T. Law-ren e, J. Lee, D. Padua, Y. Paek, W. Pottenger, L. Rau hwer-ger y P. Tu. Parallel programming with Polaris. IEEE Computer,29(12):78�82, 1996.[Bey93℄ G. Beylkin. Wavelets and fast numeri al algorithms. En Ingrid Daube- hies, editor, Di�erent Perspe tives on Wavelets, págs. 89�117. 1993.[BF82℄ M. W. Benson y P. O. Frederi kson. Iterative solution of large spar-se linear systems arising in ertain multidimensional approximationproblems. Utilitas Math., 22:127�140, 1982.[BM92℄ M. D. Buhmann y C. A. Mi helli. Spline prewavelets for non�uniformknots. Numer. Math., 61:455�474, 1992.[BT98℄ M. Benzi y M. Tuma. A sparse approximate inverse pre onditioner fornonsymmetri linear systems. SIAM J. S i. Comput., 19(3):968�994,1998.[BTW84℄ C. A. Brebbia, J. C. F Telles y L. C. Wrobel. Boundary ElementTe hniques. Springer-Verlag, 1984.[BV94℄ D. M. Bond y S. A. Vavasis. Fast wavelet transforms for matri esarising from Boundary Element Methods. Informe té ni o, Center forApplied Mathemati s. Cornell University, 1994.[CDF92℄ A. Cohen, I. Daube hies y J. Feauveau. Bi-orthogonal bases of om-pa tly supported wavelets. Comm. Pure Appl. Math., 45:485�560,1992.[CH99℄ J. T. Chen y H. K. Hong. Review of dual boundary element methodswith emphasis on hypersingular integrals and divergent series. AppliedMe hani s Reviews, 52(1):17�33, 1999.[Chu92℄ Charles K. Chui. Wavelets: A tutorial in theory and appli ations.A ademi Press, INC, 1992.[CP96℄ J. C. Cabaleiro y T. F. Pena. Solving sparse triangular systems onthe AP�1000 multi omputer. En Sixth Parallel Computing Workshop(PCW'96). Kawasaki, Japan, noviembre 1996.

Page 233: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Bibliografía 209[CPH96℄ J. C. Cabaleiro, T. F. Pena y D. H. Heras. Resolu ión de sistemastriangulares en multi omputadores. En VII Jornadas de Paralelismo,págs. 469�477. Universidad de Santiago de Compostela, septiembre1996.[CS94℄ E. Chow y Y. Saad. Approximate inverse pre onditioner for generalsparse matri es. Informe Té ni o UMSI 94/101, University of Minne-sota Super omputer Institute, Minneapolis, MN, USA, 1994.[CS96℄ F. X. Canning y J. F. S holl. Diagonal pre onditioners for the EFIEusing a wavelet basis. IEEE Trans. on Antennas and Propagation,44(9):1239�1246, 1996.[CS98℄ E. Chow y Y. Saad. Approximate inverse pre onditioners via sparse-sparse iterations. SIAM J. S i. Comput., 19(3):995�1023, 1998.[CTW96℄ T. F. Chan, W. P. Tang y W. L. Wan. Wavelet sparse aproximate in-verse pre onditioners. En Workshop on iterative methods. CERFACS,jun 1996.[CV95℄ T. F. Chan y P. S. Vassilevski. A framework for blo k ILU fa to-rizations using blo k�size redu tion. Mathemati s of Computation,64(209):129�156, 1995.[Dau92℄ I. Daube hies. Ten le tures on wavelets. SIAM, 61, 1992.[DDHH88℄ J. J. Dongarra, J. DuCroz, S. Hammarling y R. Hanson. An extendedset of Fortran basi linear algebra subprograms. ACM Trans. onMath. Soft., 14:1�32, 1988.[DER86℄ I. S. Du�, A. M. Erisman y J. K. Reid. Dire t Methods for SparseMatri es. Oxford University Press, 1986.[DJ92℄ D. L. Donoho y I. M. Johnstone. Minimax estimation via waveletshrinkage. Informe té ni o, Stanford University, 1992.[DJ95℄ D. L. Donoho y I. M. Johnstone. Adapting to unknown smoothnessvia wavelet shrinkage. J. Amer. Statist. Asso ., 90:1200�1224, 1995.[DJKP95℄ D. L. Donoho, I. M. Johnstone, F. Kerkya harian y D. Pi ard. Waveletshrinkage: Asymptopia? Journal of the Royal Statisti al So iety,57(2):301�369, 1995.

Page 234: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

210 Bibliografía[DJPS93℄ B. Deng, B. Jawerth, G. Peters y W. Sweldens. Wavelet probing for ompression based segmentation. En SPIE onferen e. San Diego,julio 1993.[Don95℄ D. L. Donoho. De-noising by soft-thresholding. IEEE Transa tionson Information Theory, 41(3):631�627, 1995.[DS98℄ I. Daube hies y W. Sweldens. Fa toring wavelet transforms into liftingsteps. J. Fourier Anal. Appl., 4(3):247�269, 1998.[EOZ94℄ B. Engquist, S. Osher y S. Zhong. Fast wavelet based algorithmsfor linear evolution equations. SIAM J. S i. Comput., 15(4):755�775,1994.[FBR93℄ S. Frank, H. Burkhardt y J. Rothnie. The KSR1: Bridging the gapbetween shared memory and MMPs. En Pro eedings of Comp on'93.1993.[FHK+90℄ G. Fox, S. Hiranandani, K. Kennedy, C. Koelbel, U. Kremer, C. W.Tseng y M. Wu. Fortran D language spe i� ation. Informe té ni o,Dept. Computer S ien e. Ri e University, 1990.[FJL+88℄ G. C. Fox, M. A. Johnson, G. A. Lyzenga, S. W. Otto, J. K. Salmony D.W. Walker. Solving Problems on Con urrent Pro essors, tomo I.Prenti e�Hall, New Jersey, 1988.[Fly72℄ M. J. Flynn. Some omputer organization and their e�e tiveness.IEEE Transa tions on Computers, 21(9):948�960, 1972.[For96℄ High Performan e Forum. High Performan e Fortran language spe i-� ation, 1996.[FPS96℄ G. Fernandez, S. Periaswamy y W. Sweldens. LIFTPACK: A softwarepa kage for wavelet transforms using lifting. En Wavelet Appli ationsin Signal and Image Pro essing IV. SPIE onferen e, 1996.[GBD+94℄ A. Geist, A. Beguellin, J. Dongarra, W. Jiang, R. Man hek y V. Sun-deram. PVM 2: User's guide and referen e manual. Informe té ni o,Oak Ridge National Laboratory, 1994.[GBD+96℄ A. Geist, A. Beguellin, J. Dongarra, W. Jiang, R. Man hek y V. Sun-deram. PVM. The MIT Press, ter era edi ión, 1996.

Page 235: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Bibliografía 211[GCP℄ P. González, J. C. Cabaleiro y T. F. Pena. Parallel iterative solversinvolving fast wavelet transforms for the solution of BEM systems.Enviado para su publi a ión en Advan es in Engineering Software.[GCP98℄ P. González, J. C. Cabaleiro y T. F. Pena. Solving sparse triangularsystems on distributed-memory multi omputers. Euromi ro PDP'98,IEEE Computer So iety, enero 1998.[GCP99℄ P. González, J. C. Cabaleiro y T. F. Pena. Parallel in omplete LU fa -torization as a pre onditioner for Krylov subspa e methods. ParallelPro essing Letters, 19(1):467�474, 1999.[GCP00a℄ P. González, J. C. Cabaleiro y T. F. Pena. On parallel solvers forsparse triangular systems. Journal of Systems Ar hite ture, 46:675�685, 2000.[GCP00b℄ P. González, J. C. Cabaleiro y T. F. Pena. Parallel omputation ofwavelet transforms using the lifting s heme. The Journal of Super- omputing, 2000. A eptado para publi a ión.[GCP00 ℄ P. González, J. C. Cabaleiro y T. F. Pena. Parallel iterative s hemefor solving BEM systems using fast wavelet transforms. En B. H. V.Topping, editor, Developments in Engineering Computational Te h-nology, págs. 249�258. Civil�Comp Press, 2000.[GCPR00℄ P. González, J. C. Cabaleiro, T. F. Pena y F. F. Rivera. Dual BEMfor ra k growth analysis in distributed-memory multipro essors. Ad-van es in Engineering Software, 31(12):921�927, 2000.[GH97℄ M. J. Grote y T. Hu kle. Parallel pre onditioning with sparse appro-ximate inverses. SIAM J. S i. Comput., 18(3):838�853, 1997.[GLPLGP98℄ A. J. Gar ía-Loureiro, T. F. Pena, J. M. López-González y Ll. Prat.Parallel pre onditioners for solving nonsymmetri linear systems. EnVe tor and Parallel Pro essing - VECPAR'98. 1998.[GLS94℄ W. Gropp, E. Lusk y A. Skjellum. Using MPI: Portable ParallelProgramming with the Message Passing Interfa e. S ienti� and En-gineering Computation Series. MIT Press, 1994.[GO93℄ G. H. Golub y J. Ortega. S ienti� Computing. An Introdu tion withParallel Computing. A ademi Press, 1993.

Page 236: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

212 Bibliografía[Gon96℄ P. González. Resolu ión de sistemas lineales triangulares en multi- omputadores de memoria distribuida. Proye to Fin de Carrera, Dept.Ele tróni a y Computa ión. Universidad de Santiago de Compostela,1996.[GPC00℄ P. González, T. F. Pena y J. C. Cabaleiro. Parallel sparse approximatepre onditioners for the solution of large dense linear systems. En Prof.N. Mastorakis, editor, Re ent Advan es in Applied and Theoreti alMathemati s. 2000.[GPC01℄ P. González, T. F. Pena y J. C. Cabaleiro. Parallel implementationof sparse approximate pre onditioners on distributed�memory multi- omputers. 2001. A eptado en IASTED International Conferen e ofApplied Informati s: symposium on Networks, Parallel and Distribu-ted Pro essing and Appli ations.[GPCR98℄ P. González, T. F. Pena, J. C. Cabaleiro y F. F. Rivera. Dualboundary element method for ra k growth analysis on distributed�memory multipro essors. En B. H. V. Topping, editor, Advan esin Engineering Computational Te hnology, págs. 65�71. Civil�CompPress, 1998.[Gra95℄ A. Graps. An introdu tion to wavelets. IEEE Computational S ien eand Engineering, 2(2):50�61, 1995.[GS93℄ M. Grote y H. D. Simon. Parallel pre onditioning and approximateinverses on the onne tion ma hine. En R. F. Sin ove , D. E. Keyes,L. R. Petzold y D. A. Reed, editores, Parallel Pro essing for S ienti� Computing, tomo 2, págs. 519�523. SIAM, 1993.[Guo92℄ X. Z. Guo. Multilevel pre onditioners: Analysis, performan e enhan- ements, and parallel algorithms. Informe té ni o, Dept. of Mathe-mati s. University of Maryland, 1992.[HAA+96℄ M. W. Hall, J. M. Anderson, S. P. Amarasinghe, B. R. Murphy, S. W.Liao, E. Bugnion y M. S. Lam. Maximizing multipro essor performan- e with the SUIF ompiler. IEEE Computer, 29(12):84�89, 1996.[HKPT98℄ W. Haerdle, G. Kerkya harian, D. Pi ard y A. Tsybakov. Wavelets,approximation and statisti al appli ations. En Le ture Notes in Sta-tisti s. Springer, 1998.

Page 237: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Bibliografía 213[HR90℄ N. Harts�eld y G. Rindel. Pearls in Graph Theory: a ComprehensiveApproa h. A ademi Press, 1990.[KA96℄ S. Kortas y P. Angot. A pra ti al and portable model of program-ming for iterative solvers on distributed memory ma hines. ParallelComputing, 22:487�512, 1996.[Kai94℄ G. Kaiser. A Friendly Guide to Wavelets. Birkhaeuser, Massa husetts,MA, 1994.[Kan94℄ J. H. Kane. Boundary-element analysis on ve tor and parallel om-puters. Computing systems in engineering, 5(3):239�252, 1994.[KGGK94℄ V. Kumar, A. Grama, A. Gupta y G. Karypis. Introdu tion to Pa-rallel Computing. Design and Analysis of Algorithms. The Benja-min/Cummings Publishing Company, In ., California, 1994.[KY93℄ L. Yu Kolotilina y A. Yu Yeremin. Fa torized sparse aproximate inver-se pre onditionings I. theory. SIAM J. Matrix Anal. Appl., 14(1):45�58, 1993.[Liu92℄ J. W. Liu. The multifrontal method for sparse matrix solution: theoryand pra ti e. SIAM Review, 34(1):82�109, 1992.[LL97℄ J. Laudon y D. Lenoski. The SGI Origin: A NUMA Highly S alableServer. Computer Ar hite ture News, 25(2):241�252, 1997.[LLCC93℄ H. J. Lee, J. C. Liu, A. K. Chan y C. K. Chui. Parallel implementationof wavelet de omposition/re onstrution algorithms. En Mathemati alImaging: Wavelet Appli ations in Signal and Image Pro essing. Pro .SPIE 2034, 1993.[MA92℄ Y. Mi y M. H. Aliabadi. Dual boundary element method for three-dimensional fra ture me hani s analysis. Engineering analysis withboundary elments, 10:161�171, 1992.[MA94℄ Y. Mi y M. H. Aliabadi. Three-dimensional ra k growth simulationusing BEM. Computers and Stru tures, 52:871�878, 1994.[Mal89℄ S. G. Mallat. A theory for multiresolution signal de omposition: Thewavelet representation. IEEE Trans. Pattern Anal. Ma hine Intell.,11:674�693, 1989.

Page 238: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

214 Bibliografía[Mar99℄ M. Martín. Fa toriza ión de Cholesky Modi� ada de Matri es Dis-persas sobre Multi omputadores. Tesis Do toral, Dept. Ele tróni a yComputa ión. Universidad de Santiago de Compostela, 1999.[Mes94℄ Message Passing Interfa e Forum. MPI: A Message Passing Interfa estandard. Informe Té ni o CS-94-230, Computer S ien e Department,University of Tennessee, Knoxville, TN, 1994.[Mey93℄ Y. Meyer. Wavelets: Algorithms and Appli ations. SIAM, 1993.[Nie99℄ N. Nievergelt. Wavelets Made Easy. Birkhaeuser, Boston, MA, 1999.[NRT92℄ N. M. Na htigal, S. C. Reddy y L. N. Trefethen. How fast are nonsym-metri matrix iterations? SIAM J. Matrix. Anal. Appl., 13(3):778�795, 1992.[Ogd97℄ R. T. Ogden. Essential Wavelets for Statisti al Appli ations and DataAnalysis. Birkhaeuser, 1997.[PA92℄ A. Portela y M. H. Aliabadi. The Dual Boundary Element Method:e�e tive implementation for ra k problems. Inter. Jour. Num. Meth.Engin., 33:1269�1287, 1992.[Par97℄ I. Pardines. Algoritmo paralelo para la fa toriza ión de Cholesky mo-di� ada. Proye to Fin de Carrera, Dept. Ele tróni a y Computa ión.Universidad de Santiago de Compostela, 1997.[PLP97℄ M. Pakzad, J. L. Lloyd y C. Phillips. Independent olumns: A newparallel ILU pre onditioner for the PCG method. Parallel Computing,23:637�647, junio 1997.[PMM94℄ D. M. Pase, T. M Donald y A. Meltzer. The CRAFT Fortran pro-gramming model. S ienti� Programming, 3:227�253, 1994.[Pom97℄ J. J. Pombo. Estudio y ompara ión de las té ni as de reordenamientopara matri es dispersas. Proye to Fin de Carrera, Dept. Ele tróni ay Computa ión. Universidad de Santiago de Compostela, 1997.[Por93℄ A. Portela. Dual Boundary Element Analysis of Cra k Growth, to-mo 14 de Topi s in Engineering. Computational Me hani s Publi a-tions, 1993.

Page 239: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Bibliografía 215[PT94℄ N. Phanthien y D. Tullo k. Completed double-layer boundary-elementmethod in elasti ity and stokes-�ow-distributed omputing throughPVM. Computational Me hani s, 14(4):370�383, 1994.[R+92℄ M. B. Ruskai et al. Wavelets and Their Appli ations. Jones andBartlett Publishers, 1992.[RS94℄ V. L. Rabinovi h y S. R. Sip i . Unilateral onta t problem for�nite bodies-parallel implementation. Computational Me hani s,13(6):414�426, 1994.[RZ95℄ L. F. Romero y E. L. Zapata. Data distributions for sparse matrixve tor multipli ation. Parallel Computing, (21):583�605, abril 1995.[Saa88℄ Y. Saad. Pre onditioning te hniques for nonsymmetri and inde�nitelinear systems. J. Comput. Appl. Math., 24:89�105, 1988.[Saa96℄ Y. Saad. Iterative methods for sparse linear systems. PWS PublishingCompany, 1996.[S o96℄ S. L. S ott. Syn hronization and ommuni ation in the T3E multi-pro essor. Informe té ni o, Cray Resear h, 1996.[Sil96a℄ Sili on Graphi s. Iris Power C, Users's Guide, 1996.[Sil96b℄ Sili on Graphi s. Iris Power Fortran, Users's Guide, 1996.[Sit94℄ D. Sitsky. Implementation of MPI on the Fujitsu AP�1000: Te hni- al details. Informe té ni o, Dept of Computer S ien e, AustralianNational University, septiembre 1994.[SN96℄ G. Strang y T. Nguyen. Wavelet and Filter Banks. Wellesley-Cambridge Press, 1996.[SO97℄ S. A. Stotland y J. M. Ortega. Orderings for parallel onjugate gra-dient pre onditioners. SIAM J. S i. Comput., 18(3):854�868, 1997.[SP94℄ C. Seeling y N. Phanthien. Completed double-layer boundary-elementalgorithm in many body problems for a multipro essor - an implemen-tation on the CM-5. Computational Me hani s, 15(1):31�44, 1994.

Page 240: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

216 Bibliografía[SS86℄ Y. Saad y M. H. S hultz. GMRES: a generalized minimal residualmethod for solving nonsymmetri linear systems. SIAM J. S i. Statist.Comput., 7:856�869, 1986.[SS95℄ P. S hroeder y W. Sweldens. Spheri al wavelets: e� iently represen-ting funtions on the sphere. En SIGGRAPH'95. 1995.[SS96℄ W. Sweldens y P. S hroder. Building your own wavelets at home. EnWavelets in Computer Graphi s, ACM SIGGRAPH Course Notes.1996.[ST94℄ J. N. Shadid y R. S. Tuminaro. A omparison of pre onditio-ned nonsymmetri Krylov methods on a large-s ale MIMD ma hine.SIAM J. S i. Comput., 15(2):440�459, 1994.[Sul91℄ S. Sullivan. Ve tor and parallel implementations of the wavelet trans-form. Informe té ni o, Center for Super omputing Resear h and De-velopment, University of Illinois, Urbana, 1991.[Swe94℄ W. Sweldens. Constru tion and appli ation of wavelets in numeri- al analysis. Tesis Do toral, Dept. of Computer S ien e, KatholiekeUniversiteit Leuven, 1994.[Swe95℄ W. Sweldens. The lifting s heme: a new philosophy in biorthogonalwavelet onstru tions. En Wavelet Appli ations in Signal and ImagePro essing III. SPIE onferen e, 1995.[Swe97℄ W. Sweldens. The lifting s heme: a onstru tion of se ond generationwavelets. SIAM J. Math. Anal., 29(2):511�546, 1997.[Thi94℄ Thinking Ma hine Corporation. CM Fortran language referen e ma-nual, 1994.[Tou98℄ J. Touriño. Parallelization and Compilation Issues of Sparse QR Al-gorithms. Tesis Do toral, Dept. Ele tróni a y Sistemas. Universidadde A Coruña, 1998.[Uhl95℄ A. Uhl. A parallel wavelet image blo k- oding algorithm. En Pro ee-dings of Intern. Conferen e on High Performan e Computing. NewDelhi, 1995.

Page 241: UDCgac.udc.es/tesis/PatriciaGonzalez.pdf · Dr. omás T ernández F ena P, Profesor Titular de Arquitectura y ecnología T de Computadores la ersidad Univ de tiago San Com-p ostela.

Bibliografía 217[Uhl96℄ A. Uhl. Wavelet pa ket best basis sele tion on moderate parallelMIMD ar hite tures. Parallel Computing, 22(1):149�158, 1996.[Vav92℄ S. A. Vavasis. Pre onditioning for boundary integral equations. SIAMJ. Matrix. Anal. Appl., 13(3):905�925, 1992.[vdS99℄ A. J. van der Steen. Overview of re ent super omputers. Informeté ni o, Utre ht University, 1999.[WA99℄ B. Wilkinson y M. Allen. Parallel Programming: Te hniques andAppli ations Using Networked Workstations and Parallel Computers.Prenti e�Hall, 1999.[Wid93℄ B. Widakovi . Wavelets for kids. Informe té ni o, Duke University,1993.[Yan94a℄ Y. Yan. A fast numeri al solution for a se ond kind boundary integralequation with a logarithmi kernel. SIAM J. Numer. Anal., 31(2),1994.[Yan94b℄ Y. Yan. Sparse pre onditioned iterative methods for dense linearsystems. SIAM J. S i. Comput., 15(5):1190�1200, 1994.[YM98℄ L. Yang y M. Misra. Coarse�grained parallel algorithm for multi�dimensional wavelet transforms. The Journal of Super omputing,12:99�118, 1998.[You96℄ A. Young. A single-domain boundary element method for 3-D elas-tostati ra k analysis using ontinuous elements. Inter. Jour. Num.Meth. Engin., 39:1265�1293, 1996.[ZBC+92℄ H. Zima, P. Brezany, B. Chapman, P. Mehrotra y A. S hwald. ViennaFortran � a language spe i� ation. Informe té ni o, Austrian Centerfor Parallel Computation. Univ. Vienna, 1992.[ZRL77℄ G. W. Za k, W. E. Rogers y S. A. Latt. Automati measurement ofsister hromatid ex hange frequen y. 25(7):741�753, 1977.