Sunteți pe pagina 1din 5

INTEGRACION DE LA FRAGMENTACION VERTICAL Y UBICACION EN BASES DE

DATOS DISTRIBUIDAS USANDO EL ALGORITMO DE ACEPTACION POR UMBRAL


*+Joaqun Prez, David Romero, +Rodolfo Pazos,
Laura Cruz

Juan Frausto,

*Instituto de Investigaciones Elctricas, Instituto de


Matemticas, UNAM, +Centro Nacional de Investigacin y Desarrollo
Tecnolgico, Universidal virtual del ITESM,
jperez@iie.org.mx, david@matcuer.unam.mx, pazos@cenidet.edu.mx,
jfrausto@campus.mor.itesm.mx, lcruz@itcm.edu.mx
RESUMEN
Este artculo presenta
una extensin al modelo de
optimizacin matemtica FURD
[1], el cual unifica la fragmentacin
vertical,
ubicacin, y la migracin dinmica
de datos en sistemas de bases
de datos distribuidas. El algoritmo de Aceptacin por Umbral, es una variante del mtodo heurstico conocido como
Recocido Simulado, y se utiliza para resolver el modelo.
Se presenta la experiencia
obtenida con este mtodo en
casos de prueba grandes.
1 INTRODUCCION
Con el uso generalizado
de las redes de computadoras,
incluyendo Internet, cada vez
es ms factible implementar
sistemas de bases de datos
distribuidas. Sin embargo, la
falta de metodologas y herramientas de diseo dificulta su desarrollo [2].
Tradicionalmente, se ha
considerado que el diseo de
la distribucin consta de dos

fases separadas: la fragmentacin y la ubicacin de


fragmentos [3]. En [1] se
presenta un modelo innovador
que integra ambas fases. En
este artculo se extiende el
modelo, para tratar condiciones complejas que limitan la
operacin normal de los sistemas distribuidos.
2

MODELO MATEMATICO

En esta seccin se describe el modelo de programacin entera FURD. En ste, la


decisin
de almacenar
un
atributo m en un sitio j se
representa por una variable
binaria xmj. As xmj = 1 si m se
almacena en j, y xmj = 0 en caso
contrario.
2.1

FUNCION OBJETIVO

La funcin objetivo modela los costos con cuatro trminos: transmisin, acceso a
fragmentos, almacenamiento de
fragmentos y migracin.
min z = f q l c ij x mj + c1 f ki y
kj
i k j
k i ki m j km km
+ c 2 w + a mi c ij d m x mj
j

j m i

donde
fki = frecuencia de emisin
de la consulta k desde
el sitio i;
qkm = indica si el atributo m
es usado por la consulta k;
lkm = nmero de paquetes para
transportar el atributo
m para la consulta k;
cij = costo de comunicacin
entre los sitios i y j;
c1 = costo de acceder a cada
fragmento;
por
ubicar
un
c2 = costo
fragmento en un sitio;
wj = indica si existe algn
atributo en el sitio j;
ykj = indica si la consulta k
accede a algn atributo
del sitio j;
previa
del
ami = ubicacin
atributo m en el sitio
i;
dm = nmero de paquetes para
mover el atributo m;
2.2 RESTRICCIONES
INTRINSECAS DEL PROBLEMA
En [1] se modelan cuatro
restricciones:(1) cada atributo se almacena en un solo
sitio, (2) cada atributo se
ubica en un sitio que al menos ejecute una consulta que
lo use, y (3) y (4) las variables wj y ykj se fuerzan a
tomar un valor asociado a xmj.
Adems, en este trabajo se
incorpora la restriccin de
capacidad de los sitios.

x mj p m CA cs j
m


donde
csj = capacidad del sitio j;
pm = tamao del atributo m en
bytes;
CA= cardinalidad de la
relacin.
3 METODO DE SOLUCION
En esta seccin se presenta el algoritmo implementado y los resultados de la
experimentacin. Dado que el
problema es NP-duro [4], se
explora un mtodo heurstico.
3.1

ACEPTACION POR UMBRAL

Se implement una variante del algoritmo de Recocido


Simulado conocida como Aceptacin por Umbral (AAU). Esta
versin consume menos tiempo
computacional [5].
En este algoritmo, asociamos a cada x X (donde X es
el conjunto de todas las
soluciones factibles) una vecindad predefinida H(x) X.
As, dada una solucin actual
x, se genera una solucin
vecina y H(x); entonces si z =
z(y) - z(x) < T, se acepta y como la
nueva solucin actual.
El valor de la temperatura T se decrementa cada vez
que se alcanza el equilibrio
trmico. El valor de T se
decrementa
multiplicndolo
repetidamente
por un factor
de enfriamiento < 1 hasta

que el sistema alcanza el


congelamiento.
ALGORITMO
Begin
real T,
integer i, S
x = mejor solucin de S
T = temperatura inicial alta
repeat
repeat
for i = 1 to S
y = solucin vecina
if z(y) - z(x) < T then
x=y
else
solucin rechazada
end_if
i=i+1
end_for
until equilibrio trmico
T = T
until congelamiento
End
3.2 RESULTADOS
Se realizaron un conjunto
de experimentos exploratorios
para determinar la forma de
generar casos de prueba grandes, soluciones factibles, y
los parmetros de regulacin
del algoritmo.
Casos de prueba grandes
Se generaron problemas de
grandes magnitudes usando el
siguiente mtodo matemtico:
para cada nuevo problema se
incorporan en forma desacoplada, problemas pequeos de
solucin conocida; de esta
manera, la solucin del nuevo
problema se obtiene sumando
la solucin de sus partes.
Soluciones factibles

La
restriccin
de
capacidad de los sitios provoca
interbloqueos
entre
atributos que requieren intercambiar sus posiciones para alcanzar una solucin vecina factible. El interbloqueo se resuelve como sigue:
a) Sitio artificial. Se incorpora un sitio artificial h con
condiciones modificadas para
ubicar
temporalmente
los
atributos que violen las restricciones de capacidad.
b) Funcin objetivo. Se modifica la funcin objetivo, para agregar una penalizacin p
a las soluciones infactibles.
min z = f q l c ij x mj + c1 f ki y
kj
i k j
k i ki m j km km
+ c 2 w + a mi c ij d m x mj + p( X ,Y , Z )
j

m i

c) Funcin
de
penalizacin.
Una funcin de penalizacin
adecuada permite transitar de
soluciones infactibles a factibles [6,7]. La penalidad se
determina relajando la funcin objetivo para los atributos en el sitio artificial
h. Se usan los valores mximos de los coeficientes de
los costos de transmisin CT,
de migracin CM, y de acceso
a fragmentos CJ.
p( X,Y,W )=max {CTmj ,j } x
m

mh

max {CJ kj ,j } min( x mh , (1- y kj ) ) +


m

c 2min( x
m

j h

, (1- w j ) ) +
mh
j h

max {CM mj ,j } x mh
m

Parmetros del algoritmo


Los parmetros se obtienen de
las mejores estrate-

gias de [1]. Se encontr un


nuevo mecanismo para la temperatura inicial T. Se genera
una muestra de 100 soluciones
vecinas factibles. Se registran en d las diferencias del
valor de cada par de soluciones consecutivas. T toma el
valor del sexto elemento de d
ordenado descendentemente. Al
disminuir la temperatura inicial, se obtienen tiempos de
procesamiento menores.
Las pruebas fueron realizadas en una PC con un CPU
Pentium a 120 MHz, sistema
operativo Windows95, y el
compilador Borland C.

al ptimo, se muestran en las


columnas 2 a la 4. La ltima
columna muestra el tiempo de
solucin del problema.
Tabla2. Solucin Aproximada
Pro
%Diferencia
Tiempo
ble Mejor Peor Promedio (seg.)
ma
P1
0
0
0 0.03
P2
0 141
10
0.3
P3
0
0
0
0.4
P4
0 100
20
6.1
P5
0 140
36 43.6
P6
0 405
88 381.2
P7
66 383
215 3063.4

La segunda columna de la
Tabla 1 muestra la magnitud
del problema. Las ltimas dos
columnas muestran los resultados obtenidos con el paquete Lindo. Este usa el mtodo
de Ramificacin y Acotamiento
de programacin entera.
Tabla 1. Solucin Exacta
Problema Sitios Valor Tiempo
ptimo (seg)
P1
2
302 0.05
P2
18
2719 1.15
P3
20
3022 3.29
P4
64
9670
*
P5
128 19340
*
P6
256 38681
*
P7
512 77363
*
*El tamao del problema excede la capacidad de Lindo

La Tabla 2 presenta los


resultados de usar el algoritmo de Aceptacin por Umbral. Se realizaron cuarenta
corridas para cada problema.
Las diferencias (%) respecto

Fig. 1 Aproximacin de AAU


4

CONCLUSIONES

Se muestra la factibilidad de expandir el modelo


para
incorporar
parmetros
complejos de importancia para
el diseo de la distribucin.
La
tcnica
propuesta
para generar casos de prueba
grandes, super los tamaos
reportados en otros trabajos.

De esta manera aportamos un


marco de referencia para evaluar mtodos de solucin. En
particular para los mtodos
heursticos no existe este
tipo de referencias.
Se
muestra la factibilidad de utilizar el algoritmo de Aceptacin por Umbral,
el cual tuvo buen desempeo
para problemas de tamao pequeo y mostr su facilidad
para resolver problemas grandes ms all de la capacidad
del paquete Lindo; sin embargo, la calidad de la solucin
tiende a alejarse del ptimo
a medida que crece el tamao
del problema (Fig.1)
Por lo tanto no podemos
generalizar que el mtodo de
Aceptacin por Umbral sea un
buen algoritmo de aproximacin para cualquier tamao
del problema de la ubicacin
de fragmentos verticales.
5

REFERENCIAS

[1] J. Prez, D. Romero, J.


Frausto,
R.
Pazos,
G.
Rodrguez
y
F.
Reyes,
"Dynamic
Allocation
of
Vertical
Fragments
in
Distributed
Databases
Using
the
Threshold
Accepting
algorithm",
Proceedings of the 10th
IASTED
International
Conference on Parallel and
Distributed Computing and
Systems, Las Vegas, 1998,
pp. 210-213.

[2]
C. Garca Hong-Mei y O.
R. Liu Sheng, "A Semantic
Based
Methodology
for
Integrated
Computer-Aided
Distributed
Database
Design", Proc. 25th Hawaii
International Conference on
System Sciences, pp. 288-299
vol. 3, 1992.
[3]
S. Ceri y G. Pelagatti,
Distributed
Databases:
Principles & Systems, New
York,
N.Y.,
McGraw-Hill,
1984.
[4] X. Lin, M. Orlowska y Y.
Zhan. "On Data Allocation
with
the
Minimum
Overall
Communication
Cost
in
Distributed Database Design,
Proc. Of ICCI'93, 1988, pp.
539-544.
[5] L. Morales, R. Garduo y
D. Romero, "The MultipleMinima
Problem
in
Small
Peptides
Revisited,
The
threshold
Accepting
Approach",
Journal
of
Biomolecular
Structure
&
Dynamics,
Vol. 9, No. 5,
pp. 951-957, 1992.
[6] R. Pazos, Evaluation and
design of integrated packet
switching
and
ciruict
switching
computer
networks, tesis de Ph.D.,
Depto
de
Ciencias
Computacionales,
UCLA.
Diciembre 1983, p. 236.
[7]
J.
F.
Beasley,
K.
Dowsland, F. Glover y M.
Laguna,
Modern
Heuristic
Techniques
for
Combinatorial Problems, New
York:
Colin
R.
Reeves,
1993, p. 320.

S-ar putea să vă placă și