Programación paralela en estaciones de trabajo de un modelo numérico de un acuífero confinado resuelto por elemento finito
Contenido principal del artículo
Resumen
Con la finalidad de analizar el rendimiento del paquete Parallel Virtual Machine (PVM) en un red local de estaciones de trabajo con poder de cómputo heterogéneo, se presenta un ejercicio de programación paralela. Se trabaja con un modelo matemático de un acuífero confinado homogéneo isotrópico con flujo en una dimensión. Se usa el método de elemento finito para discretizar el dominio del flujo en elementos rectangulares y se resuelve numéricamente la ecuación diferencial parcial que describe el flujo en el acuífero, utilizando el método de Galerkin. Se obtiene un sistema de ecuaciones algebraicas que se resuelven con métodos iterativos. Se hace un programa para computadora en lenguaje C para cada método iterativo usado. Se diseña al algoritmo paralelo según el paradigma maestro-esclavo. En el caso del método de Jacobi, bastó con descomponer el dominio en partes iguales para obtener una eficiencia aceptable. En cambio con el método de Gauss-Seidal, además de hacer descomposición del dominio resultó necesario paralelizar el avance de las iteraciones. Aunque la red local que se utilizó en este trabajo es de uso múltiple y no fue diseñada para hacer cómputo paralelo, se encuentra lo esperado, esto es, la salida del código paralelo es igual a la salida del código secuencial y se reduce significativamente el tiempo de ejecución al incrementar el número de computadoras. Con el uso del método de Gauss-Seidal se alcanza una acelaración más alta que con el método de Jacobi.