Computadoras Fernando G. Tinetti 1;2 , Walter J. Aroztegui 1 , Antonio A. Quijano 1 (1)
Centro deTecnicas Analogico-Digitales (2)
Instituto deInv. enInformatica-LIDI
Facultadde Ingeniera,UNLP Facultadde Informatica,UNLP
48 y 116, 2do. Piso, 1900 La Plata 50 y 115, 1900 La Plata
Argentina Argentina
fernando@info.unlp.edu.ar,waroz@graÆti.net,quijano@volta.ing.unlp.edu.ar
Resumen
En esteartculo sepresentauna estrategiadeparalelizacion en clustersdelmeto dode
Gauss-Seidelparalasoluciondesistemasdeecuacionesralas.Desdeelpuntodevistadela
solucion numericaparamatricesdeco ecientescon p o cadensidad deelementosno nulos,
se siguen los lineamientos estandares. Es decir: esquemas de almacenamiento esp eciales
(solamente se almacenan los elementos no nulos) y meto dos iterativos de b usqueda de
solucion p oraproximaciones sucesivas.
Desde elpuntodevistadelaparalelizacion delpro cesamientoenclustersde
computa-doras,sesiguen dosprincipios basicos:distribucion de datosunidimensional yutilizacion
de mensajes broadcast para to da comunicacion de datosentre pro cesos. La distribucion
dedatosunidimensional facilitaalmaximoladistribucion de cargade pro cesamientoa un
en elcaso de clusters heterogeneos (que, sin embargo, no se presentan en este artculo).
La utilizacion de mensajes broadcast para to da comunicacion de datos entre pro cesos
esta directamente orientada a la optimizacion de rendimiento de las comunicaciones en
la mayora de los clusters instalados y que se utilizan para computo paralelo. La
inter-conexion masusual de estos clusterseslaprovista p or lasredes Ethernet,y p orlotanto
pueden implementar los mensajesbroadcasta nivelfsico consobrecarga mnima.
Se presenta el analisis de rendimiento paralelo y ademas los resultados obtenidos en
unaredlo caldecomputadorasheterogeneasqueseutilizancomosifueranhomogeneas.En
estecaso seutiliza una implementacion delabiblioteca MPI(MessagePassageInterface)
paralacomunicacion entrepro cesos.
Palabras Clave: SistemasdeEcuaciones Ralas, Computo ParaleloenClusters, Problemasde
AlgebraLinealenParalelo,AlgoritmosParalelos,RendimientodeComputoyComunicaciones.
Workshop al que esta dirigido:Workshop dePro cesamiento Distribuidoy Paralelo.
1. Introduccion
Muchasramasdelacienciaylaingenieranecesitanuna considerablep otenciadecalculoen
lado biologico y una amplia y variada gama de aplicaciones cientcas tpicas. Recientemente
sehan sumadootras areas como lasde simulacionnanciera y economica.
As, muchos de estos mo delos involucran un gran n umero de ecuaciones diferenciales
par-ciales (EDPs) y la manera mas com un de resolverlas es discretizandolas, es decir,
aproxi-mandolas p or ecuaciones que contienen un n umero nito de incognitas. Se pro ducen de esta
manera grandes sistemas de ecuaciones lineales ralos o disp ersos (sparse) [3] del tip o que se
trata eneste trabajo.
Para conseguir la p otencia de calculo necesaria para resolver los sistemas de ecuaciones
mencionados, historicamente se han dise ~nado diversos tip os de sup ercomputadoras de
fun-cionamientoparalelocon caractersticasvariadas resp ectoaarquitectura,conguracion,
memo-ria,etc.[17]. Desdehaceunos p o cos a ~nos losavancesincludosenlosmicropro cesadores
llama-dos \domesticos" o de ocina y una mas que aceptable relacion costo-b enecio determinan la
tendencia a la utilizacion de computadoras paralelas formadas p or redes o clusters de PC ya
sean homogeneos cuando to das las PC son del mismo tip o (que es la denicion comunmente
aceptada de cluster) o heterogeneos si se trata de diferentesclases [5]. Este artculo se enfo ca
primariamenteenun grup ohomogeneo conectadocon una red deltip o Ethernet,que sepuede
encontraren ambitos variados y cotidianos.
Los meto dos deresoluciondesistemasdeecuaciones linealespuedenclasicarseendirectos
o indirectos, en los meto dos directos las matrices que representan a los sistemas a calcular
son llevadosmediantestransformacionesaformas massimplesyestas calculadasdirectamente.
Un ejemplocaracterstico es elmeto dode eliminaciongaussiana quetransforma lamatriz que
representa elsistemaoriginalenuna detip otriangularcuyaresolucion essimpley directa.Los
meto dos iterativoso indirectosdan lugar auna sucesion devectores queidealmenteconvergen
a la solucion del sistema mediante la rep eticion de un pro ceso sencillo. El calculo se detiene
cuando se cuenta con una solucion aproximada con cierto grado de precision esp ecicado de
antemano odespues deun determinado n umero de iteraciones [8][13 ].
En el caso esp ecial de los sistemas ralos o disp ersos, en los que una prop orcion grande de
los elementos de la matriz del sistema son ceros, los meto dos iterativos son particularmente
ecientes.Mas a un cuando se emplean esquemas de almacenamientoesp eciales para matrices
ralas,estosepuedevericaralconsiderarunsistemaconunabajadensidaddeelementosno
nu-los.Utilizandoun meto do directo,lastransformacionessobre ceros puedenpro ducirelementos
distintos decero, p or lo quedeb e trabajarse con el sistemacomo si fueradenso [6].Al utilizar
un meto do iterativo, los co ecientes nulos se mantendran invariables y puede prescindirse de
ellos, con el resultante ahorro de espacio en memoria y tiemp o de pro cesamiento al no tener
que accederni utilizarop erandos nulos.
Enlasseccionque sigue(seccion2),semostraran losmeto dosdealmacenamientode
matri-ces ralas y el meto do iterativo Gauss-Seidel para resolucion de ecuaciones lineales. La seccion
3intro ducelaparalelizacion delmeto do iterativodirectamenteorientadaaclusters
interconec-tados p orredes Ethernet.La seccion 4muestralosresultados obtenidos enla exp erimentacion
sobreun clusterenparticularysobre elnalsedanlasconclusionesytrabajosfuturos(seccion
Seidel
En esta seccion inicialmente se muestra como ahorrar espacio en el almacenamiento de
matrices con una gran prop orcion de elementos nulos. Posteriormente, se muestra como se
resuelvenlossistemasde ecuacionescon elmeto doGauss-Seidel yenquemedidaelmeto dose
ve afectadop or el sistemade almacenamiento dematricesralas.
2.1. Almacenamiento de Matrices Ralas o Dispersas
De estos esquemas dealmacenamiento,elmas simpleeselllamado deformato co ordinado,
que constade una estructura dedatos con tres arreglos:
Unarreglorealconteniendoto doslosvalores(realesocomplejos)deloselementosdistintos
decero de lamatriz encualquier orden.
Un arregloenteroconteniendolosndices dela.
Un segundo arreglo entero conteniendolosndices decolumna.
Los tres arreglos de largo igual a la cantidad de elementos distintos de cero de la matriz, que
se denominara Nz. Como loselementosusualmentese listan p or las o p or columnas,uno de
los arreglos conndices mencionados antes puede contener informacion redundante. Teniendo
esto en cuenta, se llega al formato de almacenamiento que es probablemente el mas p opular
en matricesralas y que se cono ce como CSR (Compressed Sparse Row) o formato de la rala
comprimida[14 ]. Eneste casose tienen tambientres arreglos, p ero ahora son:
Un arregloconteniendolos elementosno nulos de lamatriz, almacenadosp or la.
Un arregloenteroconteniendolosndices decolumnaresp ectivos.
Un arregloenteroconteniendolos punteros alinicio decada la.
Deesta manerasetienendos arreglosdelongitud Nz yotro delongitud igualn+1conn igual
al n umero de las (ecuaciones) y siendo el ultimo elemento de este el que indica la cantidad
total deelementosno nulos mas uno. Si,p or ejemplo,setiene el sistema deecuaciones
0 B B B @ 2;04 0 1 2;3 0 0 3;2 0 0 1 6 0 4 0 1 0 1 C C C A 0 B B B @ x 1 x 2 x 3 x 4 1 C C C A = 0 B B B @ 40;8 0;8 0;8 200; 8 1 C C C A
La matrizdeco ecientesseraalmacenada enlos tresvectores quese muestranacontinuacion:
AA = ( 2;04 1 2;3 3;2 1 6 4 1 )
JA = ( 1 3 4 3 2 3 1 3 )
IA = ( 1 4 5 7 9 )
donde AAcontiene los co ecientesno nulos, JA contiene losndices de columna de cada
herramienta MatLab, p orejemplo [11].
MSR(Mo died SparseRow) ola rala mo dicadaqueseorienta aaprovecharque
gene-ralmentelos elementos de la diagonal principalde la matriz son distintos de cero y que
seaccede a ellos con mas frecuencia queal resto deelementos [14 ].
Por diagonales,para lasmatricesestructuradas diagonalmente,esdecirconsuselementos
no nulos concentrados enunas p o cas diagonales [14] [6].
Ellpac-Itpack, que esun esquemageneral y p opular enlas maquinasvectoriales[14].
2.2. Metodo Iterativo de Gauss-Seidel
Los meto dositerativosintentanencontrarlasoluciondelsistemaapartirdeun vector
solu-cion inicial x (0) 1 ;x (0) 2 ;:::;x (0) n
que generalmentese tomacomo cero, demaneraque sepro ducen
pasoapasovaloresmejoradosdex
i
.Estepro cesoserepitehastallegaraloqueseconsiderauna
buena aproximacion. Asumiendo que los co ecientes del sistema de ecuaciones son denotados
como a
ij y b
i
es el resultado buscado de cada ecuacion delsistema, una expresion mas general
para estepro cedimientoes:
x (k ) i = 1 a ii 0 @ b i X j6=i a ij x (k 1) j 1 A (1)
que como mnimo requiere que a
ii
6= 0 y constituye el meto do de Jacobi, en el que en cada
aproximacionse calcula con losdatos dela iteracion anterior.
Enelmeto dodeGauss-Seidelestepro cesoiterativosemo dicademaneraquelasecuaciones
utilicen losvalores dela incognitas calculados enlas ecuaciones anteriores, corresp ondientes a
laactualiteracion. Esto pro duceuna considerablemejoraenlaconvergenciay seexpresadela
forma: x (k ) i = 1 a ii 0 @ b i X j<i a ij x (k ) j X j>i a ij x (k 1) j 1 A (2)
Tanto elmeto dodeJacobicomoeldeGauss-Seideltienencondicionessimilaresparala
conver-genciaparacualquier solucion inicial,aunque normalmenteelmeto dodeGauss-Seidelrequiere
signicativamentemenor cantidad de iteraciones, es decir valores de k en la Ec. (2). Tambien
para los dos meto dos iterativos, el calculo del error suele utilizar el calculo de las diferencias
entre valores sucesivos delas variables, esdecir:
x i =jx (k ) i x (k 1) i j (3)
Se deb e hacer notar que ninguno de estos meto dos se ve alterado p or la forma de
alma-cenamiento de la matriz de co ecientes. Por supuesto que el acceso a los datos en el caso del
almacenamientoCSRparamatricesralasdeb eserrealizadoutilizandolosvectoresmencionados
antes,p ero esto no cambia lascaractersticas numericasdelalgoritmo (cantidadde iteraciones
yvaloresdelvectorsolucion)sino lacantidaddeop eraciones realizadas dadoquenoseutilizan
los valores nulos.
tomarse como un caso particular de otro pro cedimiento muy cono cido como es el de
sobrerrelajacion SOR (Successive Overrelaxation)
La dep endenciadedatosenloscalculosdadaenlaEc.(2)essucientementefuertecomo
para no estar en el mejor de los casos para los requerimientos de computo, como es el
caso del meto do deJacobi, donde una vezque se tiene una solucion los calculos para la
siguiente solucion son to dos indep endientes entre s y p or lo tanto su paralelizacion es
inmediata.
3. Paralelizacion de Gauss-Seidel
Comosemencionaantes,laparalelizaciondelmeto dodeGauss-Seidelnoesinmediatadada
ladep endenciadedatos queexisteparacalcularlosvalores decadaiteracion. Engeneral,para
matricesralaslosesfuerzossecentrannotantoenlaparalelizacioncomoenelpre-ordenamiento
delasmatricesparallevarlasaformasquepuedanserimplementadasenparalelodeunamanera
eciente.Deestamaneraseaprovechanlascondicionesinherentesalavelo cidaddeconvergencia
deGauss-Seidelyloselementosnulosquenoseutilizan.Algunoscasosquesepuedenmencionar
son elordenamientoenblo quesmulticoloresindep endientesentres[14 ]olosquepro ducenlas
matrices llamadasecha (Blo ck-Diagonal-Bordered-Sparse) [10] [9].
Ademas de utilizaralmacenamiento esp eccamenteorientadoa los sistemasde ecuaciones
ralos, la paralelizacion que se prop one en este artculo sigue los principios delineados en [15],
que sepueden resumiren:
Mo delo de programacion p or pasaje de mensajes, que es el considerado mas apropiado
para el pro cesamiento paralelo enclusters.
Mo delo de pro cesamiento SPMD (Single Program - Multiple Data), que es sencillo y
escalable. Por otro lado, la gran mayora de los algoritmos paralelos para problemas de
algebra lineal siguen estemo delo depro cesamiento.
Distribucion de datos unidimensional, es decir que to dos los pro cesos/pro cesadores se
consideraninterconectadosenunarreglolinealop orunbus decomunicaciones.Setiende
ap ensar enun bus siguiendola denicion mismadelestandarEthernetde interconexion
decomputadoras enuna red lo cal.
Comunicacionentrepro cesosconmensajesbroadcastunicamente siemprequeseap osible,
es decir que to do intercambio de datos se piensa en funcion de un pro ceso que enva y
que to dos los demas recib en los datos enviados. Tambien se tiende a la optimizacion de
laimplementaciondeesta primitivadecomunicacionessobre elhardware prop orcionado
p or elestandar Ethernet[7],que esinmediato.
El meto dodealmacenamiento elegidoesel CSR (CompressedSparse Row) mencionado antes.
La particion o distribucion de los datos a pro cesadores entre los pro cesos o pro cesadores se
realizap orblo quesdelasenpartesiguales(enestecaso,elclustersetomacomohomogeneo).
LaFig.1muestraesquematicamentelaparticiondeunsistemadeecuacionesentretrespro cesos
P 0 , P 1 y P 2 .El pro ceso P 0
tendraasignado elprimertercio deecuaciones (las delamatrizde
co ecientes),el pro ceso P
1
elsegundo tercio y elpro ceso P
2
P
0
P
1
P
2
Figura 1: Distribucion de Blo ques deFilas enTres Pro cesos.
esta particion es indep endiente del almacenamiento CSR de una matriz rala, y p or otro lado
que, dado un blo que de las, queda automaticamente determinado el conjunto de variables
que el pro ceso puede calcular. Mas esp eccamente, cada pro ceso puede calcular el valor de
las variablesque estan aso ciadas a ladiagonal principalde lamatriz (rala) deco ecientes,tal
como puede derivarse de la Ec. (2). Una vez identicadas las las de cada pro ceso, cada uno
seencarga dedividirlaslas asignadas p orelelementocorresp ondientea ladiagonal principal
resp ectiva.El sistemaquedara:
x i =b i X j6=i a ij x j ; b i = b i a ii ; a ij = a ij a ii
A partir de ahora empieza el pro ceso iterativo, que se puede separar en varias etapas, y que
convienedescribir desdela primeraiteracion:
1.- Inicialmente, es decir con un valor inicial para las incognitas, el pro ceso con el primer
blo quedelas puedecomenzarconelcalculodelasvariablesaso ciadas. Esdecirqueelpro ceso
P
0
con lasprimerasbslaspuededeterminarelvalordelasvariablesx (1) 1 ;:::;x (1) bs directamente a partir de x (0) 1 ;:::;x (0) n
. Los demas pro cesos solamente pueden llevar a cab o los resultados
intermedios que corresp onden a la segunda sumatoria que aparece en la Ec. (2), es decir que
dep endende losvaloresx (0)
i .
2.- Una vez que se tienen calculados los valores x (1)
1
;:::;x (1)
bs
, to dos los demas pro cesos
pueden utilizar estos valores para el calculo de la primera sumatoria de la Ec. (2). Dado que
el pro ceso P
0
es el que tiene los valores de estas variables y to dos los demas los necesitan,
es natural p ensar en un broadcast desde el pro ceso P
0
a to dos los demas. De hecho, en este
segundo paso secompletanto dos loscalculosnecesarios para losvaloresdex (1) bs+1 ;:::;x (1) 2bs enel pro ceso P 1
que,a suvez,puedenserenviados a to doslos demas pro cesos para loscalculosque
dep enden de ellos de acuerdo con la Ec. (2). Se deb e notar que estos valores x (1) bs+1 ;:::;x (1) 2bs se
pueden utilizar tambien en el pro ceso P
0
, p ero para el calculo de las variables de la siguiente
iteracion de Gauss-Seidel,es decir para elcalculo parcialde losvaloresx (2) 1 ;:::;x (2) bs .
3.- Los dos pasos anteriores se pueden continuar (calculos parciales llegando a los valores
de cada conjunto de variables en los pro cesos corresp ondientes) tomando como referencia los
pro cesos P
i
hasta elultimo pro ceso con el ultimo blo quede las/variables, donde:
Setienenlosvaloresparato daslasvariablesdeunaiteraciondeGauss-Seidel(laprimera,
siguiendo con ejemplocon k=1).
Sise calculanloserrores junto con lasvariablesdeacuerdo con laEc. (3) sepuede tener
de recep cion de datos provenientes de los demas pro cesos (va broadcast), calculos parciales
con estos datos,envodelosvaloresdelas variablesquese manejanlo calmenteuna vezquese
tienencompletamentecalculados (vabroadcast)y determinaciondecontinuar ono deacuerdo
alerror oa una se ~nal delultimo pro ceso que loindica.
3.1. Caractersticas de Rendimiento del Algoritmo Paralelo
Solamentese resumiran lospuntos mas relevantescon resp ecto al rendimiento paralelo del
algoritmo,paraevitardemasiadosdetallesquesepuedenaclarardirectamenteenlosexp
erimen-tos de laseccion siguiente.Una p osiblidad de analisis derendimiento delalgoritmo propuesto
puede ser la de asumir que lascomunicaciones no tienen ning un p eso de tiemp o deejecucion.
Esteseraelmejorcasop osibley,dehecho,noesp osibleenunaimplementacionreal(los datos
estaraninstantaneamentedisp oniblesento daslascomputadoras).Sinembargo,dacomo
resul-tadoeloptimoabsolutoocotamaximaderendimientoqueesdeesp erarenunaimplementacion
real.
Teniendoen cuenta ladescrip cion anterior,lasimultaneidaddeloscalculosseda alutilizar
losvalores obtenidospara un sub conjunto devariablesenlas dep endenciasdeterminadas para
las demas. Siguiendo el punto 1.- del ejemplo anterior, una vez que el pro ceso P
0 calcula los valores x (1) 1 ;:::;x (1) bs
y los comunica a to dos los demas, P
1
;:::;P
p 1
(asumiendo que son p
pro cesadores/computadoras en total), to dos estos pueden computar simultaneamentecon los
datos obtenidos de P
0
. A partir de este punto el algoritmo es basicamente igual: un pro ceso
envalosvaloresdebsvariablesy to dos losdemas(p 1pro cesos)losutilizanpara suscalculos
parciales. Esto signica que en to do tiemp o hay a lo sumo p 1 pro cesadores computando
simultaneamente. Siguiendo con la idea de considerar que los mensajes broadcast no tienen
ning un p eso de tiemp o de ejecucion, el sp eedup maximo del algoritmo es, claramente,p 1
para p pro cesadores.
Aunque tan claro como idealizado, este sp eedup optimo puede llegar a sup erarse en
algu-nas circunstancias. En [4] se comentan algunos obstaculos signicativos para la obtencion de
rendimientooptimoenelcontextodelossistemasdeecuacionesralosdirectamenterelacionados
con el rendimiento secuencial:
Falta de regularidad y lo calidad en el acceso a los datos. El mayor problema radica
en la utilizacion de los esquemas de almacenamiento de matrices ralas que, como se
mostro esp eccamente para el caso del esquema CSR, tiene tres arreglos de datos y
requiereelacceso indirectoa losdatos de lamatriz deco ecientes.
La op eracion basica a optimizares la de la multiplicacion de una matriz p or un vector,
dado que es la principal op eracion a utilizar en los meto dos iterativos de resolucion de
sistemas de ecuaciones. La diferencia de rendimiento con los sistemas densos suele ser
muygrande,dado queenlossistemasdensoslaop eracion utilizadacon mayorfrecuencia
esla de multiplicaciondematrices.
Por lo tanto, en el contexto de los sistemas ralos la lo calidad juega un pap el prep onderante
en el rendimiento obtenido >Como puede afectar esto al rendimiento paralelo? En cierta
for-ma esta relacionado con lo que se comenta mas extensamente en [16]: cuando el sistema de
nica que si no se escala el problema junto con la cantidad de datos se obtiene ganancia de
rendimiento no solamente p or el computo simultaneo sino tambienp or el computo lo cal
(se-cuencial)masveloz.Expresadodeotraforma,setienendosfuentesdegananciaderendimiento:
computo lo cal mas rapido y computo simultaneo en varias computadoras. De esta manera se
puede llegar a sup erar el sp eedup optimo absoluto, p ero se deb e recordar que esto sucede
p or considerar el rendimiento en terminos de sp eedup con tama ~no jo del problema, quizas
adoptando la mismavision que la llamada\Ley deAmdhal" [1].
4. Experimentacion y Resultados Obtenidos
En terminos dehardware, laimplementacionse llevoacab o enuna red dePCs
interconec-tadascon Ethernetde10Mb/s.To das lasPCsse utilizaroncon elsistemaop erativoLinux yla
implementacionLAM (Lo cal Area Multicomputer)[2] delabibliotecaestandar MPI(Message
Passage Interface) [12 ]para pasaje de mensajesentrepro cesos.
De labibliotecaMPIsolamenteseusolafuncionbroadcast,dadoquedehecho elalgoritmo
fue concebido para que esto sea p osible, prescindiendo eventualmente de la utilizacion de un
switchenlared,que eselunico recursocon queotros meto dospuedeneludirlascolisionesque
aumentany se hacen imp ortantesalcrecer ladimensionde lossistemas acalcular.
A medidaquelossistemascrecenentama ~no, elcostodecomunicacionestambienaumenta,
y uno de los propositos de la exp erimentacion es, justamente, determinar el p eso relativo de
lascomunicacionescon resp ecto alcomputopara estealgoritmo. Mas esp eccamente,sedeb e
determinar el rendimiento para distintos tama ~nos del sistema de ecuaciones con diferentes
cantidadesdecomputadoras.Siempreelobjetivoesobtenermayorsimultaneidadenloscalculos
cuando se utiliza mayor cantidad de computadoras. Mas esp eccamente, se esp era a priori
obtener mayor rendimiento (sp eedup y eciencia)con mayor cantidad de maquinas utilizadas
y tama ~nos relativamentegrandes de sistemasdeecuaciones.
Se utilizaron diferentes cantidades de computadoras y diferentes tama ~nos de sistemas de
ecuaciones con un p orcentaje de densidad (valores no nulos) de la matriz de co ecientes,y el
rendimientose determinap or la metricacono cida desp eedup. Resumiendolosexp erimentos:
Seutilizaron entreuna (pro cesamiento secuencial)y cinco computadoras enparalelo que
es la maxima cantidad de PCs disp onibles para este trabajo de investigacion. Aunque
to das las computadoras son diferentes entre s (el cluster es heterogeneo) se utilizaron
como si fueran homogeneas.
Los tama ~nos desistemasdeecuacionesfueron: 1200y2400ecuaciones conlasresp ectivas
incognitas. Elmnimoestadado p or lacantidad mnimade ecuaciones que tienesentido
paralelizar (eltiemp o secuencialessucientementegrande). El maximoesta relacionado
con la cantidad maxima de datos que una computadora puede contener en memoria
principalsinhacer uso dela memoriaswap y tambiencon eltiemp odelos exp erimentos
(para queno sea excesivo).
El sp eedup secalcula con resp ecto al pro cesamiento secuencialsin hacer uso deninguna
primitivadepasaje demensajes.Es decirqueno es afectadop orninguna sob ercarga que
decomputo.
Las densidades se jaron en 20% y 50%, es decir que la matriz de co ecientes tiene el
80% y el50%de losvaloresiguales a cero resp ectivamente.
La Fig. 2 muestra losresultados obtenidos enla exp erimentacionpara to das las variantes que
se describ en antes. Sobre el eje x se tienen los dos tama ~nos de sistemas de ecuaciones con los
quese exp erimento(1200 y 2400 ecuaciones eincognitas), sobre eleje yse muestra elsp eedup
obtenido en los exp erimentos,y se muestran con barras cuatro series de valores, cada una de
ellas corresp ondientesa lautilizacion de 2,3,4 y 5 computadoras resp ectivamente.
1200
2400
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
2 Comp.
3 Comp.
4 Comp.
5 Comp.
Tamaño del Sistema
S
p
ee
d
u
p
1200
2400
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
2 Comp.
3 Comp.
4 Comp.
5 Comp.
Tamaño del Sistema
S
p
ee
d
u
p
a) Densidad de20% b)Densidad de50%Figura 2: Rendimiento con DiferentesTama ~nos y Cantidades deComputadoras.
Los resultados obtenidos son casi identicos para las dos densidades con las que se exp
eri-mento: 20% y 50%, con lo que se puede hacer el analisis de resultados sin hacer referencia a
ladensidad el sistemade ecuaciones.En to dos loscasos se puedeverque sesup era elsp eedup
optimo esp erable p or el algoritmo. De acuerdo con el analisis realizado en la seccion 3.1, el
optimopara este algoritmo esta dado p orp 1, asumiendoque p esla cantidad totalde
com-putadoras. Sin embargo,indep endientementedel tama ~no del sistema como de la cantidad de
computadoras este optimo se sup era. Esto signica que la reduccion en la cantidad de datos
que cada computadora pro cesa mejoralalo calidad y p or lotanto elrendimientosecuencialen
cada unade ellas.Ademas,se deb erecordar quelascomputadoras utilizadas son heterogeneas
y queeltiemp odecomputosecuencialde referenciaparaelcalculodelsp eedupeselde lamas
lenta.Esto pro duceque los tiemp osde computolo calen cada computadora sera menorque el
tiemp odela mas lenta.Una delasconsecuenciases que,p or ejemplo,cuando lacomputadora
mas lenta no intervieneen loscalculos(esla queenvalosvaloresde lasvariables autilizaren
to das lasdemas), eltiemp odecomputodeestoscalculosparcialespuedesermuchomenorque
si sehicieran enla mas lenta.
Mas esp eccamente, en el caso de utilizar dos computadoras, con una que es dos veces
mas veloz que la otra, cada una de ellas hara el 50% del total de pro cesamiento, dado que
manera, se aprovecha automaticamentela mayor velo cidad de computo de las computadoras
queseutilizan.Sin embargo,desdeelpuntodevistamasgeneraldecomputoparalelo,sintener
en cuenta el algoritmo, en ning un caso se llega a tener sp eedup igual a la cantidad total de
computadoras usadas que es,en general,p.
OtradelascaractersticasderendimientointeresantesparaobservarenlaFig.2eselp esode
lascomunicacioneseneltiemp ototaldecomputo.A p esardequeelanalisis previoasumioque
no tienen p eso entiemp odeejecucion, tambiense advirtio que esto no sucedeen realidad.En
particular, es de esp erar que dep endiendo de la implementacion de los mensajes broadcast a
mayorcantidaddecomputadoraseltiemp odecomunicacionesseamayor,dadoquepuedehab er
mayor cantidad deretransmisionesomayortiemp odesincronizacion para lascomunicaciones.
En la Fig. 2 se puede notar que a un en el sistema mas p eque ~no (1200) y con la cantidad de
computadoras mayor (5) el sp eedup obtenido es aceptable. Sin embargo, tambien en la Fig.
2 se puede observar que a igual cantidad de computadoras en paralelo el sp eedup obtenido
es un p o co mayor para el sistema de ecuaciones mayor (2400). De to das maneras, a un es de
esp erar que a mayor cantidad de computadoras el tiemp o de comunicacionespro duzca mayor
p enalizacion de rendimiento,p ero se deb eran vericar los resultados de exp erimentacion con
mayor cantidad decomputadoras quelas utilizadas para estetrabajo.
5. Conclusiones y Trabajo Futuro
Se ha presentado un algoritmo paralelo del meto do de Gauss-Seidel para matrices ralas
sobre una red lo cal, utilizando las ventajas de un almacenamiento comprimido para tratar
con este tip o de sistemas de ecuaciones de baja densidad de elementos no nulos. Se muestra
va exp erimentacion que la implementacion obtiene buenos resultados en paralelo utilizando
hasta cinco maquinas, a un en una red de PCs de utilizacion cotidiana, con una red de muy
bajo rendimiento (Ethernet10Mb/s).Un detalle relativamenteimp ortanteesque se notanlas
diferencias decapacidad de computorelativade las computadoras enel rendimiento obtenido
calculadoconelsp eedup.Aunquenonecesariamenteesesencial,senotaciertoaprovechamiento
delas computadoras que tienenmayor capacidad decomputo.
Tambien la exp erimentacion muestra, en concordancia con trabajos anteriores [4] [16], la
imp ortanciaquetienelalo calidadderefernenciaenelrendimientoparalelo cuandolostama ~nos
de problemas no escalan con la cantidad de computadoras. Es imp ortante recordar que estos
casos sedan enelcontextodelareduccion deltiemp odeejecuciondeun problemadetama ~no
esp ecco.Sin embargo,tambienesimp ortanterecordar queno siempre teniendomayor
canti-dad de computadoras se resuelveel mismoproblema(delmismotama ~no) sino que setiende a
resolverproblemas mayores.
Queda p or analizar el rendimiento del algoritmo con mayor cantidad de computadoras.
En este caso se puede identicar con mayor precision los alcances en cuanto a escalabilidad,
p or ejemplo. Mas esp eccamente,se deb e analizar la p enalizacion que imp onen los mensajes
broadcastenelrendimientoobtenidocuandoseutilizandecenasocentenaresdecomputadoras.
Por supuesto, en esto caso se dep ende de la cantidad total de computadoras disp onibles para
realizar laexp erimentacion.
Tambien queda p or analizar como se comp orta el algoritmo presentado trabajando con
varios blo quesdelas p orcadapro cesador. Por unlado, esto aumentaralacantidad de
computadoras heterogeneas. En este caso se deb era balancear la carga de pro cesamiento de
cada computadora de acuerdo con su capacidad de computo relativa a las demas. Esto
pro-ducira que el tiemp ode ejecucion para elpro cesamiento de los datos sea similarento das las
computadoras. De hecho, en este contexto se vera con mayor claridad que la distribucion de
datosunidimensionalnosolamenteesatractivap orsusimplicidadsinotambienp orquepro duce
una faciladaptacion delalgoritmo paralelo al contexto heterogeneo.
Referencias
[1] AmdhalG.,\ValidityoftheSingle-Pro cessorApproachtoAchievingLarge-Scale
Comput-ing Capabilities", Pro c.1967 AFIPS Conference,Vo.30, p. 483, 1967.
[2] Burns G., R. Daoud, and J. Vaigl, LAM: An Op en Cluster Environment for MPI. Ohio
Sup ercomputer Center, May 1994. LAM/MPI is available at University of Notre Dame
(http://www.mpi.nd.edu/lam)- 1998-2001.
[3] Chapra-Canale, Meto dos Numericos para Ingenieros,McGraw-Hill,1995.
[4] Dongarra J., \High Performance Computing Trends and Self Adapting Numerical
Soft-ware", HighPerformanceComputing.5th InternationalSymp osium,ISHPC2003,T
okyo-Odaiba, Japan, Octob er20-22, 2003,Pro ceedings. Series:Lecture NotesinComputer
Sci-ence,Vol.2858. Veidenbaum,A.; Jo e, K.;Amano, H.; Aiso,H. (Eds.), 2003,XV, pp. 1-9,
ISBN: 3-540-2035 9-1 .
[5] Foster, I., Designing and Building Parallel Programs, Addison-Wesley, Reading,
Mas-sachusetts, 1995.
[6] GolubG.,C.Van Loan,MatrixComputations,2ndEdition,TheJohn HopkinsUniversity
Press, 1989.
[7] Instituteof Electricaland ElectronicsEngineers,Lo cal AreaNetwork-CSMA/CDAccess
Metho d and Physical Layer Sp ecications ANSI/IEEE 802.3 - IEEE Computer So ciety,
1985.
[8] Kinkaid D., W. Cheney, Analisis Numerico (Las Matematicas del Calculo Cientco),
Addison-Wesley Ib eroamericana, 1994.
[9] Ko esterD.P.,\ParallelBlo ck-Diagonal-BorderedSparseLinearSolversforPowerSystems
Applications", NPACTechnical Rep ort SCCS-745, 1995.
[10] Ko ester D. P., S. Ranka, and G. C. Fox. \A Parallel Gauss-Seidel Algorithm for Sparse
PowerSystemMatrices",NPACTechnicalRep ortSCCS630, NortheastParallel
Architec-tures Center (NPAC), Syracuse University.Pro ceedings of the Scalable Parallel Libraries
Conference.IEEE Press, 1994.
[11] MatLab 6.0 release 12, Guide, 2000.
Interna-[14] Saad Y., IterativeMetho ds for Sparse Linear Systems,2nd edition, So ciety for Industrial
and Applied Mathematic,2003.
[15] TinettiF.G.,ComputoParaleloenRedesLo calesdeComputadoras, TesisDo ctoral (Do
c-torado enInformatica) dela UniversidadAutonomade Barcelona,Marzo de 2004.
[16] TinettiF.G.,M. Denham,\ParalelizacionySp eedupSup erlinealenSup ercomputadoras.
EjemploconMultiplicaciondeMatrices",Pro ceedingsVI ICongresoArgentinodeCiencias
dela Computacion (CACIC),ElCalafate, Santa Cruz,Argentina,16 al 20 deOctubrede
2001, Tomo I I, pp. 765-774.
[17] Wilkinson B., M. Allen, Parallel Programming: Techniques and Applications Using