Está en la página 1de 11

Red de Revistas Cientficas de Amrica Latina, el Caribe, Espaa y Portugal

Sistema de Informacin Cientfica

Dannier Trinchet, Asnay Guirola


Algoritmo paralelo para el clculo de matrices de probabilidades de transicin: aplicacin a la modelacin de
yacimientos laterticos mediante cadenas de Markov
Revista Avances en Sistemas e Informtica, vol. 8, nm. 2, julio, 2011, pp. 7-15,
Universidad Nacional de Colombia
Colombia
Disponible en: http://www.redalyc.org/articulo.oa?id=133119867002

Revista Avances en Sistemas e Informtica,


ISSN (Versin impresa): 1657-7663
avances@unalmed.edu.co
Universidad Nacional de Colombia
Colombia

Cmo citar?

Fascculo completo

Ms informacin del artculo

Pgina de la revista

www.redalyc.org
Proyecto acadmico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto

Algoritmo paralelo para el clculo de matrices de probabilidades de transic


aplicacin a la modelacin de yacimientos laterticos mediante cadenas d
Markov

Parallel algorithm to compute probability transition matrices: application t


modeling of lateritic deposits using Markov chains
Dannier Trinchet. M.Sc.1 & Asnay Guirola. M.Sc.2
1. Universidad de las Ciencias Informticas, Ciudad de La Habana, Cuba.
2. Universidad de las Ciencias Informticas, Ciudad de La Habana, Cuba.
trinchet@uci.cu, aguirola@uci.cu
Recibido para revisin 04 de junio de 2010, aceptado 28 de junio de 2011, versin final 28 de junio de 2011

Resumen En el presente trabajo se propone un algoritmo paralelo


para la obtencin de matrices de probabilidades de transicin. El
algoritmo propuesto es aplicado a la modelacin de yacimientos
laterticos a partir de un modelo matemtico basado en cadenas
de Markov. El modelo genera un hipercubo de probabilidades
condicionales, cuya cantidad de dimensiones queda fijada por la cantidad
de variables que intervienen en el modelado. Se realiza un anlisis terico
del algoritmo y se implementa en dos variantes: usando MPI para su
ejecucin sobre un cluster Beowulf y a partir de un sistema distribuido
para su ejecucin en una red local de estaciones de trabajo heterogneas.
Los resultados tericos y prcticos obtenidos demostraron que el
algoritmo es escalable y ptimo en cuanto a Ganancia de Velocidad y
Eficiencia. Se propone adems, una representacin matricial adecuada
para el almacenamiento de hipercubos dispersos que persigue un ahorro
significativo de memoria con el menor comprometimiento posible de
tiempo durante la ejecucin del algoritmo.
Palabras claves Computacin paralela y distribuida, Matrices de
probabilidades de transicin, Modelacin de yacimientos laterticos.
Abstract The present paper proposes a parallel algorithm to
compute transition matrixes and its application in the modeling
of lateritic deposits using Markov Chains. We makes a theoretical
analysis of the algorithm and implemented it in two variants, using
MPI for execution over a Beowulf cluster and using a distributed
system to run on a network of workstations. The analytical and
empirical results shows that the algorithm is scalable and optimal
in terms of speed-up and efficiency. It also proposes a matrix
representation for store the results of modeling pretending reduces
memory needed attend to time required for algorithms execution.
Keywords Parallel and distributed computing, High throughput
computing, Deposits lateritic modeling.

I. INTRODUCCIN

as matrices de probabilidades de transicin (en lo


MPT) son ampliamente usadas dentro de la mod
matemtica de procesos. Muchas veces son aplicada
simples herramientas para determinar posibles comporta
del proceso que se modela i.e Economa, Ecologa, C
Sociales, Marketing [1]-[4]; y en otras ocasiones como
modelos ms complejos i.e Teora de Autmatas Probab
y Modelado de Procesos Estocsticos [5],[6]. Formalm
matriz de probabilidades de transicin P se define co

p11

p
P = 21

pn1

p12
p22

pn 2

p1n

p2 n

pnn

donde n es la cantidad de estados en los cuales pue


el proceso a modelar, y pij la probabilidad de que el
pase del estado i al j , esta matriz cumple que:

i, j [1, n ] : 0 pij 1
n

i [1, n ] : pij =1
j =1

Suponiendo que se tiene un conjunto O de observaci


proceso a modelar, y en cada una de ellas el estado en e
encuentra, entonces para ese proceso, P puede obtenerse m
el Algoritmo 1. Donde el procedimiento ajustar_proba
en_P(e1,e2), actualiza las probabilidades pe1,e 2 y pe
como todas las probabilidades que estn en la fila e1
ntese que debe garantizarse el cumplimiento de la condi

Revista Avances en Sistemas e Informtica, Vol.8 No.2, julio de 2011 - Medelln. ISSN 1657-7663

Revista Avances en Sistemas e Informtica, Vol.8 No.2, julio de 2011 - Medelln.

ISSN 1657-7663

donde el tamao de la entrada sea pequeo no represent


inconveniente prctico, sin embargo, existen situaciones d
n es considerablemente grande y/o se deben calcular mu
matrices de este tipo para resolver un mismo problema, ejem
de esto son los Autmatas Probabilsticos donde por
smbolo del alfabeto de entrada del autmata existe una M
II. ALGORITMO PARALELO

El conjunto de observaciones O puede verse, sin pr


de generalidad, como una tabla (lista de elementos), la
contiene un registro por cada observacin realizada. E
adelante se referir comparacin del registro i con el reg
j a la operacin necesaria para reflejar en P la transicin
estado i al j.

El tiempo de este algoritmo secuencial y denotado por TS


queda expresado por la siguiente frmula:
n 1

n 1

TS = c Flops =c ( n i ) Flops
i=
i +1
i=
1 j=
1

cn 2
Flops (3)
2

Como puede verse la complejidad temporal de este


algoritmo es cuadrtica, por lo que aplicarlo en situaciones

II.A Algoritmo
Teniendo en cuenta que el algoritmo recibe como entrada
tabla de n registros los cuales deben ser comparados entr
puede descomponerse (funcionalmente) el problema dividi
O en 2p bloques de igual tamao, cada uno formado por
registros consecutivos donde p es el total de procesadore
lo adelante se denotar por Bi al (i+1) -simo bloque.

Figura 1. Asignacin de bloques extremos (Fase I del algoritmo)

Con el objetivo de balancear la carga se define una


tarea tk como el cmputo necesario para llevar a cabo
todas las comparaciones requeridas por los bloques Bk y
B2p k 1 k [0, p 1] , y cuyo resultado ser una matriz
0

Pk . La K-sima tarea consistir entonces en las comparaciones


correspondientes a los registros
n ( k + 1)
nk nk
,
+ 1, ,
1
2p 2p
2p

k +1 k +1

k
n 1
, n 1
+ 1,, n 1
1
2p
2p

2p
. Por

c i < n / 2,
n/2 s

lo que la comparacin de los registros i


como las correspondientes a los registros c j j
realizadas en el procesador

n
iDIV
2

= Pn j 1DIV ( n /2 p )
.

De esta forma se persigue que todos los procesad


tengan exactamente la misma carga, al menos duran
ejecucin de esta Fase del algoritmo. Sea pr el proces
que ejecuta la tarea tr consistente en realizar las comparaci
correspondientes a los bloques Br y B2p r 1 . Si ci Br
i < n / 2 entonces

Algoritmo paralelo para el clculo de matrices de probabilidades de transicin: aplicacin a la modelacin de yacimientos
laterticos mediante cadenas de Markov Trinchet & Guirola

cn i 1 B2 p r 1

, que sera el otro bloque a procesar en r ,


si se compara ci con c j j > i entonces se realizan n i 1
comparaciones, de forma anloga se calcula que, para cn i 1 ,
se realizan n ( n i 1) , que en su conjunto suman n 1 .
Teniendo en cuenta que todos los bloques son de tamao
n/2p se concluye que, en toda tarea tr se realiza un total de
n(n-1)/2p comparaciones independientemente de los bloques
que les sean asignados a pr .
Una vez realizada las comparaciones, en cada procesador pk
0
se tiene una matriz Pk , por lo que se necesita aun realizar la
combinacin de todas para obtener la MPT final P =

p 1

P
i =0

Este proceso puede realizarse haciendo una suma en forma de


rbol, tal y como se muestra en la Figura 2, donde los nodos
hojas son las matrices correspondiente a cada uno de los p
0

procesadores: Pk k 0, p 1 , y cada nodo intermedio


j

Pk j [1, log p] la matriz resultado en el paso j de la


suma de las matrices obtenidas en los procesadores pk y
pr con r = k + p 2 j 1 MOD p en el paso j-1, o sea
=
Pk j Pk j 1 + Pr j 1 . De esta forma pal1 final del proceso, log
p simo paso, en p0 quedar
=
P
=
Pi 0 P0log p que es la
MPT objetivo.

i =0

Figura 2. Suma de matrices (Fase II del algoritmo)

II.B
Descripcin formal
En Algoritmo 2 se formaliza el procedimiento antes
descrito, el cual est basado en una descomposicin funcional
mediante asignacin de bloques extremos de n/2p registros
consecutivos.

II.C
Anlisis de prestaciones
II.C1 Parmetros Absolutos: El tiempo paral
algoritmo TP se determina [7], para sistemas parale
memoria distribuida, como TP = TA + TC + TSOL do

10

Revista Avances en Sistemas e Informtica, Vol.8 No.2, julio de 2011 - Medelln.

es el tiempo aritmtico, TC el tiempo de comunicacin y TSOL es


el tiempo de solapamiento. Debido a la complejidad del clculo de
TSOL se hace la aproximacin TP TA + TC , en cuyo caso se
est buscando una cota superior para TP . Para encontrar el TA se
puede realizar el anlisis en la misma forma en que est diseado el
algoritmo, el cual queda dividido en dos Fases fundamentales, en la
Fase I se realiza el clculo de la matriz correspondiente al procesador
pr , esta se obtiene haciendo n 1 comparaciones por cada

npr

pr
, n 1
1 y
2p 2p
n ( pr + 1)
pr + 1
j [
1, n (1
)] , teniendo en cuenta
2p
2p

par de registro (Oi , O j ) : i

que el total de registros asignados a pr es de n/p y cada


comparacin tiene un costo de c Flops la Fase I tiene un costo
total de cn( n 1) / 2 p , puede comprobarse mediante la
expresin:
n ( pr +1)
1
2p
n

pr +1
n 1
1
2p
n

c Flops + c Fops

i=
n pr /2 p j =
i +1
i +1
pr j =
i =n 1
1
2p

En la Fase II se realizan p-1 sumas, cada una de costo constante


m Flops, en log p etapas por lo que el tiempo de la Fase II es m

=
TA

cn 2
+ m log p Flops
2p

log p Flops. En consecuencia


. Para determinar el tiempo de comunicacin hay que
tener en cuenta la cantidad de envos de mensajes que se
realizan en el algoritmo, sus tamaos y el tipo de red de
interconexin. En general [7]=
TC d ( N + ) donde d
es el nmero de enlaces a cruzar (dimetro de la topologa),
el tiempo de envo de una palabra y el tiempo de
latencia. En el algoritmo (Fase II) se envan p 1 mensajes

(1 + 2 ++ 2k 1 1 = 2k 1 = p 1) cada uno de tamao

m (cantidad de elementos de la matriz), considerando que la


topologa de la red de interconexin es la de estrella el tiempo
de comunicacin del algoritmo es TC =
2 ( p 1)( m + ) .
Por consiguiente:

cn 2
TP =
+ m log p + 2 ( p 1)( m + ) Flops (4)
2p
En la seccin III Implementacin se dan algunas
consideraciones de la constante m.

II.C2 Parmetros Relativos: El Speed-Up ( S P ) del
algoritmo, que indica la ganancia de velocidad de este algoritmo
comparado con el mejor algoritmo secuencial conocido, est
dado [8] por:

S=
P

ISSN 1657-7663

TS
cn 2 Flops
=
TP cn 2
+ m log p + 2 ( p 1)( m + ) Flo
2p
lim S p = p
n

Como puede verse el algoritmo tiene un Speed-Up pt


al menos tericamente, pues la ganancia de velocidad ti
a ser directamente proporcional al nmero de procesado
medida que n aumenta. Lo que significa que si se aumen
tamao del problema se obtiene mayor ganancia de veloc
hasta llegar al ptimo terico que es p. La Eficiencia ( E p
este algoritmo, que expresa el grado de utilizacin de un sis
multiprocesador [8], y calculable mediante E p =

Ep =

Sp
p

es:

1
2 p m log p + 4 p ( p 1) (m + )
1+
cn 2

lim E p = 1
n

Lo que indica que a medida que aumenta el tamao del prob


el algoritmo usa los procesadores de forma ptima.
parmetro muy importante de analizar en el algoritmo es
equilibrado est el trabajo entre los p procesadores del sist
para ello se calcula el Desequilibrio de Carga [7] que est
por la expresin D=
q

Dq =

Ts
TA de donde:
p

cn 2 / 2
cn 2 / 2 p m log p =m log p Flops
p

como puede notarse el desequilibro de la carga es cons


respecto al tamao del problema, esto es debido a que e
Fase I del algoritmo la cantidad de trabajo en cada uno d
procesadores es la misma, pero en la Fase II hay un desbala
no dependiente del tamao del problema sino de la cantida
procesadores(cantidad de matrices a sumar) pues en el pr
paso trabajan todos pero en los pasos siguientes va disminuy
el nmero de procesadores que lo hacen. Teniendo

T=
cn 2 / 2 p + m log p + 2 ( p 1)( m + ) Flops
p

nmero ptimo de procesadores puede determinarse haci


que derive un tiempo paralelo mnimo.

Tp
p

=0

(cn 2 / 2 p + m log p + 2 ( p 1) (m + )) ' =


0

Algoritmo paralelo para el clculo de matrices de probabilidades de transicin: aplicacin a la modelacin de yacimientos
laterticos mediante cadenas de Markov Trinchet & Guirola

comprometida la exactitud con que se necesitan los resu


sea la eficacia de (9), as como por las caractersticas miner
y geoespaciales propias de los yacimientos laterticos.

1
cn 2
+ m + 2 ( m + ) =
0
p
1

2 2
p

2 ( m + ) p 2 + mp

p=

cn 2
=
0
2
Donde:
(8)

m 2 + 4cn 2 ( m + ) m
4 ( m + )

Obviamente, en la prctica se usarn los procesadores con los


que se cuente. Dado los altos valores de n, es muy difcil disponer
de n procesadores, que es el valor que aproximadamente puede
dar esta expresin.
III. IMPLEMENTACIN

El algoritmo fue aplicado a la modelacin de yacimientos


laterticos a partir del siguiente modelo:
(9)

X ( t , r ) = ( i ) (t , r )
i =1

propuesto en [9] y basado en la existencia de tipos o clases de


materiales patrones en yacimientos de este tipo, asumiendo que
el conjunto de estas contiene todas las variables presentes en
ellos, y que adems representa el espacio muestral. Cada clase
se asume como uno de los estados en un proceso de Markov.
Las matrices (i ) son MPTs que en (9) estn asociadas a
caractersticas temporales y geoespaciales (t , r ) , por lo que
para toda combinacin r de valores posibles de las variables
que describen un punto de muestreo1 en el momento t se tiene
una MPT elemental de k k , donde k es la cantidad de clases
que caracterizan a los yacimientos laterticos segn [10]. Las
variables que se consideraron en r en la propuesta inicial de (9)
fueron: direccin horizontal ( H ) y vertical ( V ), profundidad
(H) y distancia entre los puntos de muestreo (P).
De esta forma (9) puede verse como una MPT 6-dimensional
o, lo que es equivalente en nuestro caso a, | H | | V |
d1 =
H de
d 2 transicin
=
V donde
d3 =
H
probabilidades
|H| |P| matricesmde=
|x| representa la cardinalidad de la variable x. Como puede
apreciarse, estas variables son continuas por lo que se hace
necesario discretizarlas, lo ideal desde el punto de vista de costo
computacional sera transformarla a una variable discreta con
cardinal pequeo, sin embargo, este problema (modelacin de
yacimientos laterticos) establece lmites ya que se puede ver

) (

) (

1. Proceso de toma de muestras del suelo que persigue refinar la


bsqueda de determinados minerales.

Por otro lado, la cantidad de muestras (tamao del pr


est en el orden de los cientos de miles, incluso ca
mayores si se combinan para un mismo yacimiento los r
de mltiples muestreos. Ambas cosas en su conjunto p
que la ejecucin de este algoritmo en una mquina conv
no sea viable en trminos prcticos.

El algoritmo secuencial originalmente fue implemen


[11] donde el tiempo para n=28511 fue de 17 horas 10
y 16 segundos en una PC dedicada con procesador In
2 Duo a una velocidad de 2.66 GHz y una memor
de 2 GB, luego en [12] se realizaron optimizaciones
fundamentalmente en el desenrollado de ciclos y los
fueron mejorados, para ese mismo tamao de la en
PC, hasta 7 horas 43 minutos y 16 segundos. Si se
cuenta que n=28511 puede considerarse pequeo res
tamao del problema que genera comnmente la mod
de yacimientos laterticos reales, se puede verificar m
(3) que los tiempos son considerablemente grande
descripcin del algoritmo se propone una estrategia gen
en funcin del tamao del problema, persigue obtener g
de tiempo, sin embargo, como puede verificarse en
otros parmetros que pueden influir en su rendimiento,
caso del costo de realizar una comparacin (c) y la can
elementos (m) de cada una de las matrices obtenidas en
I del algoritmo, que determina directamente el tiempo re
para sumar dos de estas, a continuacin se hacen
propuestas con el objetivo de optimizar la impleme
considerando dichos parmetros.

III.A
Representacin de la matriz
El modelo a obtener es representado mediante un hi
de probabilidades condicionales, resultado de la sum
matrices obtenidas en cada procesador. Si estas matr
representadas en memoria como bloques lineales de el
por cada dimensin (Variante Clsica), entonces la can
elementos de cada una de ellas es el mismo e igual a

m=
H ) ( d2 =
V ) ( d3 =
H )(d
( d1 =

) (d

=
P ) ( d5 =
k ) (d6 =
k)

en consecuencia, el tiempo de para sumar dos de es


acotado por T(m)=m. Sin embargo, si existen altos va
dispersin se puede considerar la posibilidad de slo alm
los valores distintos de cero y para cada uno de ellos
que ocuparan en el modelo original. Supngase
matrices son representadas como coleccin de pares de
(Elemento,Coordenadas), as el componente Coord
debe almacenar los 6 ndices que expresan el lugar qu
Elemento dentro del hipercubo original, haciendo:

12

Revista Avances en Sistemas e Informtica, Vol.8 No.2, julio de 2011 - Medelln.

=
ai
= indicei ai
Coordenadas
i =1

k = i 1

i < 6

a6 = 1

puede alcanzarse este objetivo; realizando el proceso inverso


se logra obtener los ndices a partir del valor Coordenadas.
Suponiendo que el total de elementos distintos de cero es mc , esta
representacin es ms eficiente (respecto a la Variante Clsica)
en cuanto a espacio ssi mc < m / 2 . Sin embargo el tiempo
para acceder a un determinado elemento no es constante, pues
se requiere su bsqueda a lo largo de la coleccin, que si es
representada como una lista entonces es T ( mc ) = O ( mc )
pero si se representa como un rbol AVL (Variante AVL)
entonces el tiempo es T ( mc ) = O ( log mc ) .

ISSN 1657-7663

siempre que se cumpla que mc sea a lo sumo un x% d


y en cuanto a espacio siempre que mc < m / 4 pues se
almacenar por cada nodo del rbol, el valor de la probabili
su posicin dentro del hipercubo, adems de los dos punte
los nodos hijos. El anlisis antes planteado est referido a la
II del algoritmo, pues como puede verificarse en (11) llev
al lmite el tamao del problema, el tiempo empleado pa
ejecucin del algoritmo completo usando una representa
A
CL
clsica( Tp ) es menor que utilizando la Variante AVL( Tp

lim

TpAVL
TpCL

= 1 + log c mc

IV. RESULTADOS Y DISCUSIN

Figura 3. Variante AVL para un hipercubo de 3 dimensiones

Como ya se mencionaba, en la Fase II del algoritmo se


realizan sumas matriciales, que siguiendo la Variante Clsica
toma un tiempo T(m), pero si se escoge la Variante AVL es
T ( mc ) = O ( mc log mc ) , lo que establece que esta Fase del
algoritmo ser ms rpida solo cuando mc log mc < m , o lo
que es lo mismo

mc <

(10)

m
W (m)

donde W es la funcin W de Lambert2. Sea f ( m ) = m / W ( m)


una funcin que acota superiormente a mc . Como puede notarse
f(m) es montona creciente, por lo que si se puede encontrar un
valor x tal que f(m)<m/x se puede afirmar que la Variante AVL
es ms ptima, en cuanto a tiempo respecto a Variante Clsica,

( )

IV.A
Pruebas en un entorno paralelo
El algoritmo se implement en sus dos variantes en el lengu
usando la librera MPI, y los experimentos fueron realizadas e
Cluster Beowulf de 8 PC con procesador Intel(R) Core(TM)2
CPU E4500 2.20GHz y memoria principal de 1(2 x 512) GB de R
con sistema operativo Linux Debian Lenny 5.0 y una red a 100 M

Consideraciones de tiempo. Las ganancias de velocid


eficiencias obtenidas para ambas variantes se muestran e
figura 4 y 5 respectivamente.

2. Se define como la funcin inversa de f W = W e o lo


que es equivalente, la funcin W(z) que satisface la ecuacin
W z eW ( z ) = z para todo valor complejo z.

( )

Para la realizacin de los experimentos se implemen


algoritmo secuencial empleando las dos formas de representa
de la matriz referidas en la seccin III.A, pero debido a q
Variante Clsica secuencial es la ms ptima en cuan
tiempo, todas los anlisis realizados sobre este parmetro e
considerados respecto a dicha variante. Las pruebas fu
realizadas para la obtencin de (9) a partir de datos de yacim
laterticos reales y fijando | V |= 6 , | H |= 16 , | H |=
| P |= 9 y | K |= 6 que es la propuesta inicial de sus au
[9], esto determina que el total de matrices de probabilid
de transicin a calcular es 44928 =6 16 52 9 , cada
de 256(16 16) elementos.

Figura 4: Speed-up usando 8 procesadores

Algoritmo paralelo para el clculo de matrices de probabilidades de transicin: aplicacin a la modelacin de yacimientos
laterticos mediante cadenas de Markov Trinchet & Guirola

incrementalmente valores de n y p para los cuales la Efi


se mantiene constante (al menos). Como puede ob
en la tabla I es posible alcanzar este objetivo si se co
adecuadamente estos parmetros.
Tabla I. Eficiencia en funcin de n y p

Figura 5. Eficiencia usando 8 procesadores

Como puede verse la Variante Clsica muestra mejores


prestaciones que la Variante AVL, tendiendo a un Speed-Up
y Eficiencia ptimos a medida que aumenta el tamao del
problema, no obstante puede comprobarse que la Variante
AVL tambin crece en prestaciones bajo estas condiciones. El
Speed-up de la Variante Clsica se comport desde 1.2(n=16
mil) hasta 2.07(n=512 mil) veces mayor que la Variante AVL.
La mayor ganancia de velocidad estuvo dada para n=512 mil,
donde se disminuy el tiempo desde 9 horas 30 minutos y 19
segundos a 1 hora 18 minutos 5 segundos.
En la figuras 6 y 7 se muestra el desempeo del algoritmo en su
Variante Clsica en funcin del tamao del problema usando 2, 4 y 8
procesadores. Como puede verse tanto el Speed-Up como la Eficiencia
aumenta al tiempo en que lo hace el nmero de procesadores y el
tamao de la entrada, tendiendo a su valor ptimo terico.

p=2

p=4

p=8

16 mil

0,789

0,460

0,260

32 mil

0,935

0,760

0,489

64 mil

0,973

0,899

0,785

128 mil

0,989

0,973

0,914

256 mil

0,991

0,976

0,964

512 mil

0,993

0,985

0,983

Consideraciones de memoria. Como se menciona


seccin III.A el espacio requerido para representar el hi
siguiendo la Variante Clsica es constate. Para los par
considerados en las pruebas y referidos en el primer
de esta seccin, la memoria necesaria es de 43,875 M
embargo cuando se emplea la Variante AVL se observ
grado de dispersin del modelo fluctu de un 2 a un 3%
nivel de confianza de un 99 %, lo que provoc una dism
significativa del total de memoria empleado para su ob
puede verificarse mediante (10) que con un grado de dis
en este caso, menor al 13% se obtienen ganancias
tiempo durante la Fase II del algoritmo, como en espa

En la tabla II se muestra el consumo de memoria


representacin del modelo siguiente la Variante AV
diferentes grados de dispersin obtenidos durante las
Tabla II. Memoria requerida por la Variante AVL

Figura 6: Speed-up usando 2, 4 y 8 procesadores

Dispersin (%)

Espacio(MB)

2.0

3.51

2.3

4.04

2.5

4.39

2.7

4.74

3.0

5.27

En ella se muestra como la Variante AVL necesit


promedio 10.19 veces menos memoria que la Variante Cl
evidente el compromiso entre la ganancia en tiempo y la g
en memoria, el uso de una variante o la otra queda cond
entonces a la prioridad establecida a estos parmetros.
Figura 7: Eficiencia usando 2, 4 y 8 procesadores

Veamos cmo se comporta la Escalabilidad del algoritmo,


segn [8] un sistema es escalable si es posible tener

IV.B
Pruebas en un entorno distribuido
Es bien conocido que las redes de rea local ag
estaciones de trabajo cuyo poder de cmputo no es tot
explotado, algunas investigaciones han estudiado con p
cual es el uso de las CPUs de estas estaciones de e

14

Revista Avances en Sistemas e Informtica, Vol.8 No.2, julio de 2011 - Medelln.

[13][15], otras muestran que el aprovechamiento de los ciclos


ociosos de estas ltimas es una alternativa importante para
alcanzar elevadas prestaciones [16][18] y en consecuencia
resolver problemas complejos.
Partiendo de esta premisa, el algoritmo fue implementado
adems siguiendo el paradigma High Throughput Computing
mediante el uso del sistema distribuido T-arenal, el cual
incluye un grupo de adaptaciones y mejoras [19], [20] respecto
al presentado originalmente en [21], [22]. T-arenal est
desarrollado sobre Java y como objetivo fundamental tiene el
aprovechamiento de los recursos computacionales conectados
mediante una red de rea local, independientemente de su
heterogeneidad. Las pruebas fueron realizadas usando hasta
30 estaciones de trabajo conectadas mediante una red local de
100 Mbps, todas con un procesador Intel(R) Core(TM)2 Duo
CPU E4500 2.20GHz, memoria principal de 1(2 x 512) GB de
RAM, y sistema operativo Windows XP.

ISSN 1657-7663

tendencia que se muestra en la seccin IV.A, lo que sign


que el algoritmo propuesto es ms ventajoso aplicarlo, y us
procesadores disponibles de forma ms efectiva, para proble
de mayor dimensin, hecho este que confirma lo plantead
la seccin II.C. Otro parmetro interesante de analizar
sistemas de este tipo, debido a que las unidades de cm
son no dedicadas, es la desviacin estndar observada e
cantidad de PC utilizadas (Figura 10) durante la ejecucin
algoritmo, la cual aument a medida que lo haca el tama
problema, evidentemente la probabilidad de perder estaci
de trabajo aumenta a medida en que lo hace el tiempo nece
para resolver el problema.

Como puede verificarse en las Figuras 8 y 9, que muestran


respectivamente, las mayores ganancia de velocidad y eficiencia
alcanzadas por el sistema durante las pruebas3, los tiempos
fueron reducidos hasta 11.3 veces (de 21 horas con 5 mins a
112 mins) y la eficiencia lleg hasta un 51%.
Figura 10: Nmero de PC Utilizadas (DesvEst)

Figura 8: Speed-Up Mximo

En general, al usar un rbol AVL para representa


matrices se obtuvieron mejores resultados, esto no repres
una contradiccin con lo visto en la seccin III.A, all se
la salvedad que a pesar de que el tiempo total del algor
empleando el rbol sera mayor, el tiempo de la Fas
disminuira bajo ciertas condiciones. La razn principal de e
resultados, aparejado al cumplimiento de estas condiciones,
en la arquitectura del sistema empleado: cliente-servidor, pu
teniendo en cuenta que la complejidad de esta Fase es cons
respecto a la Fase I, se decidi realizar las sumas matricia
medida que respondan los clientes, esto provoc que el g
de dispersin de la matriz influyera de forma determinan
el tiempo total para resolver el problema.
V. CONCLUSIONES

Figura 9. Eficiencia Mxima

Como puede apreciarse para ambos parmetros su valor


aument a medida que lo haca el tamao de la entrada, la misma
3. Se realizaron 360 ejecuciones (180 por variante), 60 por cada
tamao de la entrada.

Se present un algoritmo paralelo escalable, ptim


cuanto a Ganancia de Velocidad y Eficiencia, para la obten
de matrices de probabilidades de transicin, se determ
adems el Desequilibrio de Carga y el Nmero ptim
Procesadores para su ejecucin en un Sistema Multiprocesa
Se implement sobre un cluster Beowulf y distribuido sobre
red local de estaciones de trabajo, donde se corrobor de fo
prctica los resultados obtenidos tericamente. Se constat
potencialidades que ofrece la High Throughput Computing
aunque inicialmente estuvo dirigida a resolver problemas de

Algoritmo paralelo para el clculo de matrices de probabilidades de transicin: aplicacin a la modelacin de yacimientos
laterticos mediante cadenas de Markov Trinchet & Guirola

costo computacional a largo plazo, con el rpido crecimiento


del poder de computo de las estaciones de trabajo es posible
obtener elevadas ganancias de velocidad y en consecuencia
reducir considerablemente el tiempo necesario para resolver
problemas de este tipo. Se propuso una representacin matricial
basada en rboles AVL para hipercubos dispersos y se aplic
en la obtencin del modelo planteado en [9], determinndose
adems las cotas o valores de dispersin lmites para los cuales
su uso en el algoritmo presentado es ms eficiente, en cuanto a
tiempo y espacio, que la representacin estndar.
REFERENCIAS

[1] P. Bierzychudek, Looking backwards: assessing the projections


of a transition matrix model, 1999.
[2] D. T. Crouse, L. B. Crowder, and H. Caswell, A stage-based
population model for loggerhead sea turtles and implications for
conservation, 1987.
[3] N. Enright and J. Ogden, Applications of transition matrix models
in forest dynamics: Araucaria in papua new guinea and nothofagus
in new zealand, 1979.
[4] M. L. Morrison, B. G. Marcot, and R. W. Mannan, Wildlife-habitat
relationships: concepts and applications, Island Pr, 2006.
[5] W. K. Hastings, Monte carlo sampling methods using markov
chains and their applications, 1970.
[6] L. R. Rabiner, A tutorial on hidden markov models and selected
applications in speech recognition, 1990.
[7] F. Almeida, D. Gimenez, J. M. Mantas, and A. M. Vidal,
Introduccin a la programacin paralela, Thomson Paraninfo, 2008.
[8] V. Kumar, Ananth Grama, Anshul Gupta, and George Karypis,
Introduction to Parallel Computing. Design and Analysis of
Algorithms, The Benjamin/Cummings Pub. Company, Redwood
City, California, 1994.
[9] R. Pena, Modelo matemtico para la optimizacin de las redes
de exploracin y explotacin en yacimientos laterticos, in II
Convencin Cubana de Ciencias de la Tierra, La Habana, Cuba,
2007.
[10] R Pea, Matos Elias L, Ortiz Romero E, and Robles Labacena
V, Propuesta de clases patrones en yacimientos laterticos ferroniquelferos, in II Convencin Cubana de Ciencias de la Tierra,
La Habana, Cuba, 2007.
[11] R Pea, Algoritmo de conteo para modelos markovianos en
yacimientos laterticos, in COMPUMAT, La Habana, Cuba, 2007.
[12] A M Ramrez, R E Pea, and L Y Broscat, Mejora de un algoritmo
de conteo para modelos markovianos en yacimientos laterticos,
in COMPUMAT, La Habana, Cuba, 2009.
[13] R.H. Arpaci, A.C. Dusseau, A.M. Vahdat, L.T. Liu, T.E. Anderson,
and D.A. Patterson, The interaction of parallel and sequential
workloads on a network of workstations, in Proceedings of
the 1995 ACM SIGMETRICS joint international conference on
Measurement and modeling of computer systems. ACM, 1995,
pp. 267278.
[14] A. Acharya, G. Edjlali, and J. Saltz, The utility of exploiting
idle workstations for parallel computation, ACM SIGMETRICS
Performance Evaluation Review, vol. 25, no.1, pp. 225234, 1997.
[15] S. Smallen, H. Casanova, and F. Berman, Tunable on-line parallel
tomography, in Proceedings of SuperComputing 01, Denver,
Colorado, 2001.

[16] H. Casanova, D. Zagorodnov, F. Berman, and A.


Heuristics for scheduling parameter sweep applic
grid environments, in Proceedings of the 9th Hetero
Computing Workshop (HCW 00). Published by t
Computer Society, 2000, p. 349.
[17] D. Kondo, M. Taufer, CL Brooks, H. Casanova, and A
Characterizing and evaluating desktop grids: An e
study, in Parallel and Distributed Processing Symposiu
Proceedings. 18th International, 2004.
[18] P Domingues, P Marques, and L Silva, Resource
windows computer laboratories, in Parallel Processin
ICPP. International Conference Workshops on Parallel Pr
Oslo, Norway, 2005, pp. 469476.
[19] L. Aguilera, Sistema de cmputo distribuido aplic
Bioinformtica, Tesis de maestra, Universidad de las
Informtica, 2008.
[20] C R; Jacas, L; Aguilera, and D Mario, Platform of di
task v2.0, Laboratorio Nacional de Computacin, Petrp
de Janeiro, Brasil, 2010.
[21] Thomas Keane, A General Purpose Heterogeneous Di
Computing System, Msc thesis, National University o
2004.
[22] A; Page, T; Keane, R; Allen, T. J; Naughton, and J
Multitiered distributed computing platform., in
International Conference on the Principles and Pra
Programming in Java, J. F. Power editions and J. T.
Eds., Kilkenny City, Ireland, 2003, p. 191.

16

Revista Avances en Sistemas e Informtica, Vol.8 No.2, julio de 2011 - Medelln.

ISSN 1657-7663

También podría gustarte