• No se han encontrado resultados

Solución de sistemas de ecuaciones ralas en clusters de computadoras

N/A
N/A
Protected

Academic year: 2021

Share "Solución de sistemas de ecuaciones ralas en clusters de computadoras"

Copied!
12
0
0

Texto completo

(1)

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

(2)

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

(3)

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

(4)

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.

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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.

(12)

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

Referencias

Documento similar

Esta cuota recogida en el Plan de Abandono la pondría el MAPA a disposición del sector según los criterios que exponemos en esta misma edición de &#34;Ganadería&#34;, enfocando en

Vista parcial de bolosresultante de la disgregaci6n de las tonalitas,en las proximidades a Zarza

El impacto de la planificación o de los objetivos estratégicos de YPFB como ya vamos mencionamos son diez (10) de los cuales iremos analizando cada uno de los

sin embargo, a pesar de dicho conocimiento los costos estimados se alejan de los costos reales incluidos para producir cada producto. Por otra parte, la determinación de la

producción aparecen como mercancias compradas Oc - el capitalista para el consumo productivo. Esas mercaocias convierten en portadores materiales del capital anticipado, en

• Aumento de la demanda: mayor valoración para una cantidad dada o mayor cantidad para un precio dado. • Factores que hacen que la demanda se

El Proyecto Calle trabaja con niños, niñas, adolescentes y jóvenes en situación de calle, los cuales se ven obligados a desarrollar estrategias de sobrevivencia para cubrir

Esta propuesta de mejora tiene como objetivo lograr además, una estrategia de marketing digital, la cual nace de analizar las diferentes oportunidades comerciales en el mercado y