D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA...
Transcript of D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA...
1
D. MARCOS FERNÁNDEZ MARÍN , profesor titular del área de Ciencias de la
Computación e Inteligencia Artificial de la Universitat de València y,
D. JUAN MANUEL ORDUÑA HUERTAS , profesor titular del área de Arquitectura
y Tecnología de Computadores de la Universitat de València,
CERTIFICAN que la presente memoria
“Mejora de las prestaciones de los Entornos Virtuales Distribuidos”
ha sido realizada bajo su dirección, en el Departamento de Informática de la Univer-
sitat de València porPedro Morillo Tena, y constituye su tesis para optar al grado de
Doctor en Ingeniería Informática.
Y para que conste, en cumplimiento de la legislación vigente, presentamos ante la Es-
cuela Técnica Superior de Ingeniería (ETSE) de la Universitat de València, a 30 de Junio
de 2004.
LOS DIRECTORES
Marcos Fernández Marín Juan Manuel Orduña Huertas
2
Departament d’Informàtica
TESISDOCTORAL
M EJORA DE LAS PRESTACIONES DE
LOS ENTORNOS V IRTUALES
DISTRIBUIDOS
Presentado por:
D. Pedro Morillo Tena
Valencia, Julio de 2004
Trabajo dirigido por:
Dr. D. Marcos Fernández Marín
Dr. D. Juan Manuel Orduña Huertas
2
4
A mi mejor referencia, mi padre
ÍNDICE
Motivación 5
Objetivos 7
CAPÍTULO 1. Introducción 111.1. Entornos Virtuales Distribuidos (DVE). . . . . . . . . . . . . . . . . . . 11
1.1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.2. Extensión del concepto Realidad Virtual a Sistema Distribuido. . 13
1.1.3. Problemática básica de los sistemas DVE. . . . . . . . . . . . . 14
1.1.4. Arquitecturas de simulación para sistemas DVE. . . . . . . . . . 17
1.1.5. Técnicas básicas de simulación en sistemas DVE. . . . . . . . . 21
CAPÍTULO 2. Metodología de evaluación 272.1. Descripción del sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2. Modelo de comunicaciones. . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3. Parámetros de simulación de un sistema DVE. . . . . . . . . . . . . . . 36
2.3.1. Definición de escenarios. . . . . . . . . . . . . . . . . . . . . . 38
2.3.2. Modelos de distribución inicial de avatares en la escena. . . . . . 41
2.3.3. Análisis del movimiento de avatares en sistemas DVE. . . . . . 43
2.4. Conclusiones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
CAPÍTULO 3. Aplicación de metaheurísticas al problema del par-
ticionado en sistemas DVE 473.1. El problema del particionado en sistemas DVE. . . . . . . . . . . . . . 48
3.1.1. Técnica LOT de optimización lineal. . . . . . . . . . . . . . . . 49
IV ÍNDICE
3.1.2. Otras aproximaciones al problema del particionado. . . . . . . . 52
3.2. Procedimientos Metaheurísticos. . . . . . . . . . . . . . . . . . . . . . 57
3.2.1. Obtención de la población inicial. . . . . . . . . . . . . . . . . 58
3.2.2. Métodos estocásticos. Recocido Simulado y Metrópolis. . . . . 61
3.2.3. Mecanismos constructivos. GRASP. . . . . . . . . . . . . . . . 70
3.2.4. Computación evolutiva. . . . . . . . . . . . . . . . . . . . . . . 75
3.2.5. Evaluación de prestaciones. . . . . . . . . . . . . . . . . . . . .100
3.3. Conclusiones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
CAPÍTULO 4. Caracterización de sistemas DVE 1054.1. Caracterización de la carga. . . . . . . . . . . . . . . . . . . . . . . . .105
4.1.1. Un nuevo modelo para la carga de los avatares. . . . . . . . . . 106
4.1.2. Evaluación de prestaciones. . . . . . . . . . . . . . . . . . . . .108
4.1.3. Conclusiones. . . . . . . . . . . . . . . . . . . . . . . . . . . .115
4.2. Caracterización del comportamiento de los servidores en sistemas DVE. 116
4.2.1. Resultados de la correlación y caracterización de los sistemas DVE118
4.3. Conclusiones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
CAPÍTULO 5. Técnicas de particionado para sistemas DVE 1335.1. Balanceo adaptativo de cargas. . . . . . . . . . . . . . . . . . . . . . .134
5.1.1. ALB. Una nueva técnica de balanceo de cargas. . . . . . . . . . 136
5.1.2. Evaluación de prestaciones. . . . . . . . . . . . . . . . . . . . .138
5.2. Mecanismo de particionado de grano fino. . . . . . . . . . . . . . . . .151
5.2.1. FGALB. Una estrategia de grano fino. . . . . . . . . . . . . . . 153
5.2.2. Evaluación de prestaciones. . . . . . . . . . . . . . . . . . . . .155
5.3. Conclusiones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .167
CAPÍTULO 6. Calidad de servicio en sistemas DVE 1696.1. Modelo para la descripción de la QoS en sistemas DVE. . . . . . . . . . 172
6.2. Estudio comparativo de heurísticas modernas para proporcionar QoS a
sistemas DVE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .176
6.2.1. Recocido Simulado. . . . . . . . . . . . . . . . . . . . . . . . .176
6.2.2. Greedy Randomized Adaptive Search (GRASP). . . . . . . . . . 182
6.3. Evaluación de prestaciones. . . . . . . . . . . . . . . . . . . . . . . . .186
6.4. Conclusiones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192
ÍNDICE V
CAPÍTULO 7. Conclusiones y trabajo futuro 1957.1. Conclusiones generales y contribuciones. . . . . . . . . . . . . . . . . .195
7.2. Líneas de investigación abiertas. . . . . . . . . . . . . . . . . . . . . .197
7.3. Publicaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198
CAPÍTULO 8. Bibliografía 203
VI ÍNDICE
ÍNDICE DE TABLAS
3.1. Intercambios en grupo para cada iteración de SA. . . . . . . . . . . . . 66
3.2. Resultados de particionado en sistemas DVE de tipo SMALL. . . . . . . 101
3.3. Resultados de particionado en sistemas DVE de tipo LARGE. . . . . . . 102
4.1. Respuestas medias del sistema y porcentajes de utilización de CPU para
las simulaciones mostradas en la figura4.8en un sistema DVE compuesto
por 3 servidores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .121
4.2. Porcentajes de utilización de CPU para las simulaciones mostradas en la
figura4.8en un sistema DVE compuesto por 5 servidores. . . . . . . . . 122
4.3. Respuestas medias SR-Sx y ASR para las simulaciones mostradas en la
figura4.8en un sistema DVE compuesto por 5 servidores. . . . . . . . . 122
4.4. Respuestas medias del sistema y porcentajes de utilización de CPU para
simulaciones conCWp nulo yCL
p máximo en un sistema DVE compuesto
por 3 servidores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .125
4.5. Porcentajes de utilización de CPU para simulaciones conCWp nulo y CL
p
máximo en un sistema DVE compuesto por 5 servidores. . . . . . . . . 127
4.6. Respuestas medias SR-Sx y ASR para simulaciones conCWp nulo y CL
p
máximo en un sistema DVE compuesto por 5 servidores. . . . . . . . . 127
4.7. Efectos en la respuesta media del sistema y en los porcentajes de utiliza-
ción de CPU en cada servidor del incremento deCWp en un sistema DVE
compuesto por 3 servidores conCLp mínimo . . . . . . . . . . . . . . . .128
4.8. Efectos en la respuesta media del sistema y en los porcentajes de utiliza-
ción de CPU en cada servidor del incremento deCWp en un sistema DVE
compuesto por 3 servidores conCLp máximo . . . . . . . . . . . . . . . .128
VIII ÍNDICE DE TABLAS
4.9. Efectos en la respuesta media del sistema del incremento deCWp en un
sistema DVE compuesto por 5 servidores conCLp mínimo . . . . . . . . . 129
4.10. Efectos en los porcentajes de utilización de CPU en cada servidor del
incremento deCWp en un sistema DVE compuesto por 5 servidores con
CLp mínimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .129
4.11. Efectos en la respuesta media del sistema del incremento deCWp en un
sistema DVE compuesto por 5 servidores conCLp máximo . . . . . . . . 130
4.12. Efectos en los porcentajes de utilización de CPU en cada servidor del
incremento deCWp en un sistema DVE compuesto por 5 servidores con
CLp máximo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .131
5.1. Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo ME-
DIUM1 con una distribución inicial de avatares sesgada y un patrón de
movimiento HPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143
5.2. Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo ME-
DIUM2 con una distribución inicial de avatares sesgada y un patrón de
movimiento HPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144
5.3. Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo ME-
DIUM1 con una distribución inicial de avatares uniforme y un patrón de
movimiento HPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146
5.4. Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo ME-
DIUM2 con una distribución inicial de avatares uniforme y un patrón de
movimiento HPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .147
5.5. Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo ME-
DIUM1 con una distribución inicial de avatares agrupada y un patrón de
movimiento HPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
5.6. Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo ME-
DIUM2 con una distribución inicial de avatares agrupada y un patrón de
movimiento HPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
5.7. Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo ME-
DIUM2 con una distribución inicial de avatares sesgada y un patrón de
movimiento HPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150
5.8. Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo ME-
DIUM2 con una distribución inicial de avatares agrupada y un patrón de
movimiento HPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151
ÍNDICE DE TABLAS IX
5.9. Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo ME-
DIUM2 con una distribución inicial de avatares uniforme y un patrón de
movimiento HPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .152
5.10. Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de
tipo MEDIUM1 con una distribución de avatares sesgada y un patrón de
movimiento HPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .158
5.11. Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de
tipo MEDIUM2 con una distribución de avatares sesgada y un patrón de
movimiento HPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .159
5.12. Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de
tipo MEDIUM1 con una distribución de avatares uniforme y un patrón de
movimiento HPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .160
5.13. Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de
tipo MEDIUM2 con una distribución de avatares uniforme y un patrón de
movimiento HPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .161
5.14. Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de
tipo MEDIUM1 con una distribución de avatares agrupada y un patrón de
movimiento HPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .162
5.15. Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de
tipo MEDIUM2 con una distribución de avatares agrupado y un patrón de
movimiento HPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .163
5.16. Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de
tipo MEDIUM1 con una distribución de avatares sesgada y un patrón de
movimiento HPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164
5.17. Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de
tipo MEDIUM2 con una distribución de avatares agrupado y un patrón de
movimiento HPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165
5.18. Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de
tipo MEDIUM2 con una distribución de avatares uniforme y un patrón de
movimiento HPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .166
6.1. Resultados de las técnicas de QoS para una configuración MEDIUM1. . 189
6.2. Resultados de las técnicas de QoS para una configuración MEDIUM2 con
patrón de movimiento HPA y diferentes distribuciones iniciales. . . . . . 191
6.3. Resultados de las técnicas de QoS para una configuración MEDIUM2 con
patrón de movimiento HPN y diferentes distribuciones iniciales. . . . . . 193
X ÍNDICE DE TABLAS
ÍNDICE DE FIGURAS
1.1. Evolución histórica de los sistemas DVE según su naturaleza. . . . . . . 14
1.2. Esquema general arquitecturas cliente-servidor y P2P. . . . . . . . . . . 18
1.3. Esquema general arquitectura red-servidor. . . . . . . . . . . . . . . . . 19
1.4. Avatares: representación y su AOI. . . . . . . . . . . . . . . . . . . . . 23
1.5. Ejemplo representativo del empleo de la técnica dead-reckoning. . . . . 25
2.1. Configuración básica de RealDvT. . . . . . . . . . . . . . . . . . . . . 29
2.2. Inicialización de avatares en RealDvT. . . . . . . . . . . . . . . . . . . 31
2.3. Propagación de mensajes en RealDvT tras el cambio de posición de un
avatar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33
2.4. Mantenimiento de las particiones y consulta de latencias medias en RealDvT37
2.5. Escenario básico de simulación sobre RealDvT. a) Esquema lógico 3x3
celdas, b) Esquema lógico 8x8 celdas. . . . . . . . . . . . . . . . . . . 40
2.6. Ejemplos de diferentes distribuciones de avatares en la escena en un sis-
tema DVE de tipo LARGE sobre RealDvT. a) Distribución Uniforme, b)
Distribución Sesgada y c) Distribución Agrupada. . . . . . . . . . . . . 42
2.7. Resultados en RealDvT de los patrones de movimiento propuestos para
un sistema DVE LARGE con una distribución inicial uniforme. a) CCP,
b) HPA y c) HPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.1. Fases en la partición de un sistema DVE realizada mediante LOT: RBP,
CRP y LP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
3.2. Otras aproximaciones: división celular y obtención grafo del sistema. . . 54
3.3. Representación en pseudocódigo del algoritmo DBA. . . . . . . . . . . 60
3.4. Generación asignación inicial mediante DBA. . . . . . . . . . . . . . . 61
3.5. Representación de la exploración de SA. . . . . . . . . . . . . . . . . . 63
XII ÍNDICE DE FIGURAS
3.6. Representación en pseudocódigo del algoritmo SA. . . . . . . . . . . . 65
3.7. Variación de la función de evaluaciónCp con respecto al número de itera-
ciones en SA. Experimentos realizados sobre sistemas DVE de tipo SMALL67
3.8. Variación de la función de evaluaciónCp con respecto al número de itera-
ciones en SA. Experimentos realizados sobre sistemas DVE de tipo LARGE68
3.9. Variación de la función de evaluaciónCp con respecto a la tasa de en-
friamiento en SA. Experimentos realizados sobre sistemas DVE de tipo
SMALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
3.10. Variación de la función de evaluaciónCp con respecto a la tasa de en-
friamiento en SA. Experimentos realizados sobre sistemas DVE de tipo
LARGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
3.11. Generación asignación inicial mediante DBA-R. . . . . . . . . . . . . . 71
3.12. Representación en pseudocódigo del algoritmo GRASP. . . . . . . . . . 73
3.13. Variación de la funciónCp con respecto al número de avatares complejos
en sistemas DVE de tipo SMALL. . . . . . . . . . . . . . . . . . . . . 74
3.14. Variación de la funciónCp con respecto al número de avatares complejos
en sistemas DVE de tipo LARGE. . . . . . . . . . . . . . . . . . . . . . 75
3.15. Representación en pseudocódigo del algoritmo AG. . . . . . . . . . . . 77
3.16. Generación de nuevos cromosomas en AG. . . . . . . . . . . . . . . . . 80
3.17. Ejecución en fases del algoritmo de proyecciones para un sistema DVE
de tipo LARGE: a) asignación directa aS0, b) nuevo eje de coordenadas
generado aleatoriamente, c) proyección de cada avatar sobre el nuevo eje
y d) creación y evaluación de los 4 conjuntos de asignación asociados a los
2 diferentes árboles de búsqueda. Se asigna al servidorS1 el subconjunto
de avatares (de los 4 generados) con menor costeCp . . . . . . . . . . . . 83
3.18. Variación del fitnessCp con respecto al número de generaciones en AG.
Experimentos realizados sobre sistemas DVE de tipo SMALL. . . . . . 85
3.19. Variación del fitnessCp con respecto al número de generaciones en AG.
Experimentos realizados sobre sistemas DVE de tipo LARGE. . . . . . 85
3.20. Variación del fitnessCp con respecto al tamaño de la población en AG.
Experimentos realizados sobre sistemas DVE de tipo SMALL. . . . . . 86
3.21. Variación del fitnessCp con respecto al tamaño de la población en AG.
Experimentos realizados sobre sistemas DVE de tipo LARGE. . . . . . 87
3.22. Variación del fitnessCp con respecto a la tasa de mutación en AG. Expe-
rimentos realizados sobre sistemas DVE de tipo SMALL. . . . . . . . . 87
ÍNDICE DE FIGURAS XIII
3.23. Variación del fitnessCp con respecto a la tasa de mutación en AG. Expe-
rimentos realizados sobre sistemas DVE de tipo LARGE. . . . . . . . . 88
3.24. Comportamiento básico en un colonia. . . . . . . . . . . . . . . . . . . 89
3.25. Ejemplo de aplicación de ACS al problema del particionado en sistemas
DVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
3.26. Representación en pseudocódigo del algoritmo ACS. . . . . . . . . . . . 94
3.27. Variación de la función de evaluaciónCp con respecto al número de ite-
raciones en ACS. Experimentos realizados sobre sistemas DVE de tipo
SMALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
3.28. Variación de la función de evaluaciónCp con respecto al número de ite-
raciones en ACS. Experimentos realizados sobre sistemas DVE de tipo
LARGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
3.29. Variación de la función de evaluaciónCp con respecto al tamaño de la
colonia en ACS. Experimentos realizados sobre sistemas DVE de tipo
SMALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97
3.30. Variación de la función de evaluaciónCp con respecto al tamaño de la
colonia en ACS. Experimentos realizados sobre sistemas DVE de tipo
LARGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
3.31. Variación de la función de evaluaciónCp con respecto a la tasa de eva-
poración en ACS. Experimentos realizados sobre sistemas DVE de tipo
SMALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .98
3.32. Variación de la función de evaluaciónCp con respecto a la tasa de eva-
poración en ACS. Experimentos realizados sobre sistemas DVE de tipo
LARGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .99
4.1. Variación de las prestaciones del sistema con respecto a la tasa de movi-
miento en sistemas DVE compuestos por 180 avatares y 3 servidores. . . 110
4.2. Variación de las prestaciones del sistema con respecto a la tasa de movi-
miento en sistemas DVE compuestos por 500 avatares y 5 servidores. . . 111
4.3. Variación de las prestaciones del sistema con respecto a la tasa de movi-
miento en sistemas DVE compuestos por 900 avatares y 6 servidores. . . 112
4.4. Variación de las prestaciones del sistema con respecto al factor de presen-
cia en sistemas DVE compuestos por 180 avatares y 3 servidores. . . . . 113
4.5. Variación de las prestaciones del sistema con respecto al factor de presen-
cia en sistemas DVE compuestos por 500 avatares y 5 servidores. . . . . 115
XIV ÍNDICE DE FIGURAS
4.6. Variación de las prestaciones del sistema con respecto al factor de presen-
cia en sistemas DVE compuestos por 900 avatares y 6 servidores. . . . . 116
4.7. Correlación de la función de calidadCp con la latencia media del sistema
medida como ASR . . . . . . . . . . . . . . . . . . . . . . . . . . . . .119
4.8. Variación de la respuesta media ASR con respecto al incremento del nú-
mero de usuarios en un servidor. . . . . . . . . . . . . . . . . . . . . .120
4.9. Representación de los porcentajes de utilización de CPU para los servi-
dores empleados en el experimento de la figura4.7 . . . . . . . . . . . . 124
5.1. Representación del particionado de la escena según ARPS. . . . . . . . 135
5.2. Población de avatares distribuidos uniformemente en la escena tras reali-
zar una simulación completa siguiendo patrones de movimiento a) CCP,
b) HPA y c) HPN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140
6.1. Efecto de la asignación de avatares a los diferentes servidores en la laten-
cia de los mensajes en un sistema DVE compuesto por 600 avatares y 9
servidores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171
6.2. Representación de la función de evaluaciónhcpu(i) . . . . . . . . . . . . 174
6.3. Representación de la función de evaluaciónhasr(i) . . . . . . . . . . . . 175
6.4. Representación de la función de evaluaciónΓ . . . . . . . . . . . . . . . 176
6.5. Representación de la función de calidadfQoS frente al número de itera-
ciones en SA para sistemas DVE de tipo MEDIUM1. . . . . . . . . . . 179
6.6. Representación de la función de calidadfQoS frente al número de itera-
ciones en SA para sistemas DVE de tipo MEDIUM2. . . . . . . . . . . 180
6.7. Representación de la función de calidadfQoS frente al número de itera-
ciones en SA para sistemas DVE de tipo MEDIUM1. . . . . . . . . . . 180
6.8. Representación de la función de calidadfQoS frente al número de itera-
ciones en SA para sistemas DVE de tipo MEDIUM2. . . . . . . . . . . 181
6.9. Variación de la función de calidadfQoS y tiempo de ejecución para dife-
rentes valores dec en sistemas de tipo MEDIUM1. . . . . . . . . . . . . 186
6.10. Variación de la función de calidadfQoS y tiempo de ejecución para dife-
rentes valores dec en sistemas de tipo MEDIUM2. . . . . . . . . . . . . 187
ÍNDICE DE FIGURAS 1
Agradecimientos
Durante el desarrollo de la presente tesis doctoral, realizada a caballo entre el Instituto
de Robótica y el Departamento de Informática de la Universitat de València, he recibido
el apoyo de numerosas personas a las que quisiera expresar mi gratitud:
Al Dr. Marcos Fernández, por todo el adoctrinamiento y confianza sin límite mostra-
dos durante los casi diez años de trabajo conjunto dentro del grupo ARTEC del Instituto
de Robótica de la UV.
Al Dr. Juan Manuel Orduña, por su inestimable apoyo, consejo científico y aliento
prestado a lo largo de la consecución de todo este trabajo. Sin su ayuda y colaboración
desinteresada, que han excedido con creces sus obligaciones como codirector de la tesis,
la finalización y publicación de todo el trabajo realizado hubieran sido prácticamente
imposibles. Sobre este aspecto, debo agradecer también la ayuda del Dr. José Duato del
grupo GAP de la Universitat Politécnica de València, cuyas directrices han marcado la
pauta de todas las investigaciones realizadas.
A los doctores Enrique Alba del Departamento de Lenguajes y Ciencias de la Com-
putación de la UMA y Juan Domingo del Departamento de Informática de la UV, por sus
consejos vitales en la adaptación e implementación de las estrategias heurísticas.
Al Dr. Ramón Mollá y a los investigadores del DSIC de la Universitat Politécnica de
València, por todas las facilidades prestadas durante mis estancias en su centro.
A Mariano, Charo y Juanjo, amigos y además compañeros del Instituto de Robótica
de la UV por su eterna paciencia en los grandes momentos compartidos durante todo este
tiempo.
A mis padres y a mi hermano por el impulso moral y material.
Y por último y en especial a Silvia, por su amor infinito y a la que esta tesis doctoral
tantos momentos le ha robado.
Gracias a todos ellos.
2 ÍNDICE DE FIGURAS
Resumen
Los Entornos Virtuales Distribuidos (DVE) son sistemas que permiten que usuarios
conectados remotamente puedan interactuar en una escena virtual común. Dentro de este
tipo de sistemas en red destacan los sistemas DVE diseñados sobre arquitecturas red-
servidor. Este tipo de arquitecturas se caracteriza por su alta escalabilidad ya que permite,
a través un conjunto de servidores coordinados, simular un importante volumen de clien-
tes conectados simultáneamente al mismo sistema DVE. A pesar de que en estos sistemas
la gestión de las comunicaciones y el tratamiento de la información juega un papel vital,
la mayoría de técnicas de simulación desarrolladas para sistemas DVE se ocupan de los
aspectos críticos del sistema desde el punto de vista de la informática gráfica. Este es el
caso de los problemas más comunes que afectan a los sistemas DVE como son el particio-
nado del sistema, la calidad del servicio a los avatares o la consistencia de la información
visual.
Esta tesis se centra en el estudio de los sistemas DVE basados en arquitecturas red-
servidor desde una perspectiva más amplia. En primer lugar, presenta un análisis compa-
rativo de las diferentes técnicas metaheurísticas empleadas para la solución del problema
del particionado en sistemas DVE. Estas técnicas son aplicadas sobre la función de eva-
luación más importante recogida en la literatura de la materia. Dicha función modela el
comportamiento de estos sistemas a lo largo de toda una simulación. A continuación, a
partir de un extenso estudio experimental la tesis analiza la ausencia de correlación entre
la función de evaluación anterior y las prestaciones reales del sistema. A su vez, no sólo
demuestra la imprecisión de los modelos estáticos que estiman la carga generada por los
avatares, sino que además pone de manifiesto el comportamiento no lineal de los siste-
mas DVE basados en arquitecturas red-servidor con respecto al número de usuarios del
sistema. Una vez se ha descrito como se comportan realmente estos sistemas, la tesis pre-
senta dos estrategias dinámicas de particionado en sistemas DVE que realmente tienen en
cuenta este comportamiento. Estas técnicas incrementan significativamente tanto la pro-
ductividad del sistema como el retraso de la aparición del punto de saturación del sistema
DVE.
Por último, la tesis propone un modelo de calidad de servicio (QoS) para los avatares
del sistema DVE. Este modelo está formulado como un compromiso entre productivi-
dad, latencia y eficiencia del sistema. La evaluación de prestaciones del modelo de QoS
ÍNDICE DE FIGURAS 3
propuesto destaca que no sólo consigue maximizar el rendimiento del sistema, sino que
además, es capaz de cumplir con unas determinadas restricciones temporales relacionadas
con el tiempo de respuesta de los avatares del sistema.
Palabras clave:DVE, problema del particionado, balanceo de cargas, calidad de ser-
vicio.
4 ÍNDICE DE FIGURAS
MOTIVACIÓN
El incremento en los últimos años de las prestaciones de los computadores persona-
les ha propiciado la popularización de las aplicaciones basadas en entornos virtuales 3D.
A pesar de que los primeros desarrollos de este tipo de aplicaciones gráficas han estado
basados en arquitecturas monousuario, el abaratamiento de las conexiones de banda an-
cha ha facilitado la posibilidad de que usuarios conectados de forma remota compartan
simultáneamente escenas 3D en tiempo real. Este nuevo tipo de sistemas, denominados
comúnmente como DVE (del inglés “Distributed Virtual Environments”), no sólo está
compuesto de una aplicación gráfica altamente interactiva sino también de una red de
interconexión que va a permitir el intercambio de información entre los usuarios del sis-
tema.
Básicamente, los usuarios de un sistema DVE van a evaluar las prestaciones de un sis-
tema a partir de dos parámetros fundamentales. Estos parámetros generales corresponden
a la productividad y a la latencia del sistema. Por una parte, la productividad de un siste-
ma DVE describe el número máximo de usuarios que pueden interactuar simultáneamente
en una escena 3D antes de que el sistema llegue al punto de saturación. A diferencia de
otros sistemas en red, la productividad en los entornos virtuales distribuidos no es sólo
un parámetro del sistema. Dado que uno de los grandes objetivos de los sistemas DVE
corresponde a la simulación masiva de grandes comunidades on-line, el sistema se con-
vierte para un usuario en más atractivo a medida que se incrementa el número máximo de
participantes con los que puede compartir las escenas virtuales. Por otra parte, la laten-
cia indica el tiempo medio que transcurre desde que cualquier usuario realiza una acción
hasta que la notificación de esta acción llega hasta el resto de usuarios del sistema DVE.
Por lo tanto, desde el punto de vista de los usuarios, a medida que la latencia del sistema
6 Motivación
disminuye el sistema DVE se convierte en más interactivo y amigable.
Dado que en la evolución de los sistemas DVE se ha buscado tradicionalmente el
incremento de sus prestaciones medias, la práctica totalidad de sistemas convencionales
actuales se han desarrollado sobre arquitecturas de tipo red-servidor. Frente a otros ti-
pos de diseños (cliente/servidor, P2P, etc.), estas arquitecturas, basadas en un esquema de
servidores interconectados, suponen un excelente compromiso entre prestaciones, cohe-
rencia de la información y fiabilidad del sistema. A pesar de que existen algunas aporta-
ciones que intentan modelar el comportamiento de los sistemas DVE sobre arquitecturas
red/servidor, los modelos propuestos hasta la actualidad presentan dos graves problemas.
En primer lugar, no surgen a partir de una caracterización de los elementos vitales del sis-
tema que puedan describir tanto el comportamiento de los servidores, como el de la carga
generada por los avatares del sistema DVE. Debido a ello, no demuestran la existencia
de una correlación directa entre los parámetros del modelo propuesto y las prestaciones
reales del sistema. Por ello, no pueden garantizar que realmente estén maximizando la
productividad de los sistemas DVE, y únicamente proporcionan un método de balanceo
de cargas cuya efectividad real no se ha demostrado. Finalmente, los métodos existentes
en la actualidad o bien no garantizan un cierto nivel de calidad de servicio a los avatares
del sistema, o bien lo hacen a costa de la calidad visual de los gráficos. Estas característi-
cas provocan que las prestaciones del sistema DVE no queden garantizadas.
La resolución de estos problemas permitiría incrementar de forma notable las presta-
ciones de los sistemas DVE manteniendo los mismos recursos hardware. Esta razón ha
motivado el desarrollo del trabajo que se expone en el presente documento.
OBJETIVOS
Un aspecto clave en el éxito de los entornos virtuales distribuidos (DVE) reside en
la eficiencia y escalabilidad que estos sistemas puedan ofrecer. Por lo tanto, el objetivo
principal de esta tesis es el siguiente:
“Desarrollo de un conjunto de técnicas que aporten una mejora significativa de las
prestaciones de los sistemas DVE basados en arquitecturas red-servidor en términos de
latencia y productividad.”
Este objetivo principal se puede alcanzar desde diferentes vertientes, cada una de las
cuales se convierte en un objetivo particular de la tesis. Estos objetivos son los siguientes:
1 Aplicación de estrategias metaheurísticas al problema de la asignación de clientes
(usuarios) a los diferentes servidores del sistema. La literatura de la materia de-
muestra que este problema es NP-completo, y en consecuencia intenta resolverlo
mediante procedimientos de búsqueda. La aplicación de estrategias metaheurísticas
puede proporcionar métodos de búsqueda más eficientes y de menor coste que los
empleados hasta la actualidad.
2 Estudio de la correlación entre la función de calidad utilizada por los métodos de
búsqueda existentes y las prestaciones reales de los sistemas DVE. La caracteri-
zación de los sistemas DVE en función de los diversos parámetros de la función
de calidad es fundamental para obtener métodos de asignación de clientes a ser-
vidores que mejoren realmente las prestaciones del sistema. Este estudio deberá
caracterizar perfectamente tanto la carga que los clientes generan al sistema, como
el comportamiento del sistema frente a dicha carga.
8 Objetivos
3 Desarrollo de métodos de asignación de clientes a servidores que mejoren la pro-
ductividad del sistema. Estos métodos estarán basados en la caracterización de los
sistemas DVE realizada como consecuencia del anterior objetivo.
4 Análisis de la calidad de servicio ofrecida por los sistemas DVE. Desarrollo de un
mecanismo de asignación de clientes a servidores capaz de ofrecer un cierto nivel
de calidad de servicio a la mayor cantidad posible de usuarios del sistema. Este
mecanismo debe ser invariante tanto con la calidad visual máxima ofrecida por el
sistema como con la productividad del mismo.
Organización de este documento
Para llevar a cabo estos objetivos, la tesis está organizada en los siguientes capítulos:
En el capítulo1 describimos el estado actual de las tecnologías que se ven involu-
cradas en diseño y la implementación de los sistemas DVE. En especial, destacamos
las aportaciones más relevantes recogidas en la literatura de la materia referentes a
las arquitecturas de control y comunicación, así como las técnicas de simulación
más importantes diseñadas para este tipo de sistemas.
En el capítulo2 realizamos una descripción de la herramienta de simulación de sis-
temas DVE empleada para la realización de este trabajo. Esta herramienta incluye
una nueva especificación de un mecanismo que permite la evaluación global de las
prestaciones de este tipo de sistemas distribuidos.
En el capítulo3 discutimos la función de evaluación más importante que recoge
la literatura de la materia para resolver el problema del particionado. Basándonos
en esta función de calidad, presentamos un estudio comparativo de un conjunto de
técnicas metaheurísticas especialmente adaptadas para este problema.
En el capítulo4 realizamos la caracterización de la carga que representan los ava-
tares del sistema para los servidores donde éstos se encuentran asignados. Además,
estudiamos la correlación de la función de calidad propuesta en la literatura con
las prestaciones reales de los sistemas DVE. Finalmente, este capítulo presenta la
caracterización de los sistemas DVE con respecto a los diferentes parámetros de la
función de calidad.
En el capítulo5 presentamos dos estrategias dinámicas de particionado global de
sistemas DVE que tienen en cuenta la caracterización de estos sistemas mostrada
Objetivos 9
en el capítulo anterior. Estas estrategias están orientadas a mejorar la productivi-
dad de los sistemas DVE retardando significativamente la aparición del punto de
saturación.
En el capítulo6 demostramos que el problema de proporcionar calidad de servi-
cio a los avatares de un sistema DVE puede ser resuelto mediante el problema del
particionado. Además, proponemos un nuevo método de particionado que aporta
calidad de servicio a los avatares de un sistema DVE. Este mecanismo se basa en el
empleo de dos técnicas heurísticas desarrolladas sobre Simulated Annealing (SA)
y GRASP.
Finalmente, en el capítulo7 resumimos las conclusiones a las que hemos llegado
tras la realización de este trabajo, enumerando las principales aportaciones. Asimis-
mo, discutimos las posibles líneas de trabajo futuro.
10 Objetivos
CAPÍTULO 1
INTRODUCCIÓN
1.1. ENTORNOS VIRTUALES DISTRIBUIDOS (DVE)
Actualmente, los entornos virtuales distribuidos (DVE) se han convertido en un claro
nexo de unión entre las tecnologías de Realidad Virtual y las Redes de Computadores
[77]. Básicamente, estos sistemas se caracterizan por permitir que diferentes usuarios,
conectados remotamente, puedan interactuar entre sí en una escena virtual común.
En esta sección nos centramos en describir los aspectos básicos de este tipo de siste-
mas en red. En primer lugar, describimos cual ha sido la evolución tecnológica que han
sufrido los sistemas DVE a lo largo de la historia. En este sentido, haremos especial hin-
capié en los motivos básicos del desarrollo de las arquitecturas red-servidor como meca-
nismo fundamental de simulación de este tipo de sistemas. A continuación, presentamos
cuales son las características y la problemática básica que rodean a los sistemas DVE.
Finalmente, presentamos las técnicas básicas de simulación que incorporan actualmente
la mayoría de sistemas DVE recogidos en la literatura de la materia.
1.1.1. Introducción
Una gran parte de las tecnologías empleadas en el campo de los gráficos por com-
putador han evolucionado a un modelo actual de desarrollo técnico basado enRealidad
Virtual (RV). Aunque este término ha sido ampliamente definido en la literatura de la
materia por numerosos investigadores, suele considerarse la RV como un entornosintéti-
12 1.1. ENTORNOS VIRTUALES DISTRIBUIDOS (DVE)
co, interactivo, inmersivoy multisensorialen tres dimensiones [79]. La RV proporciona
la base para el desarrollo de un amplio rango de aplicaciones que van desde el mundo del
entretenimiento, la educación y la formación civil hasta el tratamiento y representación
de información en medicina, robótica y química, así como multitud de otros propósitos
diferentes.
Aunque la RV es una tecnología que permite generar ambientes virtuales accesibles
por uno o varios usuarios, se suele hablar deentornos virtuales distribuidoscuando el
acceso al ambiente virtual se realiza simultáneamente por varios usuarios y desde empla-
zamientos físicos distintos. Los clientes de estos entornos van a tener una representación
normalmente humanoide dentro de la escena 3D. Estos personajes digitales suele deno-
minarseavatares, e identifican univocamente al cliente al que representan [77, 79].
Los entornos virtuales distribuidos se caracterizan por ser sistemas que gozan de una
cierta madurez. Durante los últimos veinte años, el desarrollo de este tipo de aplicaciones
típicamentedistribuidas, interactivasy con unas fuertes restricciones detiempo-realha
sido significativo. Este hecho ha propiciado que las aportaciones encontradas sobre este
campo en la literatura de la materia ofrezcan una importante variedad, tanto en términos
de terminología empleada como en la caracterización de los elementos que componen
estos sistemas. En este sentido, aunque pueden existir ciertas diferencias tanto en la natu-
raleza del grupo de investigación que diseña estos sistemas (departamentos universitarios
[7], cuerpos militares [56] o industria del videojuego [1]) como en la principal área de
conocimiento de la cual provienen (redes de computadores [51], RV [71], inteligencia ar-
tificial [48], etc.), es posible analizar este tipo de sistemas desde un punto de vista global.
Por analogía con otros equipos de investigación [14, 45, 50, 53] nos referiremos al
término DVE (del inglés “Distributed Virtual Environments”) para designar a aquellos
sistemas donde un conjunto de usuarios conectados remotamente comparten simultánea-
mente la misma escena virtual. Estos sistemas se caracterizan por ser capaces de garan-
tizar la transparencia al usuario del emplazamiento físico del resto de integrantes de la
simulación.
CAPÍTULO 1. INTRODUCCIÓN 13
1.1.2. Extensión del concepto Realidad Virtual a Sistema Distribuido
Desde 1980, el Departamento de Defensa de los Estados Unidos de América ha cen-
trado el desarrollo de sus aplicaciones militares en el empleo de un protocolo para la
simulación interactiva denominado DIS. Debido a su gran aceptación, este protocolo fue
aprobado por el “Institute of Electrical and Electronics Engineers” (IEEE) como un es-
tándar “de iure” IEEE en 1992 ([37]). Este estándard oficial ha evolucionado a una ar-
quitectura de alto nivel para el desarrollo de aplicaciones distribuidas denominada HLA
[44]. HLA se fundamenta en proporcionar al programador un mecanismo de intercambio
de datos, definido sobre federaciones, mediante el cual crea un arquitectura basada en la
distribución de servicios. A diferencia de DIS, HLA es una arquitectura que no se carac-
teriza especialmente por estar orientada hacia ámbitos militares. De hecho, sus elementos
básicos, como son lasfederacionesy los servicios, se emplean asiduamente fuera de en-
tornos militares y con objetivo de la creación de grandes simulaciones civiles. Fruto de
esta evolución, y como resultado de la investigación en sistemas multiusuario colaborati-
vos, se han firmado acuerdos entre centros militares e industrias del entretenimiento [11].
Esta alianza ha permitido la creación de una línea de investigación cuyo objetivo se cen-
tra en el desarrollo de videojuegos multijugador caracterizados por disponer de una alta
calidad visual. En estos sistemas, un conjunto de usuarios o jugadores remotos, conecta-
dos a través de una red de alta latencia como pueda ser el caso de Internet, comparten un
escenario virtual de juegos común [9, 17, 34, 66, 78].
Aunque los sistemas militares nacen a partir de grandes presupuestos estatales (ej.
SIMNET [56]), son los equipos universitarios quienes han aportado mayores resultados
en el campo de los sistemas distribuidos en red. Es realmente a partir de los trabajos
realizados por estos equipos durante la década pasada cuando se realizan las primeras
referencias al término DVE. Estos trabajos, muchos de ellos recogidos dentro del ámbito
del estándard FIPA [26], se caracterizan por detallar las primeras estrategias básicas de
simulación especialmente desarrolladas para el empleo en sistemas DVE. Proyectos cla-
ve dentro de ésta línea de trabajo son las iniciativas DIVE [28], Spline [6], Massive [32]
y COVEN [81]. Todos estos sistemas de bajo coste se caracterizan por estar orientados
a un uso local, sobre equipos multi-plataforma y con soporte para dar servicio a un nú-
mero restringido de usuarios. La figura1.1muestra el cronograma de la aparición de los
diferentes tipos de sistemas DVE a lo largo de la historia.
De forma paralela a estos desarrollos, otros equipos de investigación de diferentes cen-
14 1.1. ENTORNOS VIRTUALES DISTRIBUIDOS (DVE)
Figura 1.1: Evolución histórica de los sistemas DVE según su naturaleza
tros universitarios enfocan sus trabajos hacia aspectos particulares de los sistemas DVE.
En primer lugar, algunas propuestas basan su esfuerzo en la combinación de las técnicas
de trabajo cooperativo o CSCW (del inglés “Computer Supported Cooperative Work”)
con la Realidad Virtual [14, 54]. Estas iniciativas dieron lugar a los denominadosambien-
tes virtuales colaborativoso CVE (del inglés “Collaborative Virtual Environments”). Los
CVE se centran principalmente en uno de los problemas básicos que se dan en cualquier
entornos distribuido en red. Este es el problema de la coherencia de los datos del mun-
do virtual. Para su tratamiento, suelen ofrecer mecanismos de gestión concurrentes en la
construcción y diseño de objetos en la escena [71]. Por último, suele aparecer el término
NVE ( del inglés “Networked Virtual Environments”) en aquellos sistemas donde se ha
hecho especial hincapié en las mejoras de los mecanismos de comunicación como vía
para obtener mejores prestaciones globales del sistema DVE [39, 52, 77]. Dado que los
entornos CVE y NVE se centran en el estudio de aspectos particulares de los sistemas de
realidad virtual en red, la literatura de la materia suele representarlos como un subcon-
junto de los sistemas DVE [13, 14, 28, 29, 45]. Esta es la razón por la que, a lo largo de
la tesis, empleamos el términosistema DVEpara describir de forma global a los entornos
virtuales distribuidos en red.
1.1.3. Problemática básica de los sistemas DVE
Todos los tipos de entornos virtuales distribuidos (DVE) se enfrentan a un conjunto
de problemas comunes. Estos son los siguientes:
CAPÍTULO 1. INTRODUCCIÓN 15
Ancho de Banda
El ancho de banda es un parámetro que indica la capacidad de comunicación que va
a tener la red a través de la cual los datos de la aplicación van a ser transmitidos [32].
En los entornos virtuales distribuidos se expresa como la cantidad de datos emitidos o
recibidos por unidad de tiempo. Dado que los sistemas DVE operan normalmente sobre
redes de computadores heterogéneas (interconexionando entornos LAN y WAN), el ancho
de banda de los tramos más deficitarios va a limitar la comunicación entre los distintos
computadores que integran el sistema.
Latencia
La latencia o tiempo de propagación de un sistema indica la cantidad de tiempo que
transcurre desde que un cliente envía un mensaje hasta que su destinatario lo recibe com-
pletamente [23]. Tal y como ocurre en la mayoría de sistemas, la latencia en los entornos
virtuales distribuidos (DVE) no se caracteriza por ser un valor fijo y predecible sino que
aparece con unas ciertas fluctuaciones. A esta fluctuación se le suele se le denomina “jit-
ter” [3, 23] y provoca que numerosos sistemas DVE hayan tenido que incorporar meca-
nismos de sincronización para evitar los efectos de la llegada desordenada de mensajes.
Aunque latencia y “jitter” son dos parámetros que no pueden ser eliminados de un sis-
tema DVE, la literatura de la materia muestra algunas soluciones que intentan paliarlos
[14, 34].
Debido al concepto de retraso intrínseco que representa la latencia, ésta va muy unida
a la interactividad del sistema [4]. De esta forma, los sistemas DVE en los que se ga-
rantiza una baja latencia se caracterizan por ofrecer tiempos de respuesta entre clientes
muy bajos. Esto favorece que el sistema se convierta en altamente interactivo y amigable.
Esta relación ha sido ampliamente estudiada en todo tipo de sistemas DVE. Mientras que
los estándares militares como DIS marcan latencias máximas permitidas de 100 ms. [37],
los últimos trabajos en el tema destacan la cota de los 250 ms. como valor máximo de
latencia para garantizar un aceptable interactividad a los usuarios del sistema DVE [34].
Por último en el caso más extremo, los sistemas de estrategia en tiempo-real o RTS (del
inglés “Real Time Strategy”) permiten latencias máximas de hasta los 500ms. entre los
participantes de las contiendas virtuales[9].
16 1.1. ENTORNOS VIRTUALES DISTRIBUIDOS (DVE)
Potencia de cálculo
El tratamiento de las comunicaciones entre los avatares supone un coste computa-
cional extra a cualquier equipo conectado a ella dentro del sistema distribuido. En de-
terminadas ocasiones, estas comunicaciones pueden incluso convertirse en una fuente de
problemas debido al tiempo que el computador va a emplear para solicitar y gestionar pe-
ticiones. Empleando estimaciones conservadoras, algunos estudios sobre sistemas DVE
han demostrado empíricamente como un cierto volumen de datos, enviados por los ava-
tares de la simulación, puede saturar la capacidad de respuesta del servidor donde están
conectados [76].
Escalabilidad
La escalabilidad se define como la capacidad mostrada por el sistema para adaptarse
a cualquier cambio en los recursos del mismo [52]. Este término no ha de confundirse
con laproductividaddel sistema DVE, definida como el número máximo de usuarios que
el sistema puede soportar sin que este llegue al punto de saturación. Se considera que un
sistema DVE esescalablesi garantiza un rendimiento medio sostenido del sistema a me-
dida que se incrementan el número de usuarios en éste [77]. Aunque tradicionalmente esta
característica ha sido garantizada mediante el sobredimensionamiento de las especifica-
ciones “hardware” de los servidores del sistema DVE, han aparecido técnicas “software”
basadas en el particionado de la escena que aportan ciertas garantías de escalado [49, 12].
Seguridad
Actualmente, la seguridad “on-line” se ha convertido en uno de los grandes puntos
a resolver por cualquier tipo de aplicación distribuida en red. Aunque la mayoría de sis-
temas DVE tradicionales no incorporan mecanismos básicos de defensa ante ataques no
deseados recientes trabajos se centran en estos objetivos [72].
CAPÍTULO 1. INTRODUCCIÓN 17
1.1.4. Arquitecturas de simulación para sistemas DVE
Una vez hemos destacado los recursos limitados de red sobre los cuales se simulan
los sistemas DVE, podemos afirmar que la mejora en las prestaciones para este tipo de
sistemas debe de ser tratada desde un punto de vista de más alto nivel. Esto conlleva la
elección de nuevas arquitecturas para la gestión eficiente de lascomunicaciones, datosy
controldentro del sistema DVE. En este sentido, durante la evolución histórica de este tipo
de sistemas la literatura de la materia muestra diferentes clasificaciones de los sistemas
DVE atendiendo a la elección de estas arquitecturas [52, 77, 78].
La arquitectura de comunicaciónde un sistema DVE [52, 77] describe el proto-
colo y la configuración de los elementos del sistema necesarios para el intercambio de
información entre los clientes de éste. Básicamente, existen 3 tipos de arquitecturas de
comunicación: cliente-servidor, punto-a-punto y red-servidor.
La figura1.2.a muestra un ejemplo de una arquitecturacliente-servidortípica. En este
tipo de arquitecturas, denominadas también SSDVE (del inglés “Single Server Distributed
Virtual Environment”) [50], un servidor central controla completamente todo el sistema
DVE. Todos los avatares del sistema comunican su cambio de posición o estado a es-
te servidor, el cual, dependiendo de la posición de cada uno de ellos, retransmitirá esta
información a los avatares que considere oportunos. A pesar de que estos sistemas garan-
tizan una coherencia máxima al mantener los datos centralizados en un único servidor éste
se convierte en un único punto de fallos. Además de esta característica, la escalabilidad
del sistema es reducida y viene delimitada por la capacidad máxima de procesamiento del
servidor [1, 9].
En contraposición a este tipo de arquitecturas se diseñaron los sistemas basados en ac-
cesospunto-a-punto o P2P[52]. Tal y como muestra la figura1.2.b, los clientes de estos
sistemas envían mensajes directamente hacia los avatares que, según su estimación, pue-
den visualizarles en la escena virtual. Dado que estos sistemas carecen de un organismo
centralizado de control la coherencia, fiabilidad y seguridad de los datos no está asegu-
rada. Por el contrario, este esquema, además de no tener puntos de fallo únicos, permite
una alta escalabilidad en el sistema DVE. Aunque sistemas como DIVE [28], basados en
P2P, tuvieron cierto renombre en su nacimiento sólo aproximaciones recientes dan una
solución aceptable a parte de su problemática [39].
18 1.1. ENTORNOS VIRTUALES DISTRIBUIDOS (DVE)
Figura 1.2: Esquema general arquitecturas cliente-servidor y P2P
Tomando ciertas ideas de las arquitecturas anteriores, el modelored-servidoraporta
un conjunto de soluciones muy eficiente en la simulación de grandes sistemas DVE. Esto
ha permitido que la gran mayoría de sistemas que recoge la literatura de la materia es-
tán basadas en esta arquitectura [77, 7, 45, 46]. Los sistemas DVE basados en modelos
red-servidor, tal y como se muestra en la figura1.3, están formados por un conjunto de
servidores dedicados e interconectados. Cada avatar del sistema se asigna a uno y sólo uno
de estos servidores, al cual le notificará cualquier variación de su posición o estado. Dado
que estos servidores conocen el área de influencia de los avatares que tienen asignados,
propagan la información enviada por los avatares emisores de dos formas distintas. Así, si
el avatar a actualizar está asignado en el mismo servidor que el avatar emisor, le bastará el
envío de un sencillo mensaje intra-servidor para informar al avatar de destino del cambio.
Por el contrario, si el avatar de destino está asignado a un servidor distinto, entonces se-
rá necesario remitir este mensaje al servidor que le aloja (mensaje inter-servidor) el cual
se lo hará llegar directamente al avatar receptor. Dado que el número de servidores no
suele ser excesivamente alto (no suelen superar los 10) la coherencia del sistema DVE
se garantiza mediante un sencillo mecanismo de fusión de mapas entre los servidores del
sistema [77]. Además, la escalabilidad del sistema DVE y la seguridad de la información
son bastante aceptables ya que el punto de fallo no es único y la dispersión de datos está
controlada.
El paso del tiempo y la gran aceptación de las arquitecturas red-servidor han propicia-
do que la literatura de la materia recoja diferente terminología para denominarlas. Así, es
frecuente el uso de términos comoMSDVE[50, 49] (del inglés “Multiple Server Distribu-
ted Virtual Environment”), sistemasjerárquicos[29] o arquitecturasservidor-espejopara
referenciarlas. Este último término aparece especialmente en los sistemas empleados en
el campo de los videojuegos en red [9, 78, 82, 83].
CAPÍTULO 1. INTRODUCCIÓN 19
Figura 1.3: Esquema general arquitectura red-servidor
Las arquitecturas de control y datos hacen referencia a dos propiedades muy im-
portantes que caracterizan a los sistemas distribuidos en red. Estas son laconsistencia
y la capacidad de reacción. Ambas suelen ser consideradas como laplataforma lógica
del sistema DVE [78]. Para lograr una alta consistencia, la arquitectura debe garantizar
que procesos ejecutados en nodos remotos no dependan del nodo donde sean alojados.
Además, se han de cumplir dos características sobre la visión que cada avatar del sistema
DVE tiene sobre el resto de avatares de la simulación. Por una parte, la visualización debe
de ser independiente de la topología de la red, y por la otra, ha de coincidir con la visua-
lización que se obtendría si todos los avatares estuvieran corriendo en la misma máquina.
Proporcionar mejor capacidad de reacción consiste en disminuir los tiempos medios de
respuesta ante cualquier petición o consulta de los avatares del sistema DVE. Esto implica
más computación para reducir los requisitos de latencia y ancho de banda de la aplicación.
En los sistemas DVE son tan importantes las arquitecturas de datos como las arquitecturas
de comunicación de los elementos del sistema. A partir de las clasificaciones tradicionales
de sistemas DVE [52, 78], es posible clasificar cualquier sistema DVE genérico en cuatro
posibles grupos diferenciados. Estos son:
Entornos homogéneos replicados
Un entorno homogéneo es un sistema DVE donde se inicializa el estado de cada parti-
cipante en la escena con una base de datos homogénea que contiene información sobre el
terreno, geometría de los modelos, texturas y esquemas de comportamiento para cada ele-
mento representado en el mundo virtual. La comunicación entre los avatares del sistema
DVE se va a basar, o bien en el cambio del estado de determinados objetos (tales como la
20 1.1. ENTORNOS VIRTUALES DISTRIBUIDOS (DVE)
posición de un vehículo móvil) o bien en la producción de eventos como la colisión simu-
lada de proyectiles o la colisión entre dos objetos. Aunque la ventaja de esta aproximación
se basa en el empleo de mensajes relativamente pequeños, este modelo es bastante inflexi-
ble. En primer lugar, todo avatar de la simulación ha de recoger modificaciones de objetos
que están fuera de su campo de visibilidad. Además, las posibles pérdidas de estos objetos
a largo plazo pueden, en numerosas ocasiones, causar problemas de inconsistencia entre
los participantes del mundo virtual. Éste es el modelo típico del sistema SIMNET [56].
En este sistema DVE, una vez da comienzo la simulación cada uno de los avatares que la
compone se guarda una copia local de la base de datos inicial. Aunque en este esquema
los avatares se despreocupan de garantizar la consistencia de datos en la escena, se les
permite la posibilidad del envío de mensajes para la localización de sus avatares vecinos.
Entornos centralizados y compartidos
Es el esquema de los clásicos mundos MUD (del inglés “Multi User Dungeons”)
[77, 52]. Estos sistemas DVE se caracterizan por disponer de una única base de datos del
mundo que es compartida por todos los clientes de la simulación. La limitación de estos
sistemas DVE es evidente y está relacionada con las prestaciones del servidor central que
aloja los datos compartidos del entorno. En la práctica, la existencia de éste único servidor
impide crear simulaciones donde se incluyan simultáneamente más de una decena de
participantes. Además, no es común que estos sistemas doten de cierta complejidad a los
avatares de la simulación.
Entornos distribuidos con actualizaciones punto-a-punto
Esta estrategia nació como analogía a las arquitecturas de memoria compartida propias
de algunos sistemas distribuidos [15]. Los sistemas que la incorporan se caracterizan por
estar compuestos de participantes independientes que simulan, mediante procesos parale-
los, cada uno de los elementos del mundo virtual. En estos sistemas la descripción de la
escena suele dividirse en dos grandes componentes. El primero de ellos corresponde a los
modelosestáticosde la simulación. Estos modelos se caracterizan por tener propiedades
invariantes durante el transcurso de la simulación y por residir de forma local, y replica-
da, en todos los nodos del sistema. En contraposición a ellos, se encuentran los elementos
CAPÍTULO 1. INTRODUCCIÓN 21
dinámicosde la simulación, que aparecen distribuidos entre los diferentes participantes.
En estos entornos la localización de cada componente de la escena es transparente a
los usuarios. Gracias a la ilusión de proximidad que aporta el gestor de mundos, estos
usuarios ven toda la escena virtual como alojada en su propia máquina. A pesar de lo
comentado en la sección anterior para los entornos distribuidos con actualizaciones P2P,
estos sistemas DVE plantean problemas de escalabilidad tanto del número de participan-
tes en la simulación como del tamaño del mundo virtual. Este problema es debido a los
costes de comunicación asociados al mantenimiento de la consistencia y fiabilidad del
mundo. A pesar de ello, este paradigma se encuentra claramente recomendado en simu-
laciones donde la carga estática del modelo es grande [28]. Ejemplos típicos de este tipo
de situaciones son los vuelos sobre terrenos virtuales, los juegos basados en plataformas
o los recorridos virtuales sobre decorados interiores [39, 83].
Mundos distribuidos con actualizaciones cliente-servidor
La última de las arquitecturas hace referencia a una variación del modelo general de
aplicaciones cliente-servidor. En ella, la base de datos que describe el entorno de simula-
ción se reparte entre los participantes del sistema DVE de forma que las comunicaciones
entre ellos son reguladas por un servidor central. En este tipo de sistemas, cuando un
avatar cualquiera se desplaza a través del mundo virtual su base de datos es constante-
mente actualizada por un gestor central de objetos [32]. Este gestor tiene conocimiento
total de que cliente es el que actualmente mantiene la parte del mundo sobre la cual se
está desplazando esa entidad. A pesar de que estas simulaciones permiten la existencia de
varios servidores como gestores de las comunicaciones, éstos se convierten rápidamente
en cuellos de botella debido a la E/S masiva generada por el avatar.
1.1.5. Técnicas básicas de simulación en sistemas DVE
Existen algunas técnicas comunes que facilitan en diseño y la implementación de
grandes simulaciones en sistemas DVE [77, 78]. Básicamente, estas técnicas están orien-
tadas a sistemas con arquitecturas red-servidor y tienen como objetivo principal reducir
los requisitos, en términos de ancho de banda, que estas simulaciones necesitan.
22 1.1. ENTORNOS VIRTUALES DISTRIBUIDOS (DVE)
Gestión de las áreas de interés
En un ambiente virtual distribuido, losavataresson realmente objetos 3D activos que
representan a una de las instancias de los clientes participantes en la simulación. Tal y
como se muestra en la imagen izquierda de la figura1.4, para el sistema DVE Avalon II
[77], los avatares pueden moverse o trasladarse dentro de la escena virtual. Esta propiedad
les permite interactuar con el resto de usuarios del sistema. A su vez, un cliente puede
hacer que su avatar asociado se comunique con otros avatares de la simulación, o que
éste acceda e interactúe con objetos 3D estáticos dentro del mundo virtual tales como
obstáculos, paredes, sillas, etc...
Dado que un avatar puede desplazarse e interactuar con cualquier objeto 3D dinámico
o estático en el mundo virtual, es necesario equipar al sistema DVE con un mecanismo
que posibilite la transferencia de información entre los avatares del sistema. Este meca-
nismo permitirá que los cambios realizados por un avatar sobre las características de los
objetos sean vistos por el resto de ellos, manteniendo la consistencia de la información
entre los integrantes del mundo virtual. Un mecanismo sencillo para el mantenimiento
de esta consistencia podría basarse en el envío de un mensaje “broadcast” por cada ac-
ción que realizara cualquier avatar sobre cualquier objeto. A pesar de que este esquema
de comunicaciones es la base de funcionamiento de los primeros sistemas DVE militares
tales como NPSNET [24] y SIMNET [56], su naturaleza es excesivamente redundante y
provoca una importante sobrecarga en las comunicaciones.
En general, cada avatar del sistema DVE sólo necesita conocer aquellas actividades
que ocurren cerca de su vecindario, es decir, aquellas que se producen en un radio de
acción inferior a una cota dada. Con esta idea, un mecanismo para reducir considerable-
mente la sobrecarga de comunicaciones en un sistema DVE consiste en definir para cada
avatar lo que se denomina suárea de interés. En general, se entiende por área de inte-
rés o AOI (del inglés “Area of Interest”) de un avatar la región del mundo virtual que
actualmente este avatar está viendo o percibiendo. En la mayoría de los casos, esta zona
corresponde con el espacio de máxima visualización del cliente en la escena. Con este
esquema, si se altera la propiedad de alguno de los elementos que se encuentran dentro
del AOI de un avatar, el avatar ha de ser informado de éste cambio.
Dada la gran importancia del concepto de área de interés, la literatura de la materia
recoge diferentes aproximaciones basadas en este mismo mecanismo de gestión de las
CAPÍTULO 1. INTRODUCCIÓN 23
Figura 1.4: Avatares: representación y su AOI
zonas visibles. Así, son relevantes las técnicas basadas en conceptos comolocales[4] y
auras[31]. Este último término ha permitido la creación de un conocido mecanismo de
reducción del número de mensajes en sistemas DVE basado en la gestión de auras [32].
Básicamente, las auras subdividen el AOI de un avatar dependiendo de la zona de senso-
rización (focus) y conocimiento (nimbus) que cada avatar tiene sobre el mundo virtual.
Atendiendo a la localización de estas subzonas, un gestor de auras global del sistema in-
tenta maximizar el filtrado del conjunto total de mensajes del sistema DVE. La imagen
derecha de la figura1.4muestra como influye el concepto de aura en la interactuación de
dos o más avatares del sistema. Si definimos comoAOI(ai) el área de interés del avatar
ai, se puede comprobar en la parte izquierda de esta imagen que elAOI(a4) ⊆ AOI(a1).
Por lo tanto, el sistema DVE ha de informar al avatara1 de toda actividad que se produzca
en a4. Por otra parte, si existe cualquier tipo de actividad que ocurra en la intersección
deAOI(a1) y AOI(a3) el sistema DVE tan sólo informará a ellos dos sobre los sucesos
producidos. Por último, dado que los avataresa5 y a6 no intersectan con el AOI dea1 y
a4, el sistema no informará al conjunto de avatares a1, a2, a3, a4 de ninguna actividad
generada por a5, a6. Aunque no es la única interpretación posible, el modelo de AOI
empleado durante esta tesis va a constar de la representación de ésta mediante una circun-
ferencia en 2D [7, 50]. Cuando la aplicación así lo necesite, la transformación del modelo
a una esfera en 3D es relativamente trivial.
Es necesario destacar que el concepto de área de interés es puramente dinámico ya
que se obtiene a partir de la localización espacial de un avatarai en un instante dadot.
En numerosos sistemas DVE este concepto ha de ser distinguido del decelda. La celdas
son cada una de las divisionesestáticasy regulares del espacio virtual que en ocasiones
caracterizan a grupos de avatares. Estas representaciones poligonales se utilizan en algu-
nos sistemas para cubrir un áreaξ de la escena virtual. Usualmente, debido a su sencillez
de utilización se emplean celdas cuadradas para mallar regularmente toda una escena vir-
24 1.1. ENTORNOS VIRTUALES DISTRIBUIDOS (DVE)
tual. A pesar de ello y según laconjetura de los panales de abeja hexagonales[27], una
de las más ventajosas superficies regulares para la caracterización las áreas de influencia
o incluso para las células son las celdas hexagonales. Este tipo de representación, además
de cubrir cualquier superficie 2D, se caracteriza por ofrecer una longitud en su perímetro
menor que la creada mediante celdas cuadradas. Así, siξ es el área de una escena vir-
tual y ρ es la superficie de la celda regular con la que cubrir este área, se necesitaránξρ
celdas cuadradas para cubrir toda la escena. Estas celdas tendrán un perímetro de4√
ρ
con lo que la longitud total de la frontera será igual a4 ξρ
√ρ. Lógicamente, en el caso de
celdas hexagonales se necesitarán tambiénξρ
celdas para poder completar toda la escena.
Esta celdas tendrán ahora un perímetro de√
24ρ√3
unidades y una longitud total de frontera
de3,72 ξρ
√ρ. Por lo tanto, empleando esta última representación se logra incrementos de
rendimiento de alrededor del 7 %.
Dead-Reckoning
Tal y como se ha descrito anteriormente, cuando un usuario modifica la posición de
su avatar todos los clientes del sistema DVE que actualmente estén visualizando a ese
avatar han de ser informados sobre ese cambio. En este sentido, para evitar que cada
cliente visualice el movimiento de su avatares vecinos mediante un desplazamiento a
saltos la mayoría de sistemas DVE incorporan técnicas de “Dead-Reckoning” o DR [28,
56]. Estas técnicas calculan la posición actual de un avatar vecino midiendo la distancia y
la dirección en que el avatar se ha movido desde que dejó un punto de partida conocido.
Según lo estimen necesario, los avatares de los sistemas que incorporan DR envían
mensajes a sus vecinos donde incluyen su nueva posición y velocidad. El protocolo DIS
de intercambio de mensajes ya incluye campos expresamente indicados para tal efecto
[37]. Cuando un avatarai ha enviado su posición y velocidad pi,vi y ésta ha llegado a
sus vecinos transcurrido un tiempot (provocado por la latencia de la red), este avatarai no
tendrá que volver a enviar ningún paquete si mientras se esté moviendo por la escena su
nuevas posicionesp′i adquiridas durante su movimiento no excedan un determinado valor
4d. Este valor, en un instantet′, se obtiene como la distancia euclidea entre la posición
p′i real de avatar y lap′t′
i estimada por el resto de avatares del sistema DVE. Esto implica
que, para cada movimiento sobre la escena virtual, los avatares evalúan si se han salido
de la trayectoria inicial que seguía el avatar y será en ese momento cuando haya que no-
CAPÍTULO 1. INTRODUCCIÓN 25
tificar de esta variación al resto de clientes vecinos del sistema. Estos avatares vecinos no
reposicionarán bruscamente al avatar que se ha salido de su trayectoria, sino que lo harán
suavemente durante las siguientes iteraciones. La figura1.5muestra un ejemplo del com-
portamiento de esta técnica para la representación en la escena de un avatar vecino. Los
círculos muestran la información recibida en el instantest sobre la posiciónp y velocidad
v del avatar. Los cuadrados muestran la posición estimada en ese mismo instante.
Figura 1.5: Ejemplo representativo del empleo de la técnica dead-reckoning
Tal y como muestra la figura1.5, en el instantet = 2 la posición predicha para el
avatar a representar era (4,4). En este instante, se recibe un mensaje de ese avatar que
le sitúa ent = 1 (retardo del mensaje debido a la latencia) en la posición (3,1) con
velocidad (4,2). Este mensaje, enviado por el avatar debido a que ha decidido abandonar
su trayectoria actual ent = 1, no implica el desplazamiento brusco del avatar ent = 2
hacia su nueva posición estimada una vez se ha recibido el envío. Esta posición estimada,
que es la prolongación del punto (7,3) hacia el punto (9,4) tras la recepción del mensaje,
se adquiere 0.5 s. más tarde tras el desplazamiento lineal del avatar por la escena virtual.
Compresión de paquetes y agregación
El propósito de cualquier técnica de compresión se fundamenta en la reducción del
número de bits necesarios para representar cualquier tipo de información. En sistemas
DVE, la compresión de los mensajes que cada avatar puede enviar al resto de los inte-
grantes de la simulación se convierte en una aproximación intuitiva a la minimización del
tráfico de red [78]. Básicamente, existe una doble clasificación de las técnicas de compre-
sión que pueden ser utilizadas en un sistema. En primer lugar, estas técnicas se pueden
26 1.1. ENTORNOS VIRTUALES DISTRIBUIDOS (DVE)
diferenciar entre técnicascon o sin pérdidas. Las técnicas sin pérdidasse basan en la
modificación de la codificación de los mensajes a enviar sin alterar de ninguna forma la
información transmitida como en el caso de FCTVE [38]. Este sistema DVE emplea una
técnica de compresión denominada RLE (del inglés “Run Length Encoded”) que reali-
za una compresión sobre la información binaria a transmitir. Esta compresión se basa en
eliminar grandes secuencias de ceros por un token binario seguido del número de ceros
eliminados. Una vez el mensaje comprimido se envía el cliente receptor identifica el to-
ken, realiza la operación inversa y obtiene el mensaje original. Por el contrario y como
consecuencia del proceso de compresión, lastécnicas con pérdidassuelen eliminar parte
de la información a transmitir [78]. Debido a la estructura clásica de los mensajes envia-
dos entre los clientes de un sistema DVE [37] esta posible perdida de información carece
de importancia. Así, mientras que el envío de un mensaje en el que se incluye el cambio
de posición de un avatar al punto [20.000001,15.99999] necesita 8 bytes, estas técnicas
redondearían el valor a [20,16] empleando sólo 2 bytes para su envío.
La segunda clasificación de estas técnicas divide a los sistemas DVE que las emplean
entre sistemasexternos e internos. Las técnicasinternasaplican mecanismos de com-
presión a la información del mensaje con independencia del significado que tenga esta
información. Esto no ocurre en técnicasexternas, donde se comprimen los mensajes de-
pendiendo del tipo de información enviada. Normalmente en estos sistemas los clientes
envían en determinadas ocasiones su posición relativa al resto de avatares [80], en lugar
de transmitir su localización cartesiana en el plano de la escena. El sistema, atendiendo a
la naturaleza de estos mensajes, los comprime de diferente forma.
Además de las técnicas básicas de compresión de la información, la mayoría de sis-
temas DVE incorporan mecanismos deagregaciónde mensajes. Estas técnicas reducen
el ancho de banda consumido por la aplicación mediante la composición de diferentes
mensajes en un único paquete. Esto permite la eliminación de los sobre costos causados
por las cabeceras de cada uno de los mensajes iniciales. En especial, estas técnicas son
muy empleadas para el intercambio de información entre los diferentes servidores que
forman un sistema DVE basado en arquitecturas red-servidor [7, 45, 46, 65]. Dado que
estos servidores han de mantener un modelo coherente con las posiciones de los avatares
en la escena, su intercambio de mensajes es muy frecuente. Estos mensajes contienen la
información sobre la nueva localización de cada avatar y permiten ser fundidos en uno
sólo para su envío.
CAPÍTULO 2
METODOLOGÍA DE EVALUACIÓN
A diferencia de otros campos de investigación en informática, tales como la compre-
sión de imágenes [73] o el análisis algorítmico [2], los entornos virtuales distribuidos
(DVE) carecen en general de mecanismos estandarizados de evaluación de prestaciones.
Tal y como se recoge en la literatura de la materia, esta característica implica que la va-
lidación de cualquier clase de propuesta sobre este tipo de sistemas se haya realizado de
formas muy distintas [7, 14, 39, 49]. En este sentido, la mayoría de aportaciones sobre
sistemas DVE basados en arquitecturas red-servidor se limitan simplemente a evaluar el
comportamiento de las estrategias propuestas dependiendo del número de avatares y/o
servidores que componen el sistema [39, 45, 74]. Aunque alguna aproximación mas re-
ciente ya diferencia experimentos dependiendo de la distribución de avatares en la escena
[49, 7], otros parámetros muy importantes tales como la tasa de actualización y el pa-
trón de desplazamiento de los avatares en la escena [64] nunca se han evaluado de forma
conjunta [18]. Por otra parte y a pesar de la relativa madurez de este tipo de sistemas
[4, 29], no existen plataformas de simulación normalizadas sobre las que probar directa-
mente cualquier estrategia de simulación. Sin embargo, en sistemas DVE con arquitectura
de simulación cliente-servidor la literatura de la materia sí que recoge diferentes estánda-
res defactode dominio publico [66, 47, 83]. Estos estándares se encuentran comúnmente
aceptados por la comunidad investigadora y son utilizados con frecuencia para la imple-
mentación y evaluación de sus trabajos [48, 82]. A pesar de ello, existe algún trabajo, que
no ha tenido ningún tipo de repercusión, que ha intentado evaluar sus aportaciones previa
migración de un estándar cliente-servidor hacia una arquitectura de tipo red-servidor [17].
En este capítulo, presentamos una herramienta de evaluación de prestaciones de siste-
mas DVE genéricos diseñados sobre arquitecturas red-servidor. Esta herramienta, deno-
28 2.1. DESCRIPCIÓN DEL SISTEMA
minada“RealDvT” , ha sido empleada en todos y cada uno los diferentes experimentos
desarrollados a lo largo de esta tesis. Entre otras características, RealDvT es un simula-
dor real de sistemas DVE que consigue recrear fielmente el comportamiento de cualquier
sistema de RV distribuido compuesto porN avatares yS servidores conectados mediante
una red que utilice la pila TCP/IP. Debido a que esta tesis se centra en el estudio de los
condicionantes que puedan afectar el rendimiento de estos sistemas con el fin de mejorar
sus prestaciones, RealDvT incorpora un completo mecanismo de evaluación, parame-
trización y recogida de resultados en tiempo real durante la simulación. En este sentido,
acompañamos a RealDvT de un modelo global de evaluación de estrategias sobre sistemas
DVE. Este modelo justifica el análisis de prestaciones no sólo examinando la respuesta
del sistema DVE con respecto a la variación del tamaño de éste, sino también frente a un
conjunto de características básicas que caracterizan comúnmente a los entornos virtuales
distribuidos.
2.1. DESCRIPCIÓN DEL SISTEMA
La plataforma de evaluación RealDvT modela fielmente el comportamiento de cual-
quier sistema DVE basado en una arquitectura red-servidor. Dado que existen algunos
protocolos y estándares que hacen ciertas referencias básicas a la arquitectura de los siste-
mas DVE red-servidor, tales como FIPA [26], DIS [37] o HLA [ 44], el diseño de RealDvT
incorpora sus conceptos más relevantes. Básicamente, la herramienta RealDvT está com-
puesta por un conjunto de aplicaciones independientes que se encuentran distribuidas a
lo largo de una red de computadores. Estas aplicaciones intercambian datos a través de la
red siguiendo un protocolo común de comunicaciones. Este protocolo les permite emular
el comportamiento de clientes y servidores para cualquier sistema DVE multi-servidor
genérico.
Tal y como muestra la figura2.1, RealDvT divide los componentes de un sistema
DVE en clientes y servidores. Cada servidor del sistema es básicamente una aplicación
independiente compuesta por un conjunto de“sockets” bloqueantes. Estos sockets son
empleados para la comunicación de cada servidor con los clientes que tiene asignados
en cada momento [77]. Esta configuración permite que el hilo principal de cada servi-
dor escuche el tráfico TCP en un puerto de la dirección IP del computador donde está
ejecutándose. Dado que los clientes del sistema establecen la conexión al sistema DVE
CAPÍTULO 2. METODOLOGÍA DE EVALUACIÓN 29
abriendo sockets TCP bloqueantes contra estos puertos de escucha (en cada dirección IP),
el hilo principal crea nuevos hilos en el servidor para poder atender cada una de estas pe-
ticiones. Estos nuevos hilos se denominan hilossecundarios. RealDvT implementa este
mismo esquema para que cada servidor pueda comunicarse con el resto de servidores del
sistema DVE. La figura2.1 muestra un sencillo sistema DVE compuesto por 6 avatares
y 3 servidores. Cada servidor escucha en una dirección IP, puerto distintos y ejecuta
un hilo principal más un conjunto dinámico de hilos secundarios. Este conjunto de hilos
secundarios está formado por los hilos creados para atender a los avatares asignados en
cada momento, más los hilos necesarios para que el servidor se pueda comunicar con el
resto de servidores del sistema DVE.
Figura 2.1: Configuración básica de RealDvT
RealDvT sigue un protocolo de comunicaciones propio para el tratamiento de la infor-
mación en cada servidor. Este protocolo permite gestionar independientemente los hilos
secundarios que le conectan directamente con su subconjunto de usuarios y con el resto
de servidores del sistema. Así pues, tanto la creación como la eliminación de los hilos se
realizan de forma dinámica y en tiempo de ejecución durante la simulación.
Para el caso de los clientes del sistema, RealDvT emplea una configuración particular-
mente distinta. Tal y como hemos comentado, los clientes del sistema DVE se comunican
con los servidores abriendo conexiones TCP sobre sus puertos de escucha. Dado que el
tratamiento de las comunicaciones no debe de entorpecer el subsistema gráfico de los
clientes, toda la gestión de las comunicaciones contra el servidor donde están asignados
se realiza en un hilo independiente. Con el fin de reducir el número de computadores
que RealDvT necesita para poder simular las diferentes configuraciones de sistemas DVE
existentes, el subsistema gráfico de éstos ha sido reducido a la mínima expresión. Esta
modificación ha permitido simular un importante número de clientes en un único com-
30 2.2. MODELO DE COMUNICACIONES
putador. Tal y como se detalla en la evaluación de prestaciones de la mayoría técnicas
descritas en esta tesis, hemos conseguido simular hasta 50 clientes en un único compu-
tador. Este valor umbral del número de clientes ha sido obtenido empleando los equipos
de los laboratorios del Departamento de Informática de la Universidad de Valencia. Es-
tos laboratorios disponen de computadores PC equipados con procesadores Pentium IV a
1.7Ghz, 256 MB de RAM, tarjeta gráfica nVidia Geforce2 MX- 400 y sistema operativo
Windows 2000 Professional.
Por último, tal y como han realizado otros autores [8, 17, 28, 45], cabe destacar que
RealDvT ha sido íntegramente implementado en el lenguaje de alto nivel orientado a obje-
tos C++ y ha sido empleada la herramienta Microsoft Visual Studio 6.0 para su desarrollo.
2.2. MODELO DE COMUNICACIONES
RealDvT define un modelo propio de comunicaciones para gestionar toda la informa-
ción de la simulación asociada a clientes y servidores del sistema DVE. Este modelo ob-
tiene la información que describe el comportamiento del sistema a partir de 3 ficheros de
configuración del sistema DVE. Para que RealDvT funcione correctamente y sus resulta-
dos tengan consistencia, estos ficheros, denominados“escena_init.txt”,“server_config.txt”
y “avatar_config.txt”deben de estar replicados en cada uno de los computadores que for-
man la simulación. Básicamente,“escena_init.txt” es el fichero básico que describe la
simulación en el instante inicial. Este fichero detalla el número de avatares que compo-
nen el sistema DVE a simular, así como la localización de cada uno de ellos sobre el
mapa virtual de la escena (coordenadas cartesianas X,Y,Z) en el momento inicial de la
simulación. Además,“escena_init.txt” muestra el conjunto de avatares que inicialmente
deben de tener asignados cada uno de los servidores que forman la simulación. El fichero
server_config.txt describe la localización y el tipo de cada servidor del sistema DVE.
Tal y como se ha descrito anteriormente, la localización de cada servidor viene descrita
por la dirección IP del computador donde está ejecutándose y un puerto TCP de escucha
en esa dirección. A pesar de que no existen relaciones de jerarquía en el tratamiento de la
información entre todos los servidores que forman un sistema DVE de tipo red-servidor
[77], la mayoría de implementaciones existentes suelen seleccionar a un servidor del sis-
tema como el coordinador de ciertas tareas críticas que tienen lugar durante toda simula-
ción. Este servidor del sistema DVE denominadocoordinador, servidor de agentes[26]
CAPÍTULO 2. METODOLOGÍA DE EVALUACIÓN 31
o gestor de federaciones[44] recoge los servicios de parametrización y entrada/salida de
datos del sistema. Un ejemplo clásico de estos servicios es el indicador de cargas oLoC
(del inglés “Level of Charge”) que permite conocer en tiempo real la tasa de uso de CPU
de cada uno de los servidores del sistema DVE [7]. Normalmente, sólo existe un servidor
coordinador por cada sistema DVE. Su identificación en RealDvT se realiza a partir de
la información del campo tipo del fichero de configuración“server_config.txt”. Los ser-
vidores coordinadores suelen ser la entrada inicial de los clientes a la simulación. Estos
servidores, dependiendo de la partición actual del sistema, permiten la reasignación de los
avatares a su servidor final.
Una vez que los servidores del sistema han sido perfectamente inicializados en sus
puertos de escucha, el sistema DVE creado por RealDvT permite la entrada de los clientes
en la simulación. La figura2.2muestra un ejemplo simplificado del protocolo de mensajes
empleado por RealDvT para gestionar la entrada de avatares en el sistema. Con el fin de
dotar de la mayor claridad a la representación, esta figura no incluye los mensajes de
reconocimiento de peticiones (ACK) incluidos por RealDvT para ofrecer un cierto nivel
de fiabilidad entre todos los elementos del sistema distribuido.
Figura 2.2: Inicialización de avatares en RealDvT
Conocida la dirección IP (147.156.222.150) y el puerto de escucha (6001) del ser-
vidor coordinador de RealDvT, el cliente de la figura2.2 (ejecutado en la dirección
147.15.222.184) abre un socket TCP contra esa dirección. Este cliente indica, median-
te un mensaje de tipo “NAME”, que desea incorporarse en la simulación para realizar
como máximo 1000 movimientos. Dado que el mensaje indica que el cliente todavía no
tiene un avatar asociado en la simulación (tipo=“Pendiente”), el servidorS0 le asigna el
32 2.2. MODELO DE COMUNICACIONES
siguiente identificador de avatar disponible. Además de este identificador (que será fijo
para toda la simulación), el servidorS0 indica al cliente cual es la asignación real de su
avatar asociado en el momento inicial de la simulación. Esta asignación obtenida a partir
del fichero“escena_init.txt”corresponde al servidorS6. Una vez que el cliente recibe la
notificación de que va a ser considerado como el avatarA24 durante toda la simulación,
cierra la conexión con el servidorS0 y se conecta al servidor destinoS6. Ante esta cone-
xión con nombre (tipo=“Avatar24”),S6 comprueba en su copia de“escena_init.txt”que
efectivamente el avatarA24 se encuentra entre sus avatares en el instante inicial. En caso
contrario, podría expulsar mediante un mensaje EXIT al avatar de la simulación.
La simulación podrá comenzar cuandoS0 (normalmente servidor coordinador en
RealDvT) haya comprobado que el número de clientes conectados corresponde exac-
tamente con el número de avatares descritos en el fichero“escena_init.txt”. Dado que
todos los servidores del sistema mantienen un hilo con una conexión TCP a la direc-
ción,puerto del resto de servidores del sistema DVE, cualquier servidor puede arran-
car la simulación. Para realizar esta inicialización, le basta con enviar un mensaje de
“START” al resto de servidores. Este mensaje de inicio de simulación es conveniente-
mente reenviado por cada servidor a cada uno de sus clientes conectados. Los parámetros
de simulación del sistema DVE se encuentran en el fichero“avatar_config.txt”. Dado que
una simulación consta de la recreación de un conjunto de movimientos por cada uno de
los avatares, este fichero describe el número de desplazamientos que debe realizar cada
avatar (“N_MSJES_MAX_TEST”), su frecuencia de desplazamientos por la escena (“PE-
RIODO_CAMB_POSICION”) y el tamaño de su área de influencia (“TAM_AOI” ).
Durante la simulación, cada avatar del sistema DVE va a desplazarse siguiendo un
patrón propio de movimiento hasta que complete“N_MSJES_MAX_TEST”iteraciones.
Cada vez que un avatar se desplaza en la escena manda un mensaje de tipo “APOS” al
servidor donde está conectado actualmente. Este mensaje, dependiendo de la asignación
del avatar emisor y del estado de su AOI, puede propagarse de diferentes formas a lo
largo de los diferentes elementos que componen el sistema DVE. La figura2.3muestra la
propagación de mensajes que causa el avatarA24 cuando se desplaza por la escena en un
momento dado.
Tal y como muestra la figura2.3, el avatarA24 se encuentra dentro del AOI de los
avataresA12 y A8. Debido a esta característica el objetivo del sistema DVE será infor-
mar a estos avatares del la simulación de cualquier cambio en la posición del avatarA24.
CAPÍTULO 2. METODOLOGÍA DE EVALUACIÓN 33
Figura 2.3: Propagación de mensajes en RealDvT tras el cambio de posición de un avatar
Dado que éstos avatares se encuentran respectivamente asignados a los servidorS4 y S6,
la notificación del cambio de posiciones se realizará siguiendo esquemas de propagación
inter-servidor o intra-servidor. El ejemplo de la figura supone la posición deA24 en el
punto 30,58,0 de la escena virtual. SiA24 se desplaza hacia 30,60,0, el cambio de
posición provoca la emisión de un mensaje de tipo APOS hacia su servidorS6. En este
mensaje ([APOS : A24 : 200150, 30, 60, 0]) el avatarA24 no sólo incluye su identifi-
cador con la nueva posición alcanzada, sino también una marca temporal (“timestamp”)
indicadora de la situación del reloj del sistema en el instante justo anterior a la realización
del envío. El servidorS6, ante este envío y sabiendo la localización de cada avatar en la
escena así como su asignación de los servidores del sistema DVE, propaga esta informa-
ción hacia los avatares vecinosA8 y A12. Para ello, en primer lugar (línea de trazo grueso)
y dado queA8 se encuentra también asignado enS6 le reenvía directamente el mensaje
sin modificar. Tras actualizar la posición deA24 en la escena,A8 envía un mensaje de
confirmación (ACK) que llega hasta el emisorA24. Este mensaje, también de tipo APOS,
contiene la marca de tiempos inicial que incluyóA24 en el primer envío y sustituye las
coordenadas X,Y,Z del avatar por los caracteres A, C y K. Una vez queA24 recibe este
mensaje, marcado temporalmente, puede hallar con una simple resta el“round-trip de-
lay” o tiempo de ida y vuelta de la notificación enviada al avatar clienteA8. En el caso
del avatarA12, la propagación de mensajes es significativamente distinta (trazo fino). Una
vez queS6 comprueba queA12 está asignado al servidorS4, le remite a éste un mensaje
inter-servidor de tipo SDAT. Este mensaje que recibeS4 le informa queA24 se ha des-
plazado al punto 30,60,0 y queA12 ha de ser notificado de este cambio. Para ello,S4
34 2.2. MODELO DE COMUNICACIONES
convierte esta información en un mensaje de tipo APOS que llega al avatarA12. Siguiendo
el esquema anterior y de forma transparente paraA12, este avatar contesta con un mensaje
de ACK para el avatar movidoA24. Realizando el proceso inverso, otra vezS4 traduce
este mensaje de tipo APOS a otro de tipo SDAT que informa del ACK al servidorS6. S6
detecta que este ACK es para el avatarA24 y hace la pertinente entrega. Dado que todo
este recorrido inter-servidor mantiene la marca de tiempos que inicialmente incluyóA24,
este avatar también va a poder medir el tiempo requerido para comunicarse con el cliente
A12.
Una vez que la simulación está en marcha, el servidor coordinadorS0 tiene la misión
de realizar dos tarea fundamentales. Éstas son elmantenimiento de las particiones del
sistemay la garantía de la consistenciadel mundo [77]. La primera de las tareas radica
en la ejecución de los resultados obtenidos por los mecanismos de particionado [49, 60].
Dado que la ejecución periódica de estos algoritmos [50] obtiene una nueva partición del
sistema, es muy probable que algunos avatares del sistema DVE tengan de ser migrados a
otros servidores. Para realizar esta notificación, el servidorS0 envía a todos los servidores
del sistema el resultado de esta partición como contenido de un mensaje de tipo “PART”.
Ante un mensaje de este tipo, cada uno de los servidores comprueba si alguno de los
avatares que tiene asignados ha de cambiar de servidor. En ese caso, mandará al avatar
correspondiente un mensaje de tipo “EXIT” (migración desatendida) indicando el nuevo
servidor al cual debe de conectarse. Cuando el avatar recibe este mensaje se cancela su
conexión con el servidor actual y, a través de una conexión como la descrita en la figura
2.2, se conecta al nuevo servidor. Dado que el nuevo servidor conoce los resultados de
la nueva partición, aceptará la nueva conexión y permitirá los desplazamientos del avatar
durante la simulación.
La segunda de las tareas del servidor coordinador se basa en garantizar la consistencia
de la información de la escena. Esta garantía se consigue de una forma similar. Perió-
dicamente, cada uno de los servidores del sistema DVE va a enviar mensajes del tipo
“CDVE” al resto de los servidores que componen el sistema. Estos mensajes contienen
las posiciones (X,Y,Z) de cada uno de sus avatares de forma que puedan ser actualizadas
todas las tablas de posiciones en los diferentes servidores del sistema DVE. Esta nueva
información es necesaria para que cada servidor pueda realizar correctamente el filtrado
de datos y la generación correcta de mensajes inter o intra-servidor.
Por último, cabe destacar que RealDvT incorpora un mecanismo de recogida de datos
CAPÍTULO 2. METODOLOGÍA DE EVALUACIÓN 35
de latencia y estado de los servidores en tiempo de simulación. Estos mecanismos son
claves para la toma de medidas en la evaluación de prestaciones de algunas de las técnicas
presentadas en esta tesis.
Básicamente, las principales medidas para la evaluación de prestaciones en un siste-
ma DVE cualquiera son laproductividady la latencia[28, 44, 77]. Dado que los entornos
DVE son sistemas distribuidos en red con unos requisitos básicos de tiempo real, ambas
medidas ofrecen una estimación de la eficiencia del sistema siempre que se suponga una
ausencia de fallos en éste [23]. Se suele definir laproductividadde un sistema en red
como la máxima cantidad de información que el sistema puede entregar o gestionar por
unidad de tiempo [23]. En el caso de los sistemas DVE, este parámetro consiste en el nú-
mero máximo de clientes (avatares) que los servidores pueden soportar simultáneamente
sin hacer entrar al sistema en el punto de saturación [77]. A diferencia de la productivi-
dad, lalatenciade un sistema distribuido es un parámetro definido sobre las operaciones
que permiten comunicar a cada uno de sus elementos. Este parámetro mide el tiempo
transcurrido desde que un elemento emisor del sistema empieza a enviar un mensaje has-
ta que éste ha llegado totalmente al receptor. Al igual que ocurre con el resto de sistemas
distribuidos, la latencia individual de cada uno de los mensajes enviados en un sistema
DVE no es un parámetro de vital importancia. Tal y como ocurre en la mayoría de casos,
el interés en la evaluación de prestaciones en sistemas DVE se centra en el valor medio
de la latencia [23]. Junto a este valor medio, la desviación estándar de la latencia en una
simulación completa para un sistema DVE permite comprobar si algunos mensajes han
sido bloqueados en la red. Estos mensajes pueden detectarse mediante los valores“pico”
de la latencia durante el transcurso de la simulación. RealDvT no sólo incorpora un me-
canismo para la monitorización en tiempo real de la productividad del sistema sino que
permite obtener valores puntuales y acumulados de las medidas asociadas a la latencia
(media, desviación estándar, pico) durante el transcurso de toda la simulación.
Cualquiera de los servidores del sistema va a poder lanzar un mensaje de tipo “TC-
PU” o “LATE” en RealDvT. Estos mensajes se distribuyen automáticamente al resto de
servidores que componen el sistema DVE. Cuando un servidor recibe un mensaje de tipo
“TCPU”, éste devuelve al servidor emisor su porcentaje actual de utilización de la CPU.
Por otra parte, si recibe un mensaje de tipo “LATE” entonces el servidor interroga a to-
dos los avatares que tiene asignados sobre sus valores medios actuales de tiempo de ida
y vuelta o ASR (del inglés “Average System Response”). Cada servidor calcula el ASR
medio de todos los avatares asignados a él y se lo remite al servidor que ha solicitado la
36 2.3. PARÁMETROS DE SIMULACIÓN DE UN SISTEMA DVE
petición “LATE”. A partir de sus propios datos de ASR más los obtenidos de cada servi-
dor, este servidor puede calcular el tiempo de respuesta medio de todo el sistema DVE en
un instante dado de la simulación. La figura2.4muestra en un único esquema un ejemplo
de la actualización de las particiones del sistema y la propagación de las consultas en los
tiempos de ida y vuelta para RealDvT. En primer lugar, el servidor coordinadorS0 lanza
simultáneamente (a través de mensajes unicast sobre TCP) la partición de clientes recién
calculada a todos los servidores del sistema DVE. En este caso, una vez que esta partición
llega al servidorS6, éste comprueba que el clienteA8, que está actualmente conectado a
él, ha de ser migrado al servidorS4. Para ello, mediante un mensaje de “EXIT” o mensaje
de migración desatendida, le indica que su servidor destino es realmenteS4. Una vez que
el avatarA8 recibe este mensaje, cierra su conexión conS6 y abre un nuevo socket TCP
contra el servidor de destinoS4, con el que se autentifica directamente. Este esquema de
propagación de mensajes es particularmente distinto cuando es el servidor coordinador
quien, en tiempo real, desea comprobar las latencias de todos los elementos del sistema
DVE. Tal y como indica la figura2.4, S0 envía secuencialmente un mensaje de petición de
latencias a todos los servidores del sistema DVE. Estos mensajes son propagados a cada
uno de los avatares que tiene conectados cada servidor. Los avatares de destino devuelven
los mensajes a sus servidores incluyendo la latencia media actual medida en milisegundos.
Dado que cada servidor solamente remite aS0 la media de las latencias de sus avatares
cuando el último de ellos le ha enviado los datos, es posible que la llegada de paquetes
“LATE” a S0 no tenga por qué llevarse a cabo de forma ordenada. Esta característica no
presenta ningún problema, ya que el contenido de todos los mensajes en todo el proceso
de ida y vuelta aS0 es reetiquetado por servidores y avatares antes de su envío.
De esta forma, RealDvT es capaz de calcular el tiempo de ida y vuelta (round-trip
delay) medio de todos los avatares del sistema DVE para cualquier simulación.
2.3. PARÁMETROS DE SIMULACIÓN DE UN SISTEMA DVE
En esta sección abordamos el problema de la evaluación de prestaciones en sistemas
DVE. Este problema radica básicamente en la inexistencia de un patrón normalizado de
pruebas para evaluar estrategias a cualquier nivel sobre este tipo de sistemas. A pesar
que es posible encontrar numerosas contribuciones en este campo [7, 18, 39, 45, 49, 74],
los trabajos más importantes recogidos en la literatura de la materia no se han centrado
CAPÍTULO 2. METODOLOGÍA DE EVALUACIÓN 37
Figura 2.4: Mantenimiento de las particiones y consulta de latencias medias en RealDvT
en el aspecto de la evaluación de prestaciones. Este es el motivo por el que dichas con-
tribuciones no han dejado totalmente especificado un modelo común de evaluación de
prestaciones para este tipo de sistemas.
Dado que son muchos los parámetros que pueden afectar el comportamiento de un
sistema DVE dependiendo de la estrategia a evaluar (particionado, calidad de servicio,
coherencia, etc.), un patrón normalizado de pruebas debería tener en cuenta el mayor
espectro posible de ellos. Si nos centramos en el ámbito del problema del particionado
podemos encontrar multitud de experimentos de evaluación de prestaciones a todos los
niveles. Aunque alguna aproximación ya diferencia patrones uniformes y no uniformes
de movimiento de avatares [18], la mayoría de trabajos simplemente evalúan las presta-
ciones del sistema, o bien con respecto al número de clientes y servidores [39, 45, 74],
o bien con relación a la distribución que siguen los avatares en la escena virtual [7, 49].
En este sentido, el modelo de evaluación de sistemas DVE presentado en este capítulo,
e implementado sobre la herramienta RealDvT, propone la evaluación de prestaciones
atendiendo a la variación de cinco parámetros fundamentales. Estos son los siguientes:
Tamaño del sistema.Indica el número de servidores y clientes que componen la
simulación actual. Dado que los formatos más comunes para la especificación del
tamaño en sistemas DVE no son válidos para evaluar ciertas características en es-
38 2.3. PARÁMETROS DE SIMULACIÓN DE UN SISTEMA DVE
tos sistemas (como la calidad de servicio) [49], el modelo propuesto suma a éstos
unas nuevas especificaciones. RealDvT dispone de un mecanismo para variar diná-
micamente este parámetro a medida que se deseen incorporar nuevos servidores y
clientes una simulación.
Distribución de avatares.Hace referencia a los diferentes tipos de localizaciones
que la población de avatares va a seguir a lo largo de la escena virtual. Tal y como
se detalla en el capítulo4, la variación de este parámetro tiene efectos significati-
vos en la carga generada por los avatares a los servidores donde están actualmente
asignados.
Patrón de movimiento.A pesar que algunos autores suponen que los avatares de
un sistema DVE describen siempre trayectorias uniformes a lo largo de la escena
virtual [7], la literatura de la materia refuta este hecho [31, 53]. En este sentido y
a la hora de evaluar estrategias sobre sistemas DVE, el modelo propuesto permite
evaluar la respuesta de los sistemas ante diferentes modelos de desplazamiento de
avatares por la escena.
Tasa de actualización.Indica el número de desplazamientos que realiza cada avatar
del sistema DVE por unidad de tiempo. Dado que el desplazamiento de cada avatar
genera un mensaje al servidor donde está asignado, una variación en la tasa de
actualización revierte en el volumen del tráfico de mensajes y por lo tanto, en el
volumen de carga soportado por cada servidor del sistema DVE.
Factor de presencia.Aunque se comenta en detalle en el capítulo5 de la tesis, este
parámetro indica el número de avatares que actualmente están visualizando a un
avatar dado. Si este avatar se mueve en la escena, entonces el conjunto de avatares
que actualmente le visualizan ha de ser convenientemente informado. Dado que esta
actualización la realiza el servidor donde se asigna el avatar movido, un incremento
en el factor de presencia del avatar implica una variación en la carga soportada por
dicho servidor.
2.3.1. Definición de escenarios
Tal y como se especifica en algunos patrones de pruebas clásicos sobre sistemas DVE
[7, 39, 49], el mecanismo de evaluación de prestaciones diseñado sobre RealDvT emplea
siempre una escena virtual cuadrada, libre de obstáculos y con tamaño fijo de 200x200
CAPÍTULO 2. METODOLOGÍA DE EVALUACIÓN 39
unidades. A pesar de que algunos autores definen escenas muy complejas que eliminan la
restricción de la aparición de obstáculos, éstas han sido especialmente diseñadas para la
evaluación de elaboradas técnicas de simulación en sistemas DVE como es el caso de la
planificación autónoma de trayectorias [48]. Dado que el objetivo de estas técnicas escapa
al ámbito de ésta tesis y al de las técnicas básicas de simulación de sistemas DVE [28, 49,
52, 77] es preferible evaluar estrategias sobre escenas generalistas libres de obstáculos.
A la hora de evaluar el impacto de las prestaciones de un sistema DVE con respecto
al tamaño de éste (en término de cantidad de avatares y servidores), el modelo presentado
define 4 escenarios básicos de simulación. A pesar de que coincidimos con otros auto-
res en la definición de dos de estos patrones para representar las dimensiones máximas
y mínimas que suelen tener los sistemas DVE [7, 49], incluimos dos nuevos escenarios
(MEDIUM1 y MEDIUM2) que representan los dos extremos del ámbito más común en
las simulaciones de estos sistemas. En este sentido, hemos decidido mantener las especifi-
caciones de mundos de tipo SMALL (sistemas de 3 servidores y 13 clientes) y LARGE (8
servidores y 2500 clientes) cuando hemos realizado la evaluación de prestaciones de las
técnicas heurísticas aplicadas a la función de evaluación propuesta por la literatura de la
materia [49] para resolver el problema del particionado (capítulo3). Sin embargo, existen
otro tipo de problemas donde la implementación real de los sistemas viene condicionada
por el tipo de hardware empleado en el diseño de los experimentos. Este es el caso de las
técnicas de balanceo de carga y los modelos de calidad de servicio propuestos respectiva-
mente en los capítulo4 y 5 de esta tesis. El análisis en sistemas reales de estas técnicas
para formatos de sistemas DVE clásicos, como puedan ser las especificaciones SMALL o
LARGE, suele carecer de sentido ya que el rango de sistemas definido por ambos patro-
nes es demasiado extremo. Esta característica provoca que la evaluación de prestaciones
sobre estos formatos de sistema DVE sea poco relevante a causa de su trivialidad o de
su imposibilidad. Por lo tanto, definimos 2 nuevos patrones, denominados MEDIUM1 y
MEDIUM2, que representan un rango de configuraciones muy comunes en sistemas DVE
y cuyas condiciones pueden ser recreadas de una forma más cómoda empleando un hard-
ware convencional. Estas nuevas configuraciones están compuestas por por 250 avatares
y 3 servidores en el caso de los esquemas MEDIUM1 y por 600 avatares y 9 servidores
en los sistemas de tipo MEDIUM2.
Por último, cabe destacar que la clasificación de sistemas DVE atendiendo a su tamaño
es totalmente independiente a la división lógica que algunas estrategias de particionado,
denominadaslocales, emplean para dividir la escena [7, 12]. Estas estrategias remallan
40 2.3. PARÁMETROS DE SIMULACIÓN DE UN SISTEMA DVE
la escena virtual de forma regular creando un determinado conjunto de divisiones lógicas
(denominadas también celdas) de la escena. Dependiendo del nivel de detalle con que
se realice el remallado de la escena una misma escena virtual puede quedar dividida en
distintas divisiones lógicas. La figura2.5muestra diferentes versiones de remallado de la
escena básica 200x200 anteriormente descrita. A efectos comparativos, las versiones de la
escena representada creadas con RealDvT incluyen un único avatar con área de influencia
esférica y radio 15 unidades.
Figura 2.5: Escenario básico de simulación sobre RealDvT. a) Esquema lógico 3x3 cel-
das, b) Esquema lógico 8x8 celdas
Las estrategias de particionado locales realizan un reparto del conjunto de divisiones
lógicas de la escena entre todos los servidores que componen el sistema DVE. De esta
forma, cada servidor se encarga solamente de controlar los avatares que en cada instante
de la simulación se encuentran localizados dentro de las celdas que tiene asignadas. Ló-
gicamente en estas estrategias, cuanto mayor es el refinamiento de las escenas más celdas
se crean y, por lo tanto, es posible equilibrar de forma más eficiente el número medio
de avatares por servidor. Por contra, y dado que estos algoritmos de particionado hacen
variar constantemente la asignación de las células a los servidores del sistema DVE, este
aumento en el número de divisiones lógicas puede hacer incrementar significativamente
el tráfico de mensajes inter-servidor. Este comportamiento es debido a que a medida que
se aumenta el refinamiento celular disminuye la probabilidad de que avatares cercanos en
la escena virtual sean asignados al mismo servidor [12].
CAPÍTULO 2. METODOLOGÍA DE EVALUACIÓN 41
2.3.2. Modelos de distribución inicial de avatares en la escena
El patrón de evaluación propuesto en esta tesis, e implementado sobre RealDvT, pro-
porciona una posición cartesiana inicial a cada avatar del sistema DVE en el momento
anterior de dar comienzo la simulación. Dado que es posible dotar de diferentes distribu-
ciones probabilísticas a las posiciones de cada avatar en la escena, algunos autores han
evaluado sus mecanismos de simulación en sistemas DVE red-servidor mediante la rea-
lización de experimentos basados en poblaciones uniformes y no uniformes de avatares
[7, 18]. A pesar de ello, y debido a que es excesivamente generalista dividir los posibles
tipos de localizaciones de avatares en dos únicos conjuntos, Lui y Chan [49] definen tres
distribuciones básicas de clientes en la escena. En el modelo propuesto, hemos utilizado
también estas distribuciones como parte de la evaluación de prestaciones de las diferentes
técnicas desarrolladas [59, 60, 63].
Básicamente, estas tres distribuciones que hemos incluido en nuestro mecanismo nor-
malizado de evaluación son:
Distribución uniforme (DU). Para cada posición(x, y) de los distintos avatares que
forman el sistema DVE, la distribución DU distribuye uniformemente los valores
de x e y en los intervalos[0, Vx] y [0, Vy] respectivamente. Los valoresVx y Vx
corresponden a las dimensiones verticales y horizontales del mapa de la escena. En
el caso de RealDvT ambos valores son por defecto iguales a 200.
Distribución sesgada (DS).Dado un sistema DVE a simular sobre una escena de
tamañoVx×Vy, DS distribuye todos sus avatares en 4 grupos iguales e identificados
porGi, i =1,2,3,4. La localización(x, y) de cada uno de los avatares que pertenecen
al grupoGi se distribuye uniformemente en el intervalo [0,iVx
4] para la generación
de la coordenadax, y en el intervalo [0,iVy
4] para la generación de la coordenada
y. Bajo este esquema, DS localiza la mayoría de avatares del sistema DVE en una
sección cuadrada del mapa delimitada por las coordenadas (0,0) y (Vx
4,Vy
4)].
Distribución agrupada (DA). Distribuye a losN avatares de la simulación enk
(donde k≥1) grupos de igual tamaño (G1, G2, ..., Gk). Para ello, DA generak pun-
tos identificados como (X1,Y1),..,(Xk,Yk) tal que sus coordenadasXi e Yi se en-
cuentran respectiva y uniformemente distribuidas en los intervalos[0, Vx] y [0, Vy].
Seguidamente y para cada avatar en el grupoGi, la distribución DA obtiene sus
posiciones(x, y) a partir de las expresiones:
42 2.3. PARÁMETROS DE SIMULACIÓN DE UN SISTEMA DVE
x =
0 : xi + dx× Ω < 0
Vx : xi + dx× Ω > Vx
xi + dx× Ω : otros
(2.1)
y
y =
0 : yi + dy × Ω < 0
Vy : yi + dy × Ω > Vy
yi + dy × Ω : otros
(2.2)
Típicamente, los valoresdx y dy han sido generados aleatoriamente dentro del ran-
go [-1,1]. Para el caso deΩ se suelen emplear valores comprendidos entre [0.4,3.0]
dependiendo el número de usuarios del sistema DVE (desdeΩ=0.4 para sistemas
SMALL hastaΩ=3 para sistemas LARGE).
Siguiendo estas distribuciones de avatares en la escena, la figura2.6muestra las dife-
rentes configuraciones iniciales posibles que tienen los 2500 avatares de un sistema DVE
de tipo LARGE. Estas imágenes han sido tomadas a partir de una vista aérea de la escena
200x200 generada mediante RealDvT.
Figura 2.6: Ejemplos de diferentes distribuciones de avatares en la escena en un sistema
DVE de tipo LARGE sobre RealDvT. a) Distribución Uniforme, b) Distribución Sesgada
y c) Distribución Agrupada
CAPÍTULO 2. METODOLOGÍA DE EVALUACIÓN 43
2.3.3. Análisis del movimiento de avatares en sistemas DVE
La literatura de la materia recoge muy pocas aportaciones donde se analice con detalle
el movimiento que describen los avatares de un sistema DVE a lo largo de la escena
virtual [31, 53]. En este sentido, son escasos los trabajos donde este fenómeno se incluye
como parte de la evaluación de prestaciones de una estrategia dada [18, 39]. A pesar de
ello, estas evaluaciones o bien suponen un único patrón uniforme para describir todos
los posibles desplazamientos de un usuario en la escena [39], o bien incluyen un modelo
excesivamente simplista donde se recrea un movimiento no uniforme de avatares [18].
A diferencia de la mayoría de aportaciones recogidas en la literatura de la materia
[6, 49, 80], en el capítulo4 de esta tesis se demuestra experimentalmente que la carga
generada por un avatar en un sistema DVE basado en arquitecturas red-servidor varía a lo
largo del tiempo de simulación. Además, esta variación depende de dos parámetros. Estos
son la frecuencia con la cual el avatar cambia su localización en la escena virtual y el
número de avatares que en cada instante de la simulación están visualizando a ese avatar.
Dado que estos parámetros, denominadostasa de movimientoy factor de presencia, modi-
fican la carga generada por un avatar durante el transcurso de la simulación, una completa
evaluación de prestaciones ha de tenerlos en cuenta a la hora de valorar cualquier tipo de
estrategia en este tipo de sistemas (particionado, calidad de servicio, coherencia, etc.). La
variación de la tasa de movimiento de un avatar a lo largo de la simulación es una tarea
relativamente sencilla. Este parámetro de la simulación representa un propiedad puntual
e independiente en cada avatar. Por lo tanto, es posible asignar directamente la frecuen-
cia con la que todos los avatares van a desplazarse durante la simulación. En el caso de
RealDvT, este parámetro denominado“PERIODO_CAMB_POSICION”se encuentra en
el fichero de configuración“avatar_config.txt” e indica el periodo en milisegundos entre
cada uno de los“N_MSJES_MAX_TEST”desplazamientos que ha realizar cada avatar en
el sistema DVE.
Al contrario de lo que ocurre con la tasa de movimiento, el factor de presencia no es un
parámetro propio de un avatar que pueda ser modificado directamente. Este parámetro es
dinámico y depende de la localización y distribución de los avatares en la escena virtual.
En el instante inicial de la simulación, cada uno de los diferentes modelos de distribución
inicial de avatares comentados en la sección anterior ofrece valores distintos de factor de
presencia a los avatares de un sistema DVE. Pero cuando la simulación comienza y los
avatares se mueven a lo largo de la escena el factor de presencia de cada uno de ellos
44 2.3. PARÁMETROS DE SIMULACIÓN DE UN SISTEMA DVE
depende directamente del tipo de movimiento realizado.
Básicamente, el mecanismo de evaluación de prestaciones propuesto considera tres
tipos de movimientos de avatares. Estos son:
CCP (Circular Changing Pattern) Es un patrón de movimiento uniforme median-
te el cual los avatares del sistema DVE se desplazan sobre la escena virtual descri-
biendo trayectorias circulares. CCP es el único patrón de movimiento de avatares
recogido en la literatura de la materia [7]. Este tipo de movimiento ha sido obtenido
a partir de un estudio experimental sobre las trayectorias seguidas por los usuarios
del sistema CyberWalk [13]. Este sistema DVE asocia a cada avatar del sistema un
ángulo de visióncuya bisectriz denominadirección de vistao DV. El patrón CCP
consta de un movimiento constante e iterativo consistente en los siguiente pasos. En
primer lugar, los avatares se desplazan 15 unidades en la dirección de la vista segui-
do de una rotación de ésta de 120. A esta rotación, se le añade otra de tipo aleatorio
y seleccionada equiprobablemente entre los valores +200 y -200. Por último, cada
cuatro iteraciones de CCP se incrementa en 100 la rotación del ángulo de visión de
los avatares.
HPA (Hot-Points-ALL) HPA es un patrón de movimiento no uniforme según el
cual todos los avatares del sistema DVE se aproximan de forma inercial ak zonas
de máximo interés definidas en la escena (k≥1). Estas zonas se denominan HP o
puntos calientes [53]. En cada una de las iteraciones del movimiento HPA, todos
los avatares del sistema calculan, a través de su distancia euclidea sobre la escena
virtual, cual es el más cercano de losk puntos calientes de la escena. Sobre el
HP elegido se orientan y realizan un desplazamiento ded unidades sobre el mapa.
Ejemplos típicos de HP en sistemas DVE son los puntos de parada en sistemas de
planificación de rutas para entornos virtuales [48].
HPN (Hot-Points-Near) Al igual que ocurre con HPA, el patrón de movimiento
HPN ha sido extraído del comportamiento real de los avatares en un sistema DVE
[31]. Sin embargo, a diferencia del patrón anterior, HPN sólo modifica la posición
de los avatares del sistema que están relativamente cerca de las zonas de atracción.
Para medir esta distancia, HPN define una cota denominadadistancia de atracción
o DA. Esta cota permite que sólo se desplacen hacia los puntos calientes aquellos
avatares situados a una distancia inferior de DA. Este tipo de movimiento modela
perfectamente el comportamientos clásico de los avatares en sistemas DVE basa-
CAPÍTULO 2. METODOLOGÍA DE EVALUACIÓN 45
dos en videojuegos en red, tales como la aparición de armamento, herramientas o
cualquier otro tipo de recurso.
La figura 2.7 muestra la posición final de los avatares en un mundo virtual 2D de
tipo LARGE (2500 avatares) empleando RealDvT después de realizar 40 movimientos
según estos tres patrones. Las posiciones finales mostradas se han obtenido a partir de una
configuración inicial de avatares en la escena siguiendo una distribución de tipo uniforme.
Con el objetivo de simular los patrones de movimiento no uniforme HPA (figura2.7.b)
y HPN (figura2.7.c) se han generado 7 puntos calientes distribuidos aleatoriamente a lo
largo de la escena virtual. Además, en el caso del patrón HPN y dado que la distancia
de atracción está muy relacionada con la zona de visibilidad de los avatares del sistema
(AOI) hemos optado por emplear un valor de DA=25. Como valor por defecto RealDvT
ejecuta simulaciones de movimiento HPN empleando como distancia DA el mismo valor
que el radio de las áreas de influencia de los avatares del sistema DVE.
Figura 2.7: Resultados en RealDvT de los patrones de movimiento propuestos para un
sistema DVE LARGE con una distribución inicial uniforme. a) CCP, b) HPA y c) HPN
2.4. CONCLUSIONES
Uno de las aspectos más relevantes que llaman la atención en los trabajos sobre sis-
temas DVE radica en la carencia de un mecanismo común para la evaluación de pres-
taciones. En este sentido, cada uno de los diferentes autores ha evaluado el rendimiento
de sus propuestas atendiendo a un diseño propio de sus experimentos. Esta característica
ha propiciado la validación de muchas estrategias en este tipo de sistemas (particionado,
46 2.4. CONCLUSIONES
coherencia, calidad de servicio, etc.) a partir del simple análisis de las prestaciones del
sistema con respecto a la variación del número de clientes y servidores que componen el
sistema DVE.
En este capítulo hemos presentado un mecanismo sistemático de evaluación de presta-
ciones en sistemas DVE. Este mecanismo de evaluación define un patrón de experimentos
basados en el análisis de la respuesta del sistema ante diferentes factores. Estos factores
son, por una parte, la escalabilidad del sistema (al definir dos especificaciones básicas en
las dimensiones del sistemas DVE, SMALL y LARGE), y por otra, el comportamiento
del sistema ante la variación de la carga generada por la población de avatares. Con el
objetivo de normalizar esta variación, el mecanismo propone entre otros factores tres ti-
pos de distribuciones iniciales de avatares (uniforme, sesgada y agrupada), así como tres
patrones de movimientos de éstos sobre la escena virtual (CCP, HPA y HPN).
El patrón de evaluación completo ha sido incluido en nuestra herramienta de simu-
lación “RealDvT”, cuya descripción y arquitectura también se han detallado en este ca-
pítulo. A diferencia de otras herramientas existentes, RealDvT permite recrear fielmente
sobre TCP/IP las condiciones de simulación de cualquier sistema DVE basado en arqui-
tecturas red-servidor. Esta herramienta, así como el patrón de evaluación propuesto, han
sido empleados en los diferentes experimentos mostrados a lo largo de toda la tesis.
CAPÍTULO 3
APLICACIÓN DE METAHEURÍSTICAS AL
PROBLEMA DEL PARTICIONADO EN
SISTEMAS DVE
Tal y como se describió en el capítulo1, la gran mayoría de sistemas DVE están
basados en arquitecturas red-servidor [7, 50, 45, 46]. En estas arquitecturas un conjunto
coordinado de servidores gestiona completamente el funcionamiento del sistema. Dado
que la totalidad de clientes del sistema DVE son asignados a alguno de estos servidores,
todos los sistemas DVE disponen de un mecanismo para repartir de la forma más eficiente
posible a los usuarios del sistema entre sus servidores. Este mecanismo de asignación de
avatares se convierte en un factor clave, ya que se encuentra íntimamente relacionado con
el rendimiento del sistema [49].
Aunque la literatura de la materia describe diferentes mecanismos departicionadodel
sistema, la técnica LOT [49] aparece referenciada como una de las principales aportacio-
nes en el tratamiento de este problema. Básicamente, esta técnica describe la eficiencia de
una partición dada (asignación de avatares a servidores) en un sistema DVE a través de
una función de evaluación del sistema. A la hora de obtener los mejores valores de esta
función de evaluación, LOT propone un mecanismo de búsqueda de soluciones basado en
teoría de grafos.
En este capítulo presentamos un estudio comparativo de diferentes técnicas meta-
heurísticas empleadas para la solución del problema del particionado en sistemas DVE
basados en arquitecturas red-servidor. En particular, hemos realizado la implementación
y parametrización de cuatro estrategias metaheurísticas, más dos mejoras para éstas, que
han sido convenientemente adaptadas a las especificaciones del problema. Los resultados
de la evaluación de prestaciones muestran que las técnicas propuestas consiguen obtener
soluciones significativamente mejores, en términos de los valores obtenidos por la función
48 3.1. EL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE
de calidad, que las conseguidas por la estrategia LOT. Además de esta ventaja, las técni-
cas presentadas mejoran también los tiempos de ejecución en el cálculo de las soluciones
de particionado.
3.1. EL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE
Cuando se simula un sistema DVE a través de una arquitectura red-servidor, las con-
secuencias de una eficiente distribución de los avatares del sistema entre los servidores
de la simulación son críticas. Estas consecuencias son las provocadas por elproblema del
particionado. Básicamente, este problema se puede definir como la asignación eficiente
de losN clientes del sistema DVE entre losS servidores de la simulación. Aunque mu-
chos de los sistemas DVE multi-servidor tratan de paliar de forma colateral los efectos de
este problema [6, 80], no ha sido hasta 1998 cuando aparecen las primeras especificacio-
nes formales de este problema [50]. Los trabajos que incluyen estas especificaciones ya
demuestran la NP-Completitud del problema del particionado en sistemas DVE, al con-
seguir ser reducido éste al problema de la suma de conjuntos. Este último problema está
considerado como uno de los problemas NP-completos clásicos [30].
La relación del problema del particionado en sistemas DVE con las prestaciones del
sistema se basa en dos aspectos fundamentales [49]. En primer lugar y dado que losS ser-
vidores del sistema han de soportar la carga generada por losN avatares de la simulación,
el reparto de los clientes entre los servidores del sistema DVE se ha de realizar de la forma
más balanceada posible. En este sentido, si las particiones del sistema no garantizan un
equilibrio de cargas entre los servidores que componen el sistema DVE cada uno de éstos
va a gestionar un volumen de tráfico de mensajes distinto. La diferencia de tráfico entre un
servidor y otro implica (siempre que se consideren servidores de iguales prestaciones) no
sólo tiempos de servicio distintos (definido como la suma entre el tiempo de espera en la
cola y el tiempo de ocupación en el servidor) que provocan latencias no uniformes en los
mensajes tratados en el sistema DVE, sino también tasas de uso de CPU desequilibradas.
Este desequilibrio minimiza la productividad del sistema DVE, ya que puede presentar si-
tuaciones donde ciertos servidores se encuentren saturados (disparando la latencia de los
mensajes de los avatares que tiene asignados) mientras que el resto permanezca con bajos
niveles de carga. El segundo de los aspectos que controla el problema del particionado
radica en el volumen del tráfico inter-servidor que pueda generar un mismo conjunto de
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 49
avatares desplazándose por la escena virtual. Con el fin de que este volumen no alcance
niveles inaceptables y aumente considerablemente la latencia del sistema DVE, avatares
cercanos en la escena virtual deberían de ser asignados al mismo servidor del sistema.
El problema del particionado afecta seriamente al rendimiento global de la simulación,
por lo que es necesario que todos los sistemas DVE incorporen un mecanismo eficiente
de particionado que mantenga unas buenas prestaciones del sistema. En este sentido, este
mecanismo evitará no sólo un desequilibrio de las cargas generadas por los avatares, sino
que, dado que intenta limitar el número de mensajes inter-servidor, reducirá los requisitos
de ancho de banda solicitados por el sistema DVE.
3.1.1. Técnica LOT de optimización lineal
La literatura de la materia incorpora una importante variedad de técnicas desarrolla-
das explícitamente para solucionar el problema del particionado en sistemas DVE. Estas
estrategias son tantolocales[7, 12] comoglobales[6, 50, 80]. La globalidad o localidad
de estas técnicas hace referencia al dominio de estas soluciones. Así, se suele hablar de
estrategias globales si las soluciones obtenidas dan asignación de servidor a todos y cada
uno de los avatares del sistema. Cuando estas estrategias se centran en un subconjunto de
los avatares del sistema DVE se clasifican como locales.
De entre todas las técnicas de particionado destaca latécnica de optimización lineal
(LOT)propuesta inicialmente en 1998 por Lui y Chan [50]. Estos mismos autores han pre-
sentado diferentes mejoras sobre esta técnica [49] a partir de unas ideas iniciales basadas
en la teoría de grafos [51].
Básicamente, LOT es una aproximación ad-hoc que modela la escena virtual 3D co-
mo un grafoG con el objetivo de minimizar una función de evaluación propuesta por los
autores. Cada avatarAi del sistema DVE se representa en este grafo como un nodoNi,
de forma que si el avatarAj se encuentra dentro del AOI del avatarAi, entonces existirá
un arco que una los nodosNi y Nj. Durante el transcurso de la simulación, el modelo de
Lui y Chan asume que la carga que todo avatarAi genera al servidor donde se encuen-
tra actualmente asignado se divide en dos factores distintos. Estos son por una parte, la
carga asociada al coste computacionalw(Ai) necesario para gestionar todos los eventos
producidos por el avatarAi. Por otra, la carga generada oΨ(Ai) debida a la realización
50 3.1. EL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE
de las acciones oportunas para actualizar a todos los avatares que actualmente visualizan
al avatarAi cuando éste varía su posición o estado.
A partir de la representación del estado del sistema DVE en un momento dado, los
autores propone una función de evaluación, denominadaCp, que valora la eficiencia de la
partición de losN clientes del sistema entre losS servidores de la simulación. Esta fun-
ción de evaluación realiza un cálculo ponderado de dos parámetros básicos denominados
CWp y C ′L
p que se pueden hallar sobre cualquier partición dada del sistema. Estos factores
están relacionados con el equilibrio de cargas en los servidores del sistema DVE y con el
volumen del tráfico de mensajes inter-servidor.
Dada una partición del sistema donde se asignan losN avatares del sistema DVE a
losS servidores de la simulación, Lui y Chan definen el coste de la carga computacional
CWp como:
CWp =
n∑i=1
∣∣∣∣∣∣∑
Ai∈Sj
w(Ai) + Ψ(Ai)− w∗
∣∣∣∣∣∣ (3.1)
dondeSj indica el subconjunto de losN avatares del sistema DVE que han sido asig-
nados al servidor j-ésimo yw∗ =∑n
i=1[w(Ai) + Ψ(Ai)]/S representa la carga compu-
tacional que debería de soportar cada uno de los servidores del sistema DVE en el caso
de que la estrategia de particionado hubiera obtenido una partición perfectamente balan-
ceada. Por lo tanto,CWp mide la desviación de cargas existente en la partición actual y el
estado de equilibrio perfecto de cargas para ese sistema DVE.
En el cálculo del segundo de los parámetros de la función de evaluaciónCp, denomi-
nadoCLp , el modelo presentado por los autores intenta estimar el coste de comunicación
entre los servidores de un sistema DVE tras realizar una partición del mismo. Para ello,
define las funcionesI(Ai, Aj) y ΦSx,Sy(). I(Ai, Aj) expresa el volumen del intercambio
de información entre el avatarAi y el avatarAj. A nivel de servidor,ΦSx,Sy() indica el
coste de comunicaciones provocado por un tráfico inter-servidor entre los servidoresSx y
Sy. A partir de estas funciones, Lui y Chan expresan el coste de comunicacióntotal entre
los avatares asignados al servidorSl y Sm comoCl,m donde:
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 51
Cl,m =∑
Ai∈Sl
∑Aj∈Sm
ΦSl,Sm(I(Ai, Aj)+∑
Aj∈Sm
∑Ai∈Sl
ΦSm,Sl(I(Aj, Ai) (3.2)
El primer término de la ecuación3.2indica el coste de comunicaciones en la transmi-
sión de actualizaciones desde avatares asignados al servidorSl y que tienen como destino
avatares asignados al servidorSm. Por el contrario, el segundo término realiza este mismo
tipo de cálculo pero referido a actualizaciones que parten de avatares asignados aSm y
que tienen como destino clientes deSl. A partir de esta medida, se propone el coste de
comunicación para una partición del sistema DVE dada como:
CLp =
S∑l=1
S∑m>l
Cl,m (3.3)
Para minimizar este parámetro, los avatares que estén ubicados cerca en el mundo
virtual deberían de ser asignados al mismo servidor. Restringiendo la eficiencia de una
solución de particionado a estos dos factores, los autores definen la función de evaluación
Cp de una partición cualquiera del sistema como:
Cp = W1 CWp + W2 CL
p (3.4)
dondeW1 y W1 ponderan la importancia relativa del factor de carga computacional y
de las comunicaciones inter-servidor comentadas anteriormente.
Es evidente que, cuando el sistema DVE esté operando sobre una red de interconexión
que esté trabajando por debajo del punto de saturación entonces el cocienteW1/W2 debe
ser mucho mayor que uno. Por el contrario, en redes caracterizadas por tener una latencia
importante o impredecible como puede ser el caso de Internet, este factor estará cercano
a cero. Sin tener en cuenta ningún tipo de evaluación de prestaciones y careciendo de una
correlación entre la funciónCp y el rendimiento del sistema, Lui y Chan asumen un caso
general dondeW1 = W2 = 0.5.
Usando esta función de evaluación, la técnica LOT realiza un particionado del grafo
de la escena consistente en tres fases. La primera de estas fases se denominaprocedimien-
52 3.1. EL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE
to de bisección recursiva(RBP) y obtiene una partición inicial del sistema mediante una
estrategia de “divide y vencerás”. A continuación, mediante elprocedimiento de parti-
cionado en capas(LP) se equilibra la carga de los servidores del sistema. Coincidiendo
con otros trabajos recogidos en la literatura de la materia [6, 12, 80], Lui y Chan em-
plean en LOT un modelo invariable de estimación de la carga. Este modelo representa la
carga que generan los avatares a los servidores donde se encuentran asignados como un
valor fijo e invariable durante todo el transcurso de la simulación. Como última fase de
LOT, el refinamiento del particionadoo CRP minimiza el número de posibles mensajes
inter-servidor en el sistema DVE.
La figura3.1muestra un ejemplo de la evolución en la aplicación del método LOT a
un sistema DVE compuesto por 10 avatares y 3 servidores. Tal y como describe el méto-
do LOT, se han etiquetado los nodos y arcos que representan el grafo de la escena. Estas
etiquetas toman valores enteros mínimos de 1 y máximos de 10. En el caso de un nodo
Ni, esta etiqueta indica la estimación de la carga que el avatarAi genera al servidor al
cual está asignado en ese momento. Para los arcos del grafo, este valor representa la re-
lación inversa de su distancia con respecto al radio de su AOI. La imagen izquierda de
la figura3.1 muestra los resultados obtenidos tras la ejecución de la fase RBP sobre el
sistema DVE. Aunque aparentemente esta figura muestre un sistema DVE con el mismo
número de avatares por servidor, realmente la carga generada por éstos se encuentra de-
sequilibrada. Así, si se suman las cargas generadas por cada avatar a los servidores donde
están asignados se obtienen los valores de 16, 7 y 12 para los tres servidores del sistema.
En la imagen central de la figura3.1 se puede observar como a partir de este escenario,
CRP equilibra estas cargas en la medida de lo posible a 12, 11 y 12 unidades en cada
servidor del sistema DVE mediante el cambio de la asignación de servidores de algunos
avatares. Por último, CRP (figura3.1derecha) modifica también esta asignación para in-
tentar minimizar el peso de los arcos que unen nodos asignados a diferentes servidores.
Estos arcos son los causantes del tráfico inter-servidor en el sistema DVE. Dado que los
resultados de las estrategias CRP y LP pudieran ser opuestos, LOT repite tres veces la
ejecución alternativa de ambos procedimientos.
3.1.2. Otras aproximaciones al problema del particionado
Además de la técnicas LOT, la literatura de la materia recoge tres importantes aproxi-
maciones para la solución del problema del particionado en sistemas DVE.
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 53
Figura 3.1: Fases en la partición de un sistema DVE realizada mediante LOT: RBP, CRP
y LP
La primera de ellas divide topológicamente la escena virtual en celdas (también lla-
madas células) hexagonales regulares, de forma que se asocia un grupo multicast sobre
cada una de estas celdas [6]. Con esta división, todos los avatares localizados dentro de la
misma célula comparten la misma dirección multicast. Dado que este modelo no restringe
la relación entre el área de éstas células y el tamaño del AOI de los avatares, éstos pueden
recibir mensajes de diferentes direcciones multicast. A pesar de ello, sólo pueden enviar
información a la dirección de la célula donde actualmente estén localizados.
El escenario mostrado a la izquierda en la figura3.2 muestra un ejemplo de esta téc-
nica. En esta figura, la localización del avatar representado obliga a asignarlo al grupo
multicast A. A pesar de ello y debido a las características de la escena y al tamaño de
su AOI escucha información de los grupos B, C, E, F y G. Con el objetivo de gestionar
eficientemente el sistema DVE, este algoritmo mantiene unlíder de grupopor cada célula
de la escena. Empleando para ello un mecanismo de estampación de tiempos (traducción
del inglés “timestamp”) este líder es elegido como el más antiguo de los avatares pertene-
cientes a esa célula. Este líder controla como los avatares pueden incorporar o abandonar
su grupo multicast, además de implementar un mecanismo de control de flujo para el in-
tercambio de mensajes. A pesar de su aparente escalabilidad, esta aproximación presenta
numerosos problemas. En primer lugar, proporciona un bajo rendimiento al sistema DVE
cuando los avatares del sistema se encuentran distribuidos por la escena siguiendo patro-
nes no uniformes. Además, la productividad del sistema cae a medida que los avatares
del sistema DVE se mueven más rápidamente. Este comportamiento se produce debido
al coste que suponen los abandonos e incorporaciones que sufren los avatares del siste-
mas cuando atraviesan los grupos multicast. Estos problemas, junto a que el protocolo
54 3.1. EL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE
multicast no está totalmente implementado en Internet, inhabilitan a esta técnica como
mecanismo generalista de particionado en sistemas DVE. Con el fin de solventar este últi-
mo problema y prescindiendo del empleo de comunicación multicast, otra aproximación
propuesta posteriormente presenta una estrategia de particionado local en sistemas DVE
basado en una idea similar [12]. En esta ocasión la estrategia de particionado divide la
escena en un número de zonas rectangulares igual al número de servidores del sistema
DVE. De esta forma la asignación de los avatares del sistema se realiza dependiendo del
área en la que éstos se encuentran. Estas áreas se dividen en celdas cuadradas de pequeño
tamaño de forma que el balanceo de cargas entre servidores se reduce a adherir y liberar
celdas de unas áreas a otras. Sólo en el instante de comienzo de la simulación las áreas
mantienen una distribución rectangular. Esta distribución varía sensiblemente a medida
que cada servidor cede o recibe celdas de servidores con celdas colindantes. Dado que
esta estrategia sólo permite el intercambio de celdas entre áreas vecinas y que no se es-
tablece ningún mecanismo para el crecimiento de las áreas, este mecanismo presenta dos
problemas importantes. En primer lugar, la estrategia no consigue equilibrar la carga del
sistema cuando los avatares se encuentran distribuidos en la escena de forma no unifor-
me. En segundo lugar, no existe una garantía de latencia uniforme durante la simulación
ya que a medida que ésta transcurre las áreas pierden su forma regular y por lo tanto, se
reduce la probabilidad de que avatares vecinos estén asignados al mismo servidor.
Figura 3.2: Otras aproximaciones: división celular y obtención grafo del sistema
Una última aproximación diferente a las anteriores gestiona el problema del particio-
nado de sistemas DVE desde otro punto de vista [80]. A diferencia del resto de técnicas,
éste método no emplea conceptos dinámicos asociados a los avatares del sistema como
puedan ser el AOI [77], auras [31] o locales [4]. Este esquema de particionado divide la
escena virtual en células cuadradas cuya longitud de ladoSestá relacionada con el radio
del AOI de los avatares del sistema DVE. Esta relación se puede expresar como:
S
2≤ AOI ≤ S (3.5)
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 55
A partir del volumen de avatares contenidos en cada célula, este método genera un
grafo de representación de la escena donde cada nodo se etiqueta con el número de ava-
tares existente en la celda de la que deriva. Un ejemplo de esta representación se muestra
en la imagen derecha de la figura3.2. Esta imagen muestra el grafo asociado a un sistema
DVE formado por 25 avatares representados sobre una escena lógica compuesta por 9
células. Al igual que realiza LOT, este método lleva a cabo un particionado de los nodos
del grafo. En este particionado, el total de nodos (que representan a un subconjunto de
avatares del sistema DVE) se distribuyen entre los servidores del sistema. A diferencia
de LOT, la función de calidad que evalúa el grafo asociado a una partición del sistema
dada depende de la topología de la red de interconexión empleada para simular el sistema
DVE. Básicamente, esta estrategia define dos tipos de redes de interconexión en un siste-
ma DVE. Estas son las redes demedio compartidoy las redes basadas enenlaces punto a
punto. En el primer caso, todos los clientes están conectados a un bus común cuyo ancho
de banda se comparte entre todos los usuarios. En el segundo, se establece un canal de
comunicación entre cada par de clientes remotos cuyo ancho de banda es independiente
para cada uno de ellos. Dado que el número de nodos del grafo es mayor o igual que el
número de servidores del sistema este método denota comoPi al conjunto de avatares
del sistema DVE asignados actualmente al servidorSi. El valor de la carga generada por
cada uno de estosS subconjuntos se denominaload(Pi) y se obtiene a partir de la suma
de las etiquetas de los nodos del grafo que han sido asignados al servidorSi. A partir
de este tipo de representación, el método define la funcióncostPi,P j como el coste de las
comunicaciones causadas por el tráfico de red generado entre los avatares asignados aPi
y Pj. Para calcular este valor, el método recorre todos los arcos del grafo del sistema en
los que se cumple que, o bien el nodo origen pertenece aPi y el destino aPj, o bien el
destino aPj y el origen aPi. Dependiendo del modelo de comunicaciones que emplee el
sistema DVE el método define dos funciones distintas para el cálculo del coste total del
las comunicaciones del sistema. En el caso de las redes de medio compartido este coste
se obtiene a partir de la suma de los coste de comunicaciones existentes entre todos los
pares posibles de la partición. Para este caso la expresión de este coste es:
costcommbus=
∑∇PiPj
costPiPj(3.6)
En los sistemas DVE implementados sobre redes de interconexión que emplean enla-
ces punto a punto el sistema asume un cuello de botella en el enlace que soporte la mayor
56 3.1. EL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE
tasa de tráfico del sistema. Debido a esta característica define para estos sistemas el coste
total de las comunicaciones como:
costcommdlink= max
∇PiPj
costPiPj(3.7)
Tal y como realiza LOT, este método no sólo evalúa el coste total de una solución de
particionado a partir del coste de sus posibles comunicaciones sino que también incluye
un término que estima el equilibrio de cargas del sistema. Este término es independiente
de topología de la red de interconexión y se define como:
costbalance =∑∇PiPj
|load(Pi)− load(Pj)| (3.8)
A partir de las expresiones descritas anteriormente el método propone una función de
evaluación para una partición dada definida como:
costoverall = WL × costbalance + WC × costcomm (3.9)
El términocostcomm se obtiene a partir de las ecuaciones3.6o 3.7dependiendo si el
sistema DVE se simula respectivamente sobre una red de interconexión de medio com-
partido o enlaces punto a punto. Tal y como ocurre en el caso del modelo de particionado
propuesto por Lui y Chan [50], los autores en este caso no parametrizan la importancia
relativa de los términos que evalúa la función de calidad del sistema DVE. En este ca-
so, estos parámetros se denominanWL y WC y su valor se asume igual a 1 en toda la
evaluación de prestaciones.
A la hora de obtener cuales son las mejores soluciones de particionado que hacen
mínimo el resultado de la funcióncostoverall este método propone la comparación de una
estrategia de búsqueda exhaustiva y una estrategia miope. Ante un sistema DVE dado
formado porN avatares yS servidores, la estrategia exhaustiva genera todas las posibles
soluciones de particionado y calcula el coste de la función de calidadcostoverall mostrada
en la ecuación3.9 para todas y cada una de ellas. Dado que el coste de este mecanismo
es exponencial (SN posibles particiones) el método propuesto por los autores ofrece un
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 57
método miope basado en la creación incremental e iterativa de una buena solución de
particionado. La miopía del procedimiento reside en que, dado que en cada una de las
iteraciones se da valor de particionado al mejor de los avatares (en términos decostoverall)
sin asignar, no se garantiza que la solución final sea la mejor de todas las particiones
posibles [25].
A pesar de que este método obtiene rápidamente soluciones de particionado, la cali-
dad de las particiones halladas es muy baja [80]. Este empeoramiento de la calidad crece
a medida que las distribución de avatares en la escena deja de seguir patrones uniformes.
Esto es debido a la incapacidad del método para desalojar células muy cargadas de avata-
res que hacen crecer significativamente el desequilibrio de cargas entre los servidores del
sistema. Además de esta deficiencia, esta estrategia de particionado imposibilita la eva-
luación de sistemas DVE simulados sobre redes de interconexión formadas por la unión
de redes con distintas tecnología.
3.2. PROCEDIMIENTOS METAHEURÍSTICOS
Las técnicas metaheurísticas se han convertido en un importante paradigma para ob-
tener soluciones de alta calidad en problemas complejos. Básicamente, son algoritmos
que incorporanheurísticas(o búsquedas inteligentes) muy rápidas y que están orientados
a problemas donde cualquier solucióndeterministasólo obtendría soluciones ineficien-
tes. Este podría ser el caso del problema del particionado en sistemas DVE, donde una
simulación deN avatares yS servidores aceptaSN diferentes asignaciones válidas.
La literatura de la materia no sólo recoge una importante cantidad de referencias gene-
ralistas a estos métodos [5, 16, 19, 43], sino que detalla algunos estudios exhaustivos don-
de se analiza el comportamiento de estas técnicas sobre determinados problemas [2, 20].
Uno de estos problemas consiste en la optimización de funciones matemáticas o la opti-
mización combinatorial [2]. Otros ejemplos son el problema de la gestión de flotas [16],
o el análisis de heurísticas al problema del ICPL (del inglés “Integer Capacitated Plant
Location”) [20].
En este capítulo proponemos el estudio comparativo de varias técnicas metaheurísti-
cas que hemos adaptado y parametrizado para resolver el problema del particionado en
58 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
sistemas DVE [60]. Este estudio intenta hallar cual de las técnicas heurísticas que hemos
adaptado obtiene los mejores resultados para el problema del particionado en sistemas
DVE. Todas estás técnicas emplean la función de calidadCp propuesta por Lui y Chan
[50], y descrita en la ecuación3.4, como función de evaluación de este problema. Pa-
ra lograr la mayor diversidad algorítmica posible hemos incluido la máxima variedad de
estrategias heurísticas. Éstas van desde métodosconstructivoscomo GRASP [58], o es-
tocásticoscomo es el caso de“Simulated Annealing”[62], hasta llegar a mecanismos
evolutivos comoalgoritmos genéticos[57] o colonias de hormigas[59].
3.2.1. Obtención de la población inicial
La mayoría de técnicas heurísticas basan el comienzo de su esquema de funciona-
miento en la generación de una población inicial [19, 36]. Para el caso del problema del
particionado en sistemas DVE, la solución inicial debe de ser un mecanismo muy rápido
(comparado con el resto de toda la heurística) que calcule la asignación de losN avatares
a losS diferentes servidores del sistema DVE. Con estas premisas, se ha diseñado un
esquema de particionado inicial basado en la teoría de grafos [68]. Este esquema denomi-
nado DBA (del inglés “Density-Based Algorithm”) consta de un algoritmo determinista
que mediante un mecanismo de fuerza bruta y sin ningún tipo de refinamiento (como los
que implementa LOT) obtiene soluciones de particionado iniciales para losN avatares de
la simulación.
Básicamente, la estrategia DBA de generación de soluciones iniciales en sistemas
DVE consta de dos fases que aparecen descritas en la figura3.3 empleando pseudocódi-
go. En la primera fase la función “DivideSceneInSquareSections” divide la escena virtual
en “n_sections” secciones rectangulares . A cada una de estas secciones se le asocia
un valor denominadona. Este valor es obtenido empleando la función “CountAvatarsIn-
Section” e indica el número de avatares que están actualmente localizados dentro de esa
sección. Una vez se han evaluado todas las secciones atendiendo a suna, éstas se ordenan
ascendentemente por este valor. Esta ordenación, efectuada mediante el algoritmo de or-
denación “QuickSort”, permite seleccionar lasS secciones que presentan los valores más
altos dena. Al final de esta etapa, los avatares localizados en cada una de lasS secciones
se asignan a losS servidores distintos que forman la simulación. En la siguiente fase, se
calcula el centro de masas (mc) de los avatares asignados a cada servidor. Una vez se ha
realizado este cálculo (empleando la función “ObtainMC”) en cada una de lasS seccio-
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 59
nes seleccionadas, cada uno de los servidores elige a uno de los avatares pendientes de
asignación siguiendo un esquema cíclico e iterativo. El avatar escogido para cada servidor
en las diferentes iteraciones corresponde a aquel cuya distancia al centro de masasmc del
servidor sea mínima. El cálculo de las distancias de los diferentes avatares a los centros
de masas de los servidores se realiza mediante la función “EuclideanDistance”. Su valor
mínimo permite elegir un avatar que se asigna al servidor del sistema DVE que realiza
la elección, y cuyomc ha de volverse a calcular debido a la incorporación de éste nuevo
elemento. Este proceso se realiza para todos los servidores de forma rotativa (como si se
tratara de un esquema round-robin de planificación) hasta que se asignen losN avatares
del sistema.
La figura 3.4 muestra los resultados de la ejecución del algoritmo de particionado
inicial DBA para un sistema DVE formado por 65 avatares y 3 servidores. En esta vista
aérea del sistema se puede apreciar la asignación de cada uno de los avatares del sistema
(representados en este caso como una esfera) sobre el mapa de la escena. En este ejemplo
cada uno de los tres servidores del sistema DVE va a recibir la asignación de 22, 23 y 20
avatares respectivamente. Dado que uno de los objetivos de DBA es minimizar el volumen
de tráfico inter-servidor, la asignación de los avatares a cada uno de los servidores no sólo
es disjunta, sino que avatares asignados al mismo servidor se encuentran localizados muy
cerca en la escena virtual.
Dado que DBA realiza una asignación de avatares siguiendo un esquema iterativo
y rotativo, este algoritmo proporciona un buen equilibrio de cargas. En este sentido, la
diferencia entre el número de avatares que cada servidor va a alojar cuando el algorit-
mo finalice no va a exceder para ninguno de los servidores en más de dos unidades con
respecto al equilibrio perfecto (65/3=21,6 avatares por servidor). Por otra parte, el algo-
ritmo garantiza que, en la mayoría de los casos, si una cantidad importante de avatares
se encuentra localizada muy cerca dentro del mundo virtual, estos avatares atraerán algún
centro de masas de constante actualización y, probablemente, serán asignados al mismo
servidor. Dado que estos avatares están muy cerca en la escena, éstos compartirán con mu-
cha seguridad sus AOI. Por lo tanto y dado que serán asignados al mismo servidor, DBA
proporcionará particiones en las que el número de mensajes inter-servidor será reducido.
Sin embargo, bien cuando los avatares se encuentran localizados en la escena equi-
distantemente, o bien en el caso de que se hallen muy separados, su asignación a los
servidores del sistema será crítica y en ocasiones puede ser mejorada considerablemen-
60 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
programa DBA (avatar, Int n, Int S)
constn_sections = 25x25
type Cellsum,idx: Int
varassigned,represent:Int[]pivot,elect,ncentr:Intmin_dis,dist_tmp :Realna :Cell[n_sections]
beginDivideSceneInSquareSections(n_sections)for i:=0 to n_sections do
na[i].sum:=CountAvatarsInSection(i)na[i].idx:=i
end_forQuickSort (na)for i=0 to S do
representant [i]= ObtainMC (na[i].idx)end_for;pivot := 0, elect := -1, ncentr:=0for i:=0 to n do
elect:=-1,min_dis := 100000for j:=0 to n do
if (assigned[j] = NOT_ASSIGNED)dist_tmp:= EuclideanDistance(avatar[j],represent([ncentr])if (dist_tmp < min_dis)
pivot := jmin_dis := dist_tmp
endifendif
end_foravatar[pivot].assignment := assigned[pivot] := ncentrncentr : (ncentr + 1) mod S
end_forend
Figura 3.3: Representación en pseudocódigo del algoritmo DBA
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 61
Figura 3.4: Generación asignación inicial mediante DBA
te. Este comportamiento miope [25] hace que DBA ofrezca soluciones de particionado
muy eficientes (en términos de la función de evaluaciónCp) en las primeras iteraciones
de su segunda fase y que, por el contrario, cuando esta fase está finalizando la calidad de
las asignaciones de los últimos avatares descienda. Algunos de los métodos heurísticos
presentados a continuación aprovechan este comportamiento para realizar una importante
poda del árbol de posibles soluciones del problema.
3.2.2. Métodos estocásticos. Recocido Simulado y Metrópolis
Los métodosestocásticosse caracterizan por realizar una exploración aleatoria dentro
del dominio de las posibles soluciones a un problema [19]. Esencialmente, esto significa
que durante el procedimiento de búsqueda muchas de las soluciones intermedias halla-
das serán claramente ineficientes y no estarán orientadas en dirección al óptimo global
del sistema. Pese a ello, estos métodos muestran una gran eficiencia si el mecanismo de
generación de soluciones es rápido y ha sido convenientemente elegido. De entre los mé-
todos estocásticos destaca elRecocido Simulado[41, 43] debido a su sencillez de uso y
a su posibilidad de adaptación a un numeroso de tipo de problemas complejos. Hemos
elegido este método para adaptarlo a las singularidades del problema del particionado en
sistemas DVE.
62 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
Recocido Simulado
La estrategia deRecocido Simulado(o SA del inglés “Simulated Annealing”) toma
sus bases de la física termodinámica y se formula como una analogía entre el fenómeno
de enfriamiento de sustancias puras y un problema de optimización [41]. Se puede de-
cir que el enfriamiento de una sustancia corresponde a un proceso de optimización cuyo
objetivo es minimizar la energía del sistema. Cuando una estructura se calienta a tempera-
turas muy elevadas sus moléculas empiezan a moverse con altas velocidades y de manera
desordenada debido a la gran cantidad de energía generada. Si este calor deja de aplicarse,
el tiempo y la pérdida de energía provocarán que dichas moléculas tiendan a describir un
movimiento más lento. Este acomodamiento permitirá establecer estructuras cristalinas
perfectamente simétricas siempre que la liberación y el enfriamiento sean procesos lentos
y controlados.
SA es un paradigma algorítmico especialmente orientado a problemas complejos y ha
demostrado su eficiencia en una gran variedad de problemas con una alta carga combi-
natoria [41, 43, 67]. Siguiendo una analogía con la física termodinámica SA denomina
estructuraa cada una de las posibles soluciones de un problema. Dado que cada una
de estas soluciones constituye una de las posibles entradas de la función de calidad que
evalúa el problema, SA emplea el términoestadopara indicar el valor de la función de
evaluación de una estructura dada.
SA se basa en el algoritmo de Metrópolis. Este algoritmo genera un conjunto de es-
tructuras vecinas o cercanas a partir de cualquier solución del problema con un estado
dado. El algoritmo de Metrópolis se basa a su vez en el método de Montecarlo. Este
método define una función de probabilidad que permite la aceptación o rechazo de los
cambios realizados en una estructura dada. Así pues, dada una estructura que se encuen-
tra en el estadoi a un nivel de energíaEi obtener otra estructura a partir de este estado
energético actual consiste en efectuar las pertinentes modificaciones que la llevan desde
el nivel Ei al estado energéticoEj. La decisión de que la nueva estructura se acepte en
dicho estado depende de un criterio definido por el método de Montecarlo. Ese método
asigna la siguiente función de probabilidad de aceptar o no este cambio:
Prob(aceptacion) =
1 : Ej < Ei
e( Ei−Ej
T) : Ej ≥ Ei
(3.10)
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 63
SiendoT la temperatura a la cual se encuentra la estructura yP la probabilidad de
aceptar el cambio. Esta probabilidadP es un valor que satisface la condiciónP∈ [0,1].
El sistema acepta soluciones peores que la actual siguiendo una función de tipo expo-
nencial denominada factor de Boltzmann [41]. Este factor, que depende de la temperatura
T del sistema, va a permitir al método heurístico explorar soluciones aleatoriamente dis-
tintas a las que se encuentran en las regiones del espacio de búsqueda actual. Esta carac-
terística, en términos del funcionamiento del algoritmo, se traduce en un mecanismo para
evitar que SA quede atrapado en óptimos locales.
La ecuación3.10muestra que cuando la temperatura del sistema es muy elevada la
probabilidad de que SA acepte nuevos estados de empeoramiento es cercana a uno (alta-
mente probable de aceptar), y si la temperatura es baja, es poco probable que se acepten.
La figura3.5-a muestra una representación aproximada del comportamiento del algoritmo
cuando explora diversas regiones en un problema de optimización.
Figura 3.5: Representación de la exploración de SA
La figura3.5-a muestra cómo la propiedad de aceptar soluciones de peor calidad per-
mite al método “escalar” en las regiones de óptimos locales para alcanzar finalmente el
óptimo global del sistema [43]. Este óptimo global se corresponden con la configuración
que tiene el menor valor en la función objetivo o menor estado energético. La figura3.5-b
muestra la relación entre la probabilidad de aceptar soluciones de peor calidad y la tem-
peratura de la estructura. Mientras que a altas temperaturas la probabilidad de aceptación
es alta, cuando esta disminuye también lo hace de forma proporcional la probabilidad de
aceptación.
64 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
Proponemos una implementación específica de SA para el problema del particionado
basada en SA [62]. Al igual que otras implementaciones de esta misma heurística [41, 67],
la implementación propuesta parte de una solución inicial. Esta solución inicial se obtie-
ne a partir de la técnica DBA descrita en la sección3.2.1. Una vez ha sido obtenida esta
asignación inicial, SA selecciona aleatoriamente dos avataresfrontera en cada iteración
del algoritmo. Se considera que un avatarAi, que está actualmente asignado al servidor
Sr, esavatar fronterasi existe al menos un avatarAj vecino deAi, asignado aSx, tal que
Sr y Sx son servidores distintos. Dado que los avatares frontera demarcan las circunscrip-
ciones topológicas de las asignaciones de cada servidor, éstos son los avatares candidatos
para realizar mejoras en las soluciones de particionado respetando los parámetrosCWp y
CLp de la función de evaluación.
Tras esta selección, se intercambia la asignación de los servidores de estos avatares
frontera (Sr ⇔ Sx) y se evalúa el valor de la función de evaluaciónCp para la nueva
solución de particionado. Si el valor resultante deCp es menor que el valor de la solución
actual, este cambio de la partición es aceptado y el sistema queda convenientemente ac-
tualizado. En caso contrario, es necesario evaluar el valor de la energía, en términos deCp,
aportada por la nueva modificación de la solución actual. Si el valor de empeoramiento es
menor que una cotaT , esta modificación de la solución actual también se acepta. En lugar
de obtener el valor de temperaturaT a partir de aplicar el factor exponencial de Boltz-
mann, descrito en la ecuación3.10, hemos obtenido mejores resultados de convergencia
del algoritmo haciendo descender linealmenteT según la ecuación:
T = R−(
R× i
N
)(3.11)
En un total deN iteraciones de SA, esta ecuación disminuye linealmente la permisivi-
dad de los cambios de empeoramiento en función de la iteracióni y la tasa de enfriamiento
R. Esta tasa de enfriamiento indica la pendiente negativa que sufre la temperaturaT del
sistema a medida que el sistema evoluciona hacia estados de temperaturas estables.
La figura3.6muestra un ejemplo en pseudocódigo de la adaptación de SA al proble-
ma del particionado en sistemas DVE. En este código se puede apreciar como en primer
lugar SA realiza una primera partición del sistema empleando el algoritmo DBA descrito
en la sección anterior (función “Initial_Partition (DBA)”). Una vez realiza el cálculo de la
solución inicial del problema, la adaptación de SA propuesta emplea la función “Obtain-
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 65
BorderAvatars” para obtener losB avatares frontera existentes actualmente en la escena.
Sobre esta esta solución inicial obtiene mediante la función “Compute_Cp” su estado ac-
tual o valor de la función de evaluaciónCp. A partir de la configuración inicial de avatares,
SA realizaIt iteraciones. En cada una de estas iteraciones, SA emplea la función “Choo-
se2DifRamdomAvatars” para seleccionar aleatoriamente dos avatares frontera del sistema
DVE. Estos avatares se denominanav_i y av_j y mediante la función “ExchangeServe-
rAssignment” se permuta la asignación de servidor de ambos. Dependiendo del nuevo
valor de la función de evaluación obtenido tras la realización de este cambio otemp_cost
y del valor de permisividad actualdelta_sup este cambio, o bien será rechazado, o bien
formará parte de la solución actual para la siguiente iteración.
programa SA (Int It, Real dec_t_rate)
varB,temp_cost,Cp_SA :Realdelta_sup :Realav_i,av_j, :Integer
beginInitial_Partition (DBA)B := ObtainBorderAvatars()Cp_SA := Compute_Cp()For i:=0 to It do
Choose2DifRamdomAvatars(B,av_i,av_j)ExchangeServerAssignment(av_i,av_j)temp_cost := Compute_Cp()delta_sup := dec_t_rate - (dec_t_rate*i/interations)if (temp_cost - delta_sup < Cp_SA)
Cp_SA := temp_costelse
ExchangeServerAssignment(av_i,av_j)end_for
end
Figura 3.6: Representación en pseudocódigo del algoritmo SA
Con el objetivo de mejorar el rendimiento de la propuesta basada en SA, hemos me-
dido el impacto de realizar un intercambio de servidores en grupo en lugar de realizarlo
por parejas. La tabla3.1compara los resultados de estos intercambios en términos, tanto
de la función de evaluaciónCp, como del tiempo de ejecución necesario para obtener la
solución final. Hemos evaluado el comportamiento del algoritmo cuando intercambiamos
grupos de 2, 3 ó 4 avatares.
Siguiendo el esquema descrito en la sección2.3.2, hemos comprobado cada opción
66 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
siguiendo tres patrones diferentes de distribución de avatares en la escena virtual (unifor-
me, sesgada y agrupada) en sistemas DVE de tipo LARGE. Estos sistemas (ver sección
2.3.1) simulan 2500 avatares a partir de la acción coordinada de 8 servidores.
2 avatares 3 avatares 4 avatares
Cp Tiempo (s.) Cp Tiempo (s.) Cp Tiempo (s.)
Uniforme 1707,62 6,35 1808,38 6,51 1817,90 7,02
Sesgada 2628,46 13,79 2826,44 14,32 2992,30 15,82
Agrupada 4697,61 29,62 5046,27 30,25 5283,705 33,98
Tabla 3.1: Intercambios en grupo para cada iteración de SA
Coincidiendo con los experimentos descritos por otros investigadores en la evaluación
otras implementaciones de SA [19], esta tabla muestra que los resultados de particionado
empeoran a medida que se incrementan el número de avatares que forman los grupos de
intercambio de servidores. Por lo tanto, hemos mantenido el intercambio de la asignación
de dos avatares como mecanismo básico de cada iteración de SA.
Por otro lado, cuando un problema se aborda mediante técnicas metaheurísticas no
basta simplemente con la adaptación de la estrategia básica a las especificaciones del
problema [20, 84]. Dependiendo del contexto de aplicación de la heurística y con el fin
de optimizar su mecanismo interno de búsqueda de soluciones, es necesario realizar un
ajuste de sus parámetros básicos. Esta fase es conocida comoparametrizaciónde la meta-
heurística [19, 69]. En el caso de SA los parámetros a ajustar son la variación del número
de iteracionesN y la tasa de enfriamientoR [43].
La figura3.7 muestra la relación existente entre calidad de las soluciones obtenidas
por SA (en términos de la función de evaluaciónCp) y el número de iteraciones totales
en sistemas DVE de tipo SMALL. Esta figura muestra que la calidad de las soluciones
de particionado finales aumenta a medida que SA realiza más iteraciones. Sin embargo,
esta tasa de mejora empieza a ser menos acusada (llegando incluso a desaparecer) a partir
de las 3000 iteraciones. Por lo tanto, dado que cada iteración consume un cierto tiempo
de ejecución carece de sentido emplear SA por encima de ese número de iteraciones en
sistemas DVE de tipo SMALL.
En el caso de sistemas con un gran número de avatares, SA tiene un comportamiento
similar. La figura3.8 muestra la variación producida en la calidad de las soluciones ob-
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 67
Figura 3.7: Variación de la función de evaluaciónCp con respecto al número de iteracio-
nes en SA. Experimentos realizados sobre sistemas DVE de tipo SMALL
tenidas por SA a medida que se incrementa el número de iteraciones en sistemas DVE
de tipo LARGE. Aunque a diferencia del caso anterior la reducción de los valores de la
funciónCp se produzca de una forma más paulatina, SA no obtiene en sistemas DVE de
tipo LARGE mejoras significativas en la calidad de las soluciones cuando supera las 3000
iteraciones.
El comportamiento del sistema es distinto para el caso de la variación de la tasa de
enfriamientoR. La figura3.9 muestra la calidad de las soluciones de particionado obte-
nidas a medida que se hace variar este parámetro en sistemas DVE de tipo SMALL. La
figura muestra que la calidad de las soluciones en sistemas DVE de tipo SMALL no está
relacionada linealmente con la tasa de enfriamiento del sistema. Efectivamente, dado que
este parámetro ha sido incorporado en SA para permitirle evitar óptimos locales, la cali-
dad de la partición proporcionada alcanza un valor de pico cuando la tasa de enfriamiento
R se encuentra alrededor del 1.25 %.
A medida que se incrementa el número de usuarios y servidores del sistema DVE el
comportamiento de SA se mantiene. La figura3.10muestra la variación de la función de
evaluaciónCp con respecto a la tasa de enfriamiento en SA para sistemas DVE de tipo
LARGE. Esta figura muestra que a medida que la tasa enfriamiento aumenta también lo
hace la calidad de las soluciones de particionado (es decir, los valores deCp disminuyen).
68 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
Figura 3.8: Variación de la función de evaluaciónCp con respecto al número de iteracio-
nes en SA. Experimentos realizados sobre sistemas DVE de tipo LARGE
Figura 3.9: Variación de la función de evaluaciónCp con respecto a la tasa de enfria-
miento en SA. Experimentos realizados sobre sistemas DVE de tipo SMALL
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 69
Este incremento de la calidad de las soluciones halladas se detiene cuando el sistema
DVE incorpora tasas de enfriamiento cercanas al 1.25 % en distribuciones no uniformes,
o a 1.00 % en distribuciones uniformes. A partir de este valor umbral la calidad de las
soluciones de particionado empieza a descender significativamente. Al igual que mostraba
la figura3.9 para sistemas DVE de tipo SMALL, la figura3.10destaca la aparición de
un valor umbral en la elección de la tasa de enfriamiento de SA para sistemas DVE de
tipo LARGE. Tasas por debajo de este valor reducen la potencia de SA en la búsqueda
de soluciones ya que limitan significativamente la posibilidad de efectuar variaciones en
la estructura de asignaciones de la solución actual. Por el contrario, si se sobrepasa este
valor SA tiende a ser ineficiente ya que permite excesivas soluciones de empeoramiento,
y con ello, la degradación de la calidad a largo plazo de la solución construida.
Figura 3.10: Variación de la función de evaluaciónCp con respecto a la tasa de enfria-
miento en SA. Experimentos realizados sobre sistemas DVE de tipo LARGE
Una vez que SA ha sido convenientemente parametrizado para las dos distintas tallas
del sistema su eficiencia puede ser comparada a la producida o bien por LOT, o bien
por cualquiera de las técnicas presentadas en éste capítulo. Los resultados finales de esta
comparativa de métodos de particionado para sistemas DVE se muestran al final de este
capítulo.
70 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
3.2.3. Mecanismos constructivos. GRASP
GRASP (del inglés “Greedy Randomized Adaptive Search”) es la estrategia metaheu-
rística de tipo constructivo mas importante. Esta estrategia está muy orientada hacia la
solución de problemas de optimización combinatoria [69]. GRASP es con diferencia la
estrategia más novedosa de las descritas en esta tesis. Aunque apareció inicialmente di-
señada por Feo y Resende para resolver problemas de cubrimientos de conjuntos [25],
fueron los mismos autores los que portaron el método hacia una nueva técnica metaheu-
rística de propósito general. A pesar de su novedad, ha demostrado su eficiencia frente a
otras metaheurísticas clásicas en problemas como el particionado de circuitos, la asigna-
ción cuadrática y la asignación de ensamblado [70].
GRASP se caracteriza por ser una técnica muy robusta basada en un motor de búsque-
da multi-arranque. Esta técnica construye cualquier solución final mediante un conjunto
de iteraciones. Cada iteración del método GRASP consiste en la construcción de una so-
lución miope y aleatorizada seguida de una búsqueda local. El resultado de la solución
construida en la fase miope marca el punto de comienzo en el inicio de la búsqueda lo-
cal. Este procedimiento se repite varias veces, de forma que la mejor solución encontrada
sobre todas las iteraciones se devuelve como la solución final.
La implementación específica de GRASP propuesta para el problema del particionado
en sistemas DVE [58] comienza a partir de la obtención de una solución inicial. Para el
cálculo de esta solución inicial hemos empleado la técnica DBA. En este caso, GRASP
aprovecha una importante propiedad que caracteriza al método DBA y que fue descrita
en la sección3.2.1. Esta propiedad radica en que la calidad de las asignaciones que DBA
obtiene durante su ejecución desciende a medida que el método avanza. Los avatares que
DBA abandona para sus últimas iteraciones se encuentran localizados o muy desperdiga-
dos en la escena, o repartidos de forma muy esquidistante a todos los centros de masas de
los servidores. Por tanto, la idea básica es emplear DBA para dar asignación a los avatares
cuya asignación es sencilla y a continuación, emplear GRASP para el resto de avatares.
Con ello, dotamos de una gran rapidez a la primera parte de la búsqueda y dejamos que
GRASP (de una forma mucho más intensiva) obtenga la mejor solución de particionado
para los avatares pendientes de clasificación por DBA. Estos avatares pasan a denominar-
seavatares complejosen el problema del particionado en sistemas DVE y su cardinalidad
c (dondec N ) es el único parámetro a ajustar en GRASP.
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 71
A la hora aplicar definitivamente GRASP a los avatares complejos de un sistema DVE
hemos empleado una versión modificada del algoritmo DBA, denominada DBA-R, que
consigue aislarlos de la escena. Esta versión difiere del diseño descrito en la sección3.2.1
simplemente en el recorte del tamaño del bucle que pasa deN a c iteraciones. La figura
3.11muestra un ejemplo de la ejecución de el algoritmo DBA-R. En este ejemplo se han
simulado 66 avatares empleando para ello 3 servidores y se ha solicitado intencionada-
mente que DBA-R deje pendiente a 12 de estos avatares. Ante estas especificaciones, el
algoritmo asigna equilibradamente un grupo balanceado de 18 avatares a cada servidor
dejando además pendiente la asignación de 12 de ellos.
Figura 3.11: Generación asignación inicial mediante DBA-R
Una vez han sido identificados los avatares complejos del sistema, el motor GRASP
construye iterativamente la solución final del problema. Estas iteraciones constan de dos
fases que se ejecutan secuencialmente y consiguen asignar un servidor a cada uno de los
avatares complejos del sistema DVE. Estas fases se denominan fase deconstruccióny
fase debúsqueda local. Su descripción en pseudocódigo aparece recogida en la figura
3.12. Al igual que realizan el resto de procedimientos metaheurísticos, GRASP parte de
una partición inicial del sistema obtenida a través del algoritmo DBA (ver sección3.2.1).
En esta ocasión, GRASP no realiza intencionadamente la asignación de losc avatares más
complejos del sistema DVE (“Initial_Partition (DBA-R,C)”) dado que éste es su objetivo
en las diferentes iteraciones del método.
La fase de construcciónparte en cada iteracióni de un número de avatares pendientes
72 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
de asignar (complejos) donde se cumple quei ≤ c N . Dado que un avatar puede ser
asignado a cualquiera de losS servidores del sistema DVE, esta fase evalúa (empleando
la función “TestSolution”) todas las diferentes combinaciones consistentes en añadir a la
solución actual cada uno de losc avatares que no han sido asignados todavía. Para cada
una de estas posibilidades se obtiene el nuevo valor de la función de evaluaciónCp y a
partir de la función “AddToList” se crea la denominada lista de candidatos o LC. Cada
elemento de esta lista tiene la forma avatar complejo no asignado, servidor,Cp. Es-
ta lista se ordena descendentemente empleando el algoritmo de ordenación “QuickSort”
por el campoCp. Una vez que esta lista ha sido convenientemente ordenada se desechan
mediante la función “ReduceToFirsQuartile” todos sus elementos que no pertenezcan a
su primer cuartil. Esta nueva lista reducida de candidatos se denomina RLC y contiene
información sobre las mejores asignaciones de avatares a servidores para añadir a la so-
lución actual. Una vez se ha finalizado la creación de la lista RLC la fase de construcción
elige aleatoriamente uno de sus elementos. Este elemento describe una de lasS posibles
asignaciones de servidor que se pueden realizar sobre un avatar complejoAk cualquiera
del sistema DVE. Este elemento será la entrada de la fase de búsqueda local.
La búsqueda localsobre el avatarAk consiste en localizar de entre el conjunto de sus
avatares vecinos (“AvatarsInAOI”) aquellos que están todavía pendientes de asignar. Si un
avatarAm cumple estas condiciones, entonces la fase de búsqueda local construye tantas
soluciones como diferentes sean las posibilidades de asignar el avatarAm a losS distintos
servidores del sistema. Estas nuevas particiones del sistema a evaluar están formadas por
los N − c + i avatares asignados actualmente más el nuevo avatarAm. Para cada una
de ellas, se obtiene el nuevo valor de la función objetivoCp, de forma que la iteración
devuelve la mejor de las configuraciones de entre los vecinos deAk probados. La función
“AssignSolutionServer” permite añadir el resultado de esta iteración a la solución final. Si
el avatarAk carece de vecinos el resultado de la iteración será el resultado de la asignación
obtenida en la fase de construcción.
La eficiencia de las soluciones obtenidas por el método GRASP depende de la cali-
dad de la lista RLC. Debido a que su tiempo de exploración depende de la longitud de
esta lista, el principal parámetro a ajustar en el sistema DVE es el númeroc de avata-
res complejos que DBA debe mantener sin asignar. Al ser GRASP un procedimiento de
búsqueda constructivo la elección adecuada de este parámetro tiene un doble efecto en el
rendimiento del sistema. Por una parte, permite incrementar la calidad de las soluciones
de particionado halladas, pero por otra el tiempo que emplee para la construcción de las
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 73
programa GRASP (Int C)
type New_solidx_av,idx_ser: Intnew_cost : Realavatar,server : Int
vartmp_cost,Cp_GRASP :RealLC,RLC :New_sol[]
beginInitial_Partition (DBA-R,C)For i:=0 to C do
for j:=0 to n dofor k:=0 to S do
tmp_cost=TestSolution(j,k)AddToList(LC,tmp_cost,j,k)
end_forend_forQuickSort(LC)RLC := ReduceToFirsQuartile(LC)ChooseRandomElement(RLC,avatar,server)Cp_GRASP = tmp_cost = 10000for j:=0 To AvatarsInAOI(avatar) do
for k:=0 to S dotmp_cost=TestSolution(j,k)AddToList(RLC,tmp_cost,j,k)if (tmp_cost < Cp_GRASP)
Cp_GRASP := tmp_costsavej := jsavek := k
end_forend_for
end_forAssignSolutionServer(savej,savek)
end_forend
Figura 3.12: Representación en pseudocódigo del algoritmo GRASP
74 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
soluciones finales de particionado no debería de ser excesivo. Por lo tanto, la parametriza-
ción dec debe evaluar simultáneamente el impacto de la elección del número de avatares
críticos con la calidad de las soluciones halladas y el tiempo necesario para obtenerlas.
La figura3.13muestra el tiempo de cálculo y la calidad de las soluciones de parti-
cionado, en términos de la función de evaluaciónCp, a medida que se ha hecho variar el
númeroc de avatares complejos del sistema. Estos resultados han sido obtenidos a partir
de una batería de pruebas consistente en más de 1000 simulaciones de un sistema DVE
de tipo SMALL. Este sistema está compuesto por 13 avatares y 3 servidores. Los avatares
del sistema DVE se han distribuido empleando los modelos de distribución inicial pre-
sentados en la sección2.3.2de la tesis. En este sentido, las configuraciones incluidas en
la batería de sistemas DVE probadas siguen patrones uniformes, sesgados y agrupados de
localización de avatares en la escena.
Figura 3.13: Variación de la funciónCp con respecto al número de avatares complejos
en sistemas DVE de tipo SMALL
La figura3.14muestran esta misma variación de la función de calidadCp y el tiempo
de cálculo con respecto al número de avatares complejos para sistemas de tipo LARGE.
Estos sistemas DVE están formados por 8 servidores y 2500 avatares. Estos últimos han
sido distribuidos uniformemente a lo largo de la escena.
Tal como se aprecia en la figuras3.13y 3.14para sistemas DVE de tipo SMALL y
LARGE respectivamente, tanto el tiempo de total ejecución de GRASP como la calidad
de las soluciones obtenida se incrementan a medida que crece el número de avatares com-
plejos. A pesar de ello y como conclusión podemos afirmar que para la configuración
LARGE un valor eficiente del parámetroc se sitúa cerca de las 250 iteraciones. En el caso
de configuraciones de tipo SMALL este valor de compromiso entre calidad de soluciones
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 75
Figura 3.14: Variación de la funciónCp con respecto al número de avatares complejos
en sistemas DVE de tipo LARGE
y tiempo de cálculo se encuentra entre los 6 y 7 avatares críticos. En ambas configuracio-
nes de sistemas DVE sobrepasar estas cotas e invertir un tiempo de cómputo excesivo se
traduce simplemente en una leve mejora de la calidad final de las soluciones halladas.
3.2.4. Computación evolutiva
La computación evolutiva nace a principio de la década de los sesenta y retoma los
conceptos deevolucióny genéticapara resolver principalmente problemas de optimi-
zación y aprendizaje [55]. Esta rama de la inteligencia artificial tiene sus raíces en tres
paradigmas relacionados pero independientes entre sí: los algoritmos genéticos, la pro-
gramación evolutiva y las estrategias evolutivas [16]. Los algoritmos genéticosfueron
desarrollados en la década de los sesenta y su motivación inicial fue la de proponer un
modelo general de proceso adaptable [36]. Sobre aquella época se desarrolla una nueva
teoría, denominadaprogramación genética, orientada a crear inteligencia artificial a par-
tir de la evolución de máquinas de estado finitas [5]. Por último, también en esa misma
década se proponen lasestrategias evolutivascuyo principal objetivo era resolver proble-
mas de optimización paramétrica [19]. Dentro de estas técnicas destacan los algoritmos
basados en colonias de hormigas y los algoritmos sociales y culturales [22]. Debido a su
correlación con el mundo real, algunos autores llegan incluso a enmarcar las técnicas de
SA dentro de este campo. A pesar de ello, y coincidiendo con importantes trabajos en
este campo, la fuerte componente estocástica de estos métodos permite clasificarlos tal y
como se ha descrito anteriormente [19, 41, 69].
76 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
De forma general, la computación evolutiva toma como base las ideas de la evolu-
ción propuestas por Darwin y los descubrimientos realizados por Mendel en el campo de
la genética [33]. Este paradigma modela problemas típicamente computacionales como
procesos naturales a los cuales se dota de una solución inicial. Estas soluciones iniciales
son reproducidas, alteradas y combinadas de forma que, tras un cierto tiempo, se obten-
gan soluciones al problema lo suficientemente buenas. En esta sección presentamos dos
nuevas aproximaciones al problemas del particionado basadas en computación evolutiva.
Mientras que la primera emplea algoritmos genéticos para el tratamiento del problema, la
segunda lo hace a través de la estrategia evolutiva de colonia de hormigas.
Algoritmos genéticos
Los algoritmos genéticoso AG son el paradigma con mayor base teórica de entre
las metaheurísticas enmarcadas dentro del campo de la computación evolutiva [36]. Esta
base teórica es bastante sencilla en su desarrollo y viene a fundamentar el mecanismo de
evolución por selección natural que rige este tipo de esquemas evolutivos [33].
Básicamente, un AG es un método de búsqueda que empieza a partir de una población
de soluciones iniciales de un problema denominadascromosomaso individuos. En el
caso del problema del particionado, esta población está formada por un cierto número
de particiones iniciales del sistema DVE. Durante un número de iteraciones conocido
y dependiendo de una función de probabilidad, AG aplica a esta población inicial unos
operadores de cruce ymutaciónque hacen evolucionar a los cromosomas que representan
la solución inicial hasta una solución final del problema. En estos métodos, el valor de la
función de evaluación (Cp para el problema del particionado) suele denominarsefitness.
De esta forma, el objetivo del AG radicará en obtener poblaciones con cromosomas de
bajo fitness que se convertirán en eficientes soluciones de particionado de los sistemas
DVE.
La implementación de AG para el problema del particionado se ha presentado ini-
cialmente en [62]. Esta aproximación, cuya descripción en pseudocódigo aparece en la
figura3.15, parte de una solución inicial al problema obtenida a través del algoritmo de
particionado DBA (ver sección3.2.1).
Al igual que ocurría en el caso de SA, AG emplea la solución inicial del problema
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 77
programa AG (Int chromo, Int iterations, Real mut_rate)
varB,temp_cost,Cp_GA :Realav_i,av_j,av_k :Integer
beginInitial_Partition (DBA)B := ObtainBorderAvatars()Cp_GA := Compute_Cp()For i:=0 to iterations do
For j:=0 to chromo doSelectAndCopyChromosome(j)Choose2DifRamdomAvatars(B,av_i,av_j)ExchangeServerAssignment(av_i,av_j)temp_cost := Compute_Cp()if (HaveItoMutate(mut_rate))
Chose1RandomAvatar(av_i)ChooseRandomServer(serv_j)ForceServerAssigment(av_i,serv_j)
endifAddChromosomeToPopulation(this)
end_forCWPSortPopulationByCp(2*chromo)Cp_GA := SelectBestIndividuals(chromo)
end_forend
Figura 3.15: Representación en pseudocódigo del algoritmo AG
78 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
(obtenida mediante la función “Initial_Partition(DBA)”) para obtener un subconjunto de
avatares frontera que represente la población de avatares que componen el sistema DVE.
En esta ocasión, AG utiliza este subconjunto de avatares, hallado por la función “Ob-
tainBorderAvatars”, para componer el primer cromosoma de la población inicial. Este
cromosoma y el resto de los que forman la población van a tener una longitud igual al nú-
mero de avatares frontera de la solución inicial calculada por DBA. De esta forma, cada
uno de losgenes(o unidades mínimas con significado) que forman el cromosoma indi-
cará la asignación de particionada de un avatar frontera distinto. Dado que es necesario
dotar de cierta aleatorización a los miembros de la población inicial [36, 55], se realizan
un número permutaciones en las asignaciones de los servidores de cada gen igual a los
cromosomas se quieran generar para formar la población inicial.
Una vez se ha obtenido la población inicial a partir de una solución primitiva del
problema obtenida por DBA, la técnica genética presentada aplica un mecanismo de
auto-fertilización a un sólo corte para generar los nuevos cromosomas en cada iteración
[40, 42]. Esta técnica de cruce no se basa en una combinación de cromosomas sino que
obtiene un cromosoma hijo a partir de un cromosoma padre mediante una derivación. Esta
derivación se define como la permutación de dos genes de los cromosomas padre. Por lo
tanto, dada una población deP cromosomas se producirán2 × P individuos distintos.
En el pseudocódigo mostrado en la figura3.6 la función “Choose2DifRamdomAvatars”
elige aleatoriamente a los avatares o genesent_i y ent_j de entre losB avatares frontera
que se han obtenido de la población actual. Estos genes se intercambian en la función
“ExchangeServerAssignment” y los dos genes hijos resultantes de tales permutaciones se
añaden a la población inicial mediante la función “AddChromosomeToPopulation”. Dado
que es posible evaluar la función de fitnessCp de cada uno de ellos (“Compute_Cp()”), un
operador denominado deelitismo(representado por la función “SelectBestIndividuals”)
selecciona solamente losP individuos que presenten un valor deCp más bajo. Estos in-
dividuos van a ser la entrada de la siguiente iteración. Este mecanismo permite que las
mejores soluciones al problema se mantengan generación tras generación. A pesar de
que algunos autores enmarquen este tipo de estrategias como mecanismos elaborados de
búsqueda local multi-arranque, muchos investigadores en el campo de la computación
evolutiva los clasifican con un tipo más de algoritmos genéticos [2, 33, 40].
Los AG son capaces de escapar de soluciones óptimas locales debido a que incorporan
un mecanismo de mutación basado en la alteración cromosómica de los genes [36, 55].
En la aproximación propuesta para el problema del particionado en sistemas DVE este
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 79
mecanismo ha sido también incorporado. Para ello, una vez que un cromosoma hijo ha
sido obtenido el mecanismo de mutación se define como la modificación aleatoria (con
una cierta probabilidad) de la asignación del servidor de uno de sus genes. Este tipo de
mutaciones se denominan mutaciones de 1 bit y suelen ser más efectivas que las realizadas
eligiendo mayor cantidad de genes [5]. Para resolver el tratamiento de las mutaciones la
descripción propuesta en pseudocódigo de la figura3.6 emplea tres funciones básicas.
Estas funciones en primera lugar permiten detectar si atendiendo a la tasa de mutación
actual (mut_rate) se ha de realizar una mutación en esa iteración (“HaveItoMutate”).
En caso afirmativo, escogen aleatoriamente uno de los genes del cromosoma hijo recién
creado (“av_i”), así como uno de los servidores del sistema DVE (“serv_j”). Una vez que
avatar y servidor han sido elegidos se fuerza la asignación de ambos con independencia
de cualquier otro criterio (“ForceServerAssigment”).
La implementación propuesta de AG proporciona soluciones de particionado en un
sistema DVE dependiendo del tamaño de la población inicial, el número de generaciones
(o iteraciones) y la probabilidad de mutación de los cromosomas en cada iteración. Estos
son los tres parámetros básicos que es necesario ajustar para optimizar el rendimiento de
esta estrategia evolutiva [19, 36, 55].
La figura3.16 muestra un ejemplo del funcionamiento del mecanismo AG descrito
anteriormente. En este ejemplo puede apreciarse como a partir de un sistema DVE de tipo
SMALL (descrito en la sección2.3.1) se han creado cromosomas formados por 6 avatares
frontera. Estos avatares, que forman los genes del cromosoma, pueden ser asignados a
cualquiera de los 3 servidores que se emplean en este tipo de sistemas DVE. Sobre uno
de estos cromosomas se ha realizado un cruce mediante auto-fertilización y una mutación
de un bit sobre el tercer gen del cromosoma.
Aunque esta primera aproximación al problema mediante AG se comporta razonable-
mente bien [60], la generación de la población inicial se realiza a partir de la derivación
exhaustiva de una única solución de particionado obtenida mediante DBA (ver sección
3.2.1). A pesar de que esto produce una población inicial bastante acelerada, la diversidad
estructural entre sus cromosomas integrantes es baja. Tal y como destacan importantes
aportaciones sobre la materia [36, 55], esta decisión puede provocar que bajo ciertas cir-
cunstancias el proceso evolutivo del algoritmo acelere la población inicial en términos de
fitness (representado por la funciónCp en este problema) pero llegando a una solución que
puede ser un óptimo local o incluso una deficiente aproximación a éste. Junto a este in-
80 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
Figura 3.16: Generación de nuevos cromosomas en AG
conveniente es importante destacar que el tipo de cruce o recombinación de individuos de
la población aplicado al problema estaba basado en un cruce de auto-fertilización simple
a un solo corte [40]. Este cruce, bien conocido en problemas del dominio de las permuta-
ciones [42], es excesivamente generalista de forma que es posible proponer nuevos cruces
asociados a la naturaleza del problema.
Mejoras al comportamiento evolutivo de los AG en el problema del parti-
cionado en sistemas DVE
En esta sección vamos a presentar dos mejoras a la aproximación básica de la estrate-
gia AG para el problema del particionado en sistemas DVE [62]. En primer lugar, el nuevo
algoritmo sustituye la generación de la población inicial, creada a partir de conjunto de
permutaciones sobre DBA, por una nueva estrategia denominadaproyecciones aleato-
rias. Además, la producción de nuevos cromosomas, creada mediante auto-fertilización
a un solo cruce, va a ser sustituida por una elección aleatoria de cinco mecanismos de
derivación de soluciones adaptados a las características del problema [57]. Los resultados
comparativos entre ambas aproximaciones genéticas, así como los obtenidos mediante el
resto de las metaheurísticas presentadas, se muestran al final de este capítulo.
Generación de una población inicial heurística
La mayoría de metaheurísticas modernas basan su mecanismo de funcionamiento en
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 81
la generación de una o varias configuraciones o soluciones iniciales al problema [19].
Durante la ejecución del procedimiento heurístico éstas configuraciones temporales van
siendo transformadas en la solución final a través de una sucesión controlada de iteracio-
nes. Dependiendo del tipo de metaheurística [69], las operaciones a realizar sobre este
tipo de soluciones intermedias van a ser significativamente distintas. De esta forma, si la
población inicial ha sido lo suficientemente bien generada de forma aleatoria, el algoritmo
es capaz de alcanzar el óptimo global con cierta facilidad [36].
De entre todas las heurísticas descritas en este capítulo, son los algoritmos genéticos
las técnicas en las que la relación entre la calidad de las soluciones halladas y la elección
de la población inicial es mayor. La justificación de esta afirmación se basa en que una de
las principales características de los algoritmos genéticos radica en que generalmente sólo
evalúan un pequeño subconjunto del dominio total de soluciones posible a un problema.
Esta eficiencia en el proceso de búsqueda se atribuye a la denominadaregla 80/20[35].
Esta regla viene a describir que el 80 % de la riqueza genética de un problema la poseen
un 20 % de sus soluciones posibles. Además, con el 20 % de esfuerzo se consigue el 80 %
de los resultados. Por lo tanto, un AG bien diseñado puede aprovechar esta propiedad
y dirigir una búsqueda para explorar exhaustivamente las soluciones más interesantes.
Además, si se pretende acelerar la población inicial, es importante garantizar la diversidad
estructural de las soluciones iniciales aceleradas. Con ello, se obtendrá una representación
de la mayor parte de la población posible y se evitará la convergencia prematura del
algoritmo [55].
Por este motivo, en el problema del particionado para sistemas DVE es necesario
recrear una solución con una fuerte componente aleatoria y lo suficientemente rápida
como para que se ejecute de forma independiente tantas veces como individuos haya en
la población. De esta forma, el algoritmo genético partirá de un conjunto de soluciones
independientes y aceleradas pero con marcadas diferencias estructurales entre ellas que,
por definición del procedimiento, ya se garantizan.
El algoritmo presentado, denominadoproyecciones aleatorias, genera una solución
de particionado del sistema DVE independiente para cada avatar. En cada una de estas
soluciones el conjunto de N avataresA0, .., AN−1 es alojado totalmente entre los M
servidoresS0, .., SM−1 del sistema DVE. A diferencia de DBA, el algoritmo de pro-
yecciones garantiza soluciones independientes cuando es ejecutado varias veces sobre la
misma configuración del sistema DVE. Esta es la razón por la que se sustituye la gene-
82 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
ración anterior de la población inicial. Esta generación estaba basada en la permutación
aleatoria y masiva de una única ejecución de DBA. Por claridad de notación, la solu-
ción presentada a continuación está planteada para un escenario virtual en 2D, aunque su
transformación para escenas 3D es relativamente trivial.
La figura 3.17 muestra un ejemplo representativo del modo de funcionamiento del
algoritmo de proyecciones aleatorias. En primer lugar este algoritmo asigna todos los
clientes del sistema DVE al servidorS0 de la simulación (ver figura3.17.a). A continua-
ción, genera aleatoriamente un valor real denominadoθ cuyo rango puede variar entre 0
y π/2. Dado que todos los avatares están localizados en un plano cartesiano, el algoritmo
traza una recta que pasa por (0,0) y tiene como pendiente el valorθ generado (ver figu-
ra 3.17.b). Esta nueva recta y su perpendicular en(0, 0) definen a su vez un nuevo eje
de coordenadas rotadoθ radianes con respecto al original. Con ello, la posiciónx, yde cualquier avatar en el mundo virtual, con respecto al eje de coordenadas inicial, va a
poder referenciarse con respecto al eje rotado con una sencilla transformación afín (ver
figura3.17.c). Con esta nueva posiciónx′, y′ de cada avatar el algoritmo crea dos árbo-
les binarios de búsqueda con las clavesx′ e y′ de cada avatar. Una vez creados, se eligen
para ambos losN/M avatares con mayor y menor clave en los cuales se evalúa suCLp .
Dado que la cardinalidad de los 4 conjuntos creados es la misma, e igual a N/M, no tiene
sentido calcular suCWp ya que éste parámetro evalúa la desviación típica del conjunto
de avatares asignados con respecto al equilibrado perfecto. De entre estos subconjuntos
de avatares se elige aquel con menorCLp y se asignan directamente todos sus clientes al
servidorS1 (ver figura3.17.d). En este estado, el servidorS0 tiene actualmente asignadosN(M−1)
Mavatares. Este proceso se repite hasta elegir de entre los avatares pendientes por
asignar los N/M avatares que serán asignados al servidorS2. Tal y como está planteado
el proceso, cuando no queden servidores por asignar y se haya completado el alojamiento
de clientes al último servidor oSM−1 todos los servidores tendrán un número de avatares
igual o muy cercano a N/M.
Cabe destacar que el uso de los 4 árboles de búsqueda binarios se realiza para elevar la
diversidad en la elección de conjuntos de avatares a asignar al servidor en curso. Debido
a la generación aleatoria de los ángulos de rotación se garantizan soluciones estructural-
mente independientes en la generación de individuos de la población inicial. Además, la
aceleración inicial de su fitnessCp vendrá garantizada por el equilibro de cargas y por la
garantía de la asignación al mismo servidor de avatares cercanos en el mundo virtual.
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 83
Figura 3.17: Ejecución en fases del algoritmo de proyecciones para un sistema DVE de
tipo LARGE: a) asignación directa aS0, b) nuevo eje de coordenadas generado aleato-
riamente, c) proyección de cada avatar sobre el nuevo eje y d) creación y evaluación de
los 4 conjuntos de asignación asociados a los 2 diferentes árboles de búsqueda. Se asigna
al servidorS1 el subconjunto de avatares (de los 4 generados) con menor costeCp
Aleatorización en la elección del cruce de cromosomas
El algoritmo AG inicialmente descrito en la sección3.2.4basa su mecanismo de ge-
neración de nuevos individuos en un cruce de auto-fertilización simple de un solo corte
[40] y probabilidad estática igual a uno. Como mejora del método proponemos la elec-
ción aleatoria para cada derivación de un tipo de cruce más orientado a las características
propias del problema. Esta selección aleatoria se realiza a partir de los cruces:
1 Intercambio de la asignación de servidor de 2 avatares frontera (genes) elegidos
aleatoriamente.
2 Dado un gen del cromosoma elegido aleatoriamente, se construye la lista de servi-
dores con los cuales su avatar hace frontera. De esta lista se elige un servidor al azar
y se le asigna directamente.
3 Además de las acciones realizadas en el cruce anterior busca (si existiera) un avatar
de la partición receptora con enlaces a vecinos en la partición dadora cambiándole
su asignación y provocando un intercambio de avatares entre servidores.
4 Dado que cada avatar genera una carga en el sistema [50], se escoge aleatoriamente
un avatar frontera de aquella partición que tenga una mayor carga soportada global
y se le asigna a la partición con menor carga.
5 Se permuta la asignación de servidores de dos genes elegidos aleatoriamente. El
primero de ellos pertenece al servidor con mayor carga, el segundo al menor.
84 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
Parametrización de la estrategia AG
Tal y como se ha comentado anteriormente, la parametrización de las aproximaciones
basadas en algoritmos genéticos consiste en el ajuste de los valores óptimos para el tama-
ño P de la población cromosómica, el númeroT de iteraciones y la tasaM de mutación
[19, 33, 36]. En el caso de la implementación AG propuesta para resolver el problema del
particionado esta parametrización ha sido realizada a partir de los resultados obtenidos
mediante una batería de sistemas DVE. Esta batería de pruebas compuesta por más de
1000 experimentos distintos siguiendo el patrón normalizado de pruebas descrito en el
capitulo anterior.
La figura3.18muestra los valores obtenidos por la función de fitnessCp (o función
de evaluación de la calidad del particionado en sistemas DVE) a medida que se incremen-
ta el númeroT de generaciones. Los experimentos realizados muestran el resultado de
aplicar la estrategia AG sobre sistemas DVE de tipo SMALL (sistemas de 3 servidores y
13 clientes) con distribución de avatares en la escena siguiendo patrones de localización
uniformes, sesgados y agrupados. Esta figura muestra el descenso de los valores de la
funciónCp (es decir, se incrementa la calidad de las soluciones halladas) a medida que
AG aumenta el número de generaciones en el proceso evolutivo de búsqueda. Este des-
censo de los valores deCp se detiene cuando el proceso de búsqueda intenta superar las
350 iteraciones. Este comportamiento se produce debido a que AG agota la búsqueda de
óptimos locales en ese subdominio de soluciones, y por tanto, carece de sentido emplear
más tiempo de ejecución localizando nuevas soluciones de particionado.
Este tipo de comportamiento se produce también en sistemas de gran tamaño. La figu-
ra 3.19muestra la relación que existe en la estrategia AG entre el incremento del número
de generaciones y la calidad de las soluciones halladas en sistemas de tipo LARGE (8
servidores y 2500 clientes). Una vez más, la calidad de las soluciones desciende a medida
que se incrementa el número de generaciones de AG. Este incremento se detiene cuando
se intentan superar las 350 iteraciones.
Manteniendo este tipo de experimentos hemos evaluado el impacto del tamañoT de
la población de cromosomas en la calidadCp de las soluciones de particionado obtenidas.
La figura3.20muestra la variación de la funciónCp con respecto al número de cromoso-
mas para distribuciones de avatares uniformes, sesgadas y agrupadas en sistemas DVE de
tipo SMALL. Esta figura muestra un aumento notable de la calidad de las soluciones ob-
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 85
Figura 3.18: Variación del fitnessCp con respecto al número de generaciones en AG.
Experimentos realizados sobre sistemas DVE de tipo SMALL
Figura 3.19: Variación del fitnessCp con respecto al número de generaciones en AG.
Experimentos realizados sobre sistemas DVE de tipo LARGE
86 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
tenidas hasta que el parámetroT alcanza un valor umbral cercano a los 18 cromosomas.
A partir de este valor umbral, el coste de las soluciones de particionado, o bien permanece
constante, o la sumo desciende levemente.
Figura 3.20: Variación del fitnessCp con respecto al tamaño de la población en AG.
Experimentos realizados sobre sistemas DVE de tipo SMALL
Un comportamiento similar ocurre en sistemas de mayor tamaño. La figura3.21mues-
tra la variación de la función de fitnessCp a medida que ese incrementa el tamaño de la
población cromosómica en sistemas DVE de tipo LARGE. Esta figura muestra el ascenso
de la calidad de las soluciones de particionado a medida que se incrementa el número
de cromosomas en el proceso de búsqueda evolutiva realizado por AG. Una vez más, la
velocidad de aumento en la calidad de las soluciones se detiene cuando AG supera un
tamaño máximo de población. Este valor ronda los 21 cromosomas en los tres tipos de
distribuciones de avatares evaluados. El motivo de este de este comportamiento (basado
en umbrales) radica en la forma en la que la estrategia AG propuesta realiza la búsqueda
de las soluciones de particionado. Dado que la tasa de mutación de AG limita el rango de
desplazamientos por los subdominios de búsqueda, incrementar en exceso el número de
cromosomas revierte en sobrexplorar el dominio de soluciones accesibles. Por lo tanto, a
pesar de invertir mayor tiempo de cómputo en la búsqueda de soluciones no se consigue
incrementar la calidad de las soluciones de particionado halladas.
En el caso de la parametrización de la tasa de mutación, AG muestra un comporta-
miento notablemente distinto. En la figura3.22se representa el ajuste de este parámetro
para sistemas DVE de tipo SMALL. Al igual que en el resto de experimentos, se han si-
mulado multitud de configuraciones en sistemas DVE de talla pequeña siguiendo patrones
de localización de avatares en la escena uniformes, sesgados y agrupados. La figura3.22
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 87
Figura 3.21: Variación del fitnessCp con respecto al tamaño de la población en AG.
Experimentos realizados sobre sistemas DVE de tipo LARGE
muestra como se incrementa la calidad de las soluciones de particionado a medida que
AG varía la tasa de mutación del proceso de búsqueda hasta llegar a valores cercanos al
8 %. A partir de este valor, un incremento en la tasa de mutación de AG se convierte en un
empeoramiento significativo de los valores de la función de fitnessCp de las soluciones
finales obtenidas.
Figura 3.22: Variación del fitnessCp con respecto a la tasa de mutación en AG. Experi-
mentos realizados sobre sistemas DVE de tipo SMALL
Al igual que ocurre en la figura3.22, la figura3.23 indica un comportamiento del
sistema parecido para los sistemas DVE de gran tamaño. Esta figura muestra la relación
existente entre la función de calidadCp y la tasa de mutación de la estrategia AG en
sistemas DVE de tipo LARGE (2500 avatares y 8 servidores) para poblaciones de avatares
88 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
localizadas de forma uniforme, sesgada y agrupada en la escena virtual. Los resultados
obtenidos en ambos tipos de sistemas indican que si se emplean tasas de mutación por
debajo del 8 %, AG es incapaz de obtener buenas soluciones de particionado en términos
deCp. La razón de este comportamiento, independiente al tipo de distribución de avatares
en la escena, es debida a que una tasa baja de mutación impide que la estrategia AG evite
óptimos locales en los que pueda quedar irremediablemente atrapada. En el caso contrario,
si se seleccionan valores de mutación por encima de la cota del 8 %, el mecanismo de
búsqueda gasta demasiado tiempo comprobando soluciones ineficientes.
Figura 3.23: Variación del fitnessCp con respecto a la tasa de mutación en AG. Experi-
mentos realizados sobre sistemas DVE de tipo LARGE
Como conclusión para esta fase de ajuste paramétrico, podemos establecer que la
implementación AG propuesta proporciona resultados eficientes si itera 300 veces sobre
una población formada por 20 cromosomas sobre la que se aplica una tasa de mutación
cercana al 8 % [57].
Colonia de hormigas
Como todo algoritmo evolutivo, los sistemas basados encolonias de hormigaso ACS
(del inglés “Ant Colony Systems”) se asocian a un proceso natural para la solución de
un problema dado. La base de estos algoritmos se sostiene en el sistema de organización
cooperativo que poseen las hormigas para la búsqueda de comida. Este sistema utiliza
una hormona denominadaferomonaque sirve como medio de comunicación entre los
individuos de la colonia [22]. Cuando un hormiga busca comida, ésta ha de enfrentarse al
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 89
problema de la elección de la mejor ruta para llegar a ella. Para poder orientarse, y con
el objetivo de elegir el camino óptimo de menor coste, las hormigas toman sus decisiones
atendiendo al nivel de feromona que otro miembros de la colonia han dejado previamente
en esa ruta a su paso. Si la cantidad de feromona asociada a cada una de las rutas es
la misma, la elección de la ruta por la hormiga es claramente aleatoria. Sin embargo,
una vez la elección ha sido tomada la hormiga depositará feromona en la opción elegida,
modificando la cantidad de ésta, e influyendo en las decisiones futuras de sus sucesoras.
Un ejemplo de este comportamiento se muestra en la figura3.24.
Figura 3.24: Comportamiento básico en un colonia
En la figura3.24, una colonia de hormigas emprende un camino para encontrar un
alimento que dista de su emplazamiento una distancia dada (fig.3.24-1). Si durante su
proceso de localización de comida aparecen posibles bifurcaciones en su búsqueda o las
condiciones del terreno varían, es necesario tomar una decisión entre un conjunto de po-
sibles rutas. Si no existe feromona en ninguna de las rutas posibles, o el nivel de ésta
es igual para todas, la selección de la ruta se realiza aleatoriamente (fig.3.24-2). Instan-
tes después de que las hormigas que escogen el camino más corto lleguen a la comida,
éstas incrementan la feromona de su ruta. Como el camino recorrido es más corto, más
hormigas pasan por ese camino en el mismo tiempo. Por lo tanto, la cantidad de fero-
mona añadida en todos los puntos de su camino es mayor, y se aumenta la probabilidad
de escoger esa ruta. Este mecanismo permite que en un futuro la probabilidad de que sus
90 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
compañeras elijan esa misma ruta ascienda (fig.3.24-3). Estos algoritmos están basados en
utilizar “feed-back” positivo reforzando buenos caminos y soluciones. Además, tienen la
particularidad de evitar óptimos locales ya que incorporan un mecanismo de “feed-back”
negativo denominadoevaporación de la feromona[69]. Este mecanismo se basa en redu-
cir con el tiempo y de forma paulatina el valor de la feromona en cada ruta. Esto permite
reorientar la búsqueda y no agotar ineficientemente regiones del dominio de soluciones.
Aunque inicialmente ACS nace como solución a problemas de optimización discreta
[22], la literatura de la materia muestra diferentes implementaciones del método aplicadas
a una extensa variedad de problemas tales como la planificación temporal o la lógica com-
putacional [21]. Realizando una analogía directa con el proceso natural de búsqueda de
comida, ACS considera a las hormigas como agentes o procesos autónomos que trabajan
en paralelo. Estos agentes autónomos se comunican entre sí a partir de una estructura de
datos común formada por los niveles de feromona asociadas a cada una de las soluciones
del problema. Esta estructura, compuesta por las incógnitas de un problema y sus posibles
soluciones, se denomina matriz de feromonas [22]. Normalmente, una implementación de
ACS se define como un conjunto de iteraciones. En cada una de estas iteraciones todas las
hormigas de la población intentan mejorar la solución actual del problema. Las mejoras
propuestas por cada una de las hormigas en las diferentes iteraciones se obtienen a partir
de la información contenida en la matriz de feromonas y son comparadas con la solución
actual. Dependiendo del resultado de esta comparación los elementos de la matriz asocia-
dos a la solución hallada son modificados. Esta modificación permite que la generación de
nuevas soluciones no sea cíclica y se oriente hacia la búsqueda de los valores que hacen
minima la función de evaluación del problema.
Para resolver el problema del particionado en sistemas DVE hemos propuesto el di-
seño y la implementación de una nueva estrategia basada en ACS [59]. Básicamente, esta
estrategia sigue dos pasos. En primer lugar, obtiene una única partición inicial del sistema
DVE mediante el algoritmo DBA descrito en la sección3.2.1. Partiendo de esta solución
inicial del problema, la aproximación propuesta basada en ACS lanza simbólicamente
en cada una de sus iteraciones toda la colonia de hormigas. Cada hormiga de ACS se
comporta como un pequeño mecanismo de búsqueda local y en el caso del problema del
particionado en sistemas DVE explora diferentes soluciones para configurar, mediante el
uso de niveles de feromona, diferentes rutas en dirección a soluciones con bajos valores
deCp. La mejor de las soluciones halladas por cualquiera de las hormigas será devuelta
como resultado de la búsqueda heurística.
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 91
Uno de los grandes inconvenientes asociados a la solución del problema del particio-
nado mediante un procedimiento heurístico radica en su extenso dominio de soluciones
[57]. Dado que existenSN diferentes soluciones de particionado para un mismo sistema
DVE (dondeS=número de servidores yN=número de avatares), el método ACS seleccio-
na en primer lugar el conjunto deavatares fronterade la escena. Para cada uno de estos
avatares frontera, ACS asocia una lista de servidores candidatos. La lista de servidores
candidatos de un avatar fronteraAj (asignado actualmente a un servidorSm) se compone
de los distintos servidores a los que están asignados todos los avatares que se encuentran
dentro del AOI deAj, más el servidorSm. Cada uno de los miembros de esta lista dispone
de un nivel de feromona independiente, el cual es inicializado al mismo valor al comienzo
de la ejecución del algoritmo de búsqueda.
El algoritmo ACS consiste principalmente en una gestión eficiente e iterativa de una
población dehormigas. Estas hormigas se comportan como subprocesos de búsqueda y
tienen como objetivo en cada iteración dar asignación a losB avatares frontera del sistema
DVE. Cuando dentro de una iteración una hormiga finaliza su búsqueda, la hormiga cal-
cula el valor de la función de evaluaciónCp correspondiente a su partición hallada. Si el
valor resultante deCp es menor que la solución actual del sistema, entonces la asignación
obtenida por esta hormiga se convierte en la solución actual. Dado que una solución es la
elección de uno de los elementos de la lista de candidatos de cada uno de losB avatares
frontera del sistema DVE, ACS incrementa una cierta cantidad el nivel de feromona de
los elementos que configuran la solución obtenida. En el caso de que el valor deCp no
supere el valor de la solución actual el algoritmo no actualiza nada. Sin embargo, cuan-
do una iteración finaliza, es decir todas las hormigas se han ejecutado, ACS disminuye
simultáneamente una cantidad fija el valor de feromona de todos los caminos de búsque-
da. Este mecanismo, descrito anteriormente como evaporación del nivel de feromona, se
implementa mediante el descenso del nivel de esta hormona en todos los elementos de
la listas de candidatos de las hormigas de la colonia. Por último, ACS finaliza cuando se
agotan todas las iteraciones.
En su proceso de búsqueda, cada hormiga debe elegir al mejor miembro en cada una
de lasB listas de candidatos del sistema DVE. Para este problema la matriz de feromonas
se define como la relación de todas lasB listas de candidatos del sistema DVE. Cada
elemento de esta matriz identifica el valor de feromona existente entre un avatar frontera
y uno de los posibles servidores del sistema DVE donde puede ser asignado. La elec-
ción realizada por cada hormiga para cada avatar frontera se realiza en base a unvalor
92 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
de selecciónSv obtenido como una combinación de dos valores: por una parte, el nivel
de feromona de ese elemento y por otra, el incremento que sobre la función de calidad
Cp realiza la asignación de servidor que ese elemento de la lista representa. El valor de
selecciónSv para uno de los elementos de lasB listas se define como:
Sv = α× phrmn + β × Cp (3.12)
dondephrmn corresponde al valor actual de feromona para ese elemento yCp es el
valor de la función de evaluación resultante de sustituir el servidor actual por el represen-
tado por ese elemento.α y β son coeficientes que ponderan las propiedades de feromona
y función de evaluación que la funciónSv intenta valorar. A la hora de mejorar la eficien-
cia de las soluciones de particionado obtenidas por ACS, estos coeficientes deben de ser
convenientemente ajustados.
Por otra parte, cuando una hormiga obtiene una solución de particionado que me-
jora el Cp de la solución actual, se han de incrementar los niveles de feromona de las
asignaciones de servidor de losB avatares que configuran la nueva solución. Este nivel
se actualiza según la ecuación3.13 dondeQ representa la constante de actualización.
Niveles demasiado altos de esta constante provocarán que el sistema recupere en pocas
iteraciones sus valores iniciales de feromona en todas sus posibles soluciones. Por el con-
trario, niveles bajos de Q no permitirán que ACS salga con cierta facilidad de mínimos
locales restringiendo su capacidad de exploración de nuevas soluciones de particionado.
phrmn = phrmn + Q× 1
Cp
(3.13)
La figura3.25muestra un ejemplo de la primera actualización de feromona del método
ACS para un sistema DVE formado por 1900 avatares y 6 servidores. En esta configura-
ción del sistema se han localizado 640 avatares frontera de los cuales se muestran sólo
6 de ellos. Dado que no todos los avatares frontera contienen en su AOI avatares asigna-
dos a todos y cada uno de los diferentes servidores del sistema DVE, algunas casillas no
tienen valor de feromona (ej. servidorS0 para el avatarA12). Una vez que la hormiga ha
evaluado las diferentes opciones de servidor disponibles para los 6 avatares del sistema
DVE ha seleccionado la soluciónS2, S4, S2, S4, S3, S4. Al comprobar que esta solución
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 93
es mejor que la solución actual en términos deCp, ACS actualiza el nivel de feromona
de los elementos de las listas de cada avatar. Aplicando la formula anterior, los valores de
esta hormona pasan de 1.0 a 1.6 en todos los elementos.
Figura 3.25: Ejemplo de aplicación de ACS al problema del particionado en sistemas
DVE
La figura3.26 muestra la representación en pseudocódigo del método de búsqueda
ACS para el problema del particionado en sistemas DVE. Este código muestra de forma
modular las características básicas de la implementación ACS. Al igual que se realiza en
las implementaciones presentadas sobre SA y AG (ver figuras3.6y 3.15respectivamente)
ACS emplea la función “Initial_Partition(DBA)” para obtener una partición inicial de la
configuración actual del sistema. A partir de esta partición inicial, ACS emplea la función
“ObtainBorderAvatars” para obtener el subconjunto de avatares frontera de la configu-
ración actual del sistema DVE. El valor de calidad de esta partición inicial se almacena
en la variableCp_ACS. A partir de esta solución inicial y empleando la ecuación3.12
(implementada en la función “ChooseServer”) cada una de lasants hormigas consigue
obtener una solución distinta del problema. Estas soluciones se construyen en la función
“Compose_Solution” y se generan a partir del cálculo de los valores de selección para
los B avatares frontera. En el caso de que el valor de la función de evaluaciónCp de
cada una de las soluciones generadas por cada hormiga en cada iteración (almacenado
en temp_cost) mejore la calidad de la solución actual, ACS no sólo adopta esta nueva
solución como solución actual, sino también incrementa el nivel de feromona median-
te la función “IncreasePheromone” de todos los pares avatar, servidor empleados para
construir esta nueva solución. Por último, la función “DecreasePheromone” permite eva-
porar los niveles de feromona en el sistema al final de cada iteración. Este mecanismo
94 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
es necesario para que ACS consiga evitar mínimos locales en su proceso de búsqueda de
soluciones.
program ACS (Int ants, Int iterations, Real evap_rate)
constalpha = 1.0beta = 7.0Q = 1000
vartemp_sol :Real[Number_of_Avatars]L :Integer[]B,Cp_ACS,temp_cost :RealSv :Real[]
beginInitial_Partition (DBA)B := ObtainBorderAvatars()Cp_ACS := Compute_Cp()For i:=0 to iterations do
For j:=0 to ants doFor k:=0 to B do
Sv[k]:=ChooseServer(alpha,beta)end_fortemp_sol := Compose_Solution(Sv,B)temp_cost:= Obtain_Cp(temp_sol)if (temp_cost < Cp_ACS)
Cp_ACS := temp_costIncreasePheromone (B,Q)
endifend_forDecreasePheromone(evap_rate)
end_forend
Figura 3.26: Representación en pseudocódigo del algoritmo ACS
Tal y como ocurre en la mayoría de heurísticas [19, 69], ACS necesita que algunos de
sus parámetros más relevantes sean convenientemente ajustados. Este ajuste paramétrico
se realiza con el fin de maximizar la eficiencia de las soluciones obtenidas. En particular,
el método presentado basado en ACS requiere la parametrización del número de hormi-
gas que componen la colonia, el número de iteraciones y la tasa de evaporación de la
feromona.
La figura3.27muestra los valores obtenidos por la función de calidadCp cuando se
hacen variar el número de iteraciones en ACS. Los resultados mostrados en esta figura
representan el comportamiento de esta estrategia de particionado para sistemas DVE de
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 95
tipo SMALL. Siguiendo el esquema de evaluación de sistemas DVE propuesto en el ca-
pítulo anterior, se han evaluado en ambos sistemas más de 1000 configuraciones distintas
de avatares. Estas configuraciones de avatares en la escena han sido generadas siguiendo
patrones de localización uniformes, sesgados y agrupados. Esta figura muestra que la ca-
lidad de las soluciones de particionado en sistemas DVE de tipo SMALL se incrementa a
medida que lo hace el número de iteraciones del proceso evolutivo. Este incremento de la
calidad se detiene cuando se pretenden superar las 15 iteraciones en el caso de distribucio-
nes uniformes de avatares, o bien 25 iteraciones en distribuciones sesgadas o agrupadas.
Figura 3.27: Variación de la función de evaluaciónCp con respecto al número de itera-
ciones en ACS. Experimentos realizados sobre sistemas DVE de tipo SMALL
El incremento del número de iteraciones en ACS describe el mismo tipo de comporta-
miento a medida que se incrementa el tamaño del sistema DVE. La figura3.28muestra la
variación de la función de evaluaciónCp con respecto al número de iteraciones de ACS en
sistemas DVE de tipo LARGE. En esta ocasión, el descenso de los valores de la función
Cp es más lineal que en el caso de los resultados mostrados en la figura3.27para sistemas
DVE de tipo SMALL. A pesar de ello, la calidad de las soluciones se detiene cuando se
intentan superar las 15 iteraciones en ACS.
Un comportamiento muy similar al obtenido en la variación del número de iteraciones
en ACS es el que ocurre cuando se intenta variar el número de hormigas empleadas en
cada iteración. La figura3.29muestra como varia la calidad de las soluciones obtenidas,
en términos de la función de evaluación del problemaCp, con respecto al número de hor-
migas para sistemas DVE de tipo SMALL. Debido a su analogía biológica, este parámetro
96 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
Figura 3.28: Variación de la función de evaluaciónCp con respecto al número de itera-
ciones en ACS. Experimentos realizados sobre sistemas DVE de tipo LARGE
suele también denominarse tamaño de la colonia de hormigas [21]. Esta figura muestra
como descienden los valores de la función de calidadCp de las soluciones de particiona-
do a medida que se incrementa el tamaño de la colonia. Este descenso de la calidad se
estabiliza cuando, con independencia del tipo de distribución de avatares en la escena, el
número de hormigas que componen la colonia supera los 125 ejemplares.
La figura3.30muestra también la relación existente entre el incremento del tamaño de
la colonia y la calidad de las soluciones de particionado en sistemas DVE de tipo LARGE.
Una vez más, esta figura muestra como aumenta la calidad de las soluciones obtenidas por
ACS al variar la cantidad de hormigas que se ejecutan en cada iteración. Este incremento
en la calidad de las soluciones (independiente del modelo de distribución de avatares en la
escena virtual) se detiene cuando ACS intenta emplear más de 100 hormigas por iteración.
Valores mayores que esta cota no tienen efectos en la calidad de las soluciones obtenidas.
Por lo tanto y a partir de los resultados obtenidos en las figuras anteriores, podemos afir-
mar que la calidad de las soluciones de particionado obtenidas por ACS aumenta a medida
que lo hace el número de iteraciones y el tamaño de la colonia de hormigas empleada. Este
incremento se produce con independencia del tipo de distribución de avatares en la esce-
na y del número de avatares y servidores que componen el sistema DVE. A su vez, este
descenso de los valores deCp se produce mientras no se hayan alcanzado unos determi-
nados valores umbrales en estos dos parámetros de ACS. Estos umbrales se encuentran,
por una parte alrededor de las 20 iteraciones, y por otra, cerca de 100 hormigas como
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 97
Figura 3.29: Variación de la función de evaluaciónCp con respecto al tamaño de la
colonia en ACS. Experimentos realizados sobre sistemas DVE de tipo SMALL
tamaño de la colonia del sistema. La ejecución de ACS superando estas cotas equivale a
malgastar tiempo de cómputo sin obtener significativas mejoras de la función de calidad
Cp. Esta limitación de la eficiencia deCp se debe a que, mientras se mantenga constante
un determinado de nivel de feromona, ejecutar en exceso ACS mediante el incremento de
iteraciones y/o número de hormigas equivale a sobrexplorar de balde una región limitada
del dominio de búsqueda.
El comportamiento que describen la variación de parámetros en ACS es particular-
mente distinto en el caso de la tasa de evaporación. La figura3.31muestra el resultado
de la variación de la función de calidadCp con respecto a la modificación de este pará-
metro en sistemas DVE de tipo SMALL. Esta figura muestra que con independencia del
tipo de distribución de avatares en la escena los valores de la función de evaluaciónCp
descienden mientras no se alcancen tasas de evaporación superiores a un valor máximo.
A medida se supera este valor (cercano al 1.25 %), la calidad de las soluciones obtenidas
por ACS empieza a descender.
La figura3.32muestra la relación existen entre los valores de calidad de las solucio-
nes de particionado (proporcionados por la funciónCp) y la tasa de evaporación de la
estrategia heurística ACS para sistemas DVE de tipo LARGE. Esta figura muestra como
aumenta la calidad de las soluciones de particionado (descenso de los valores obtenidos
porCp) según se incrementa la tasa de evaporación. El incremento de la calidad sufre un
98 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
Figura 3.30: Variación de la función de evaluaciónCp con respecto al tamaño de la
colonia en ACS. Experimentos realizados sobre sistemas DVE de tipo LARGE
Figura 3.31: Variación de la función de evaluaciónCp con respecto a la tasa de evapo-
ración en ACS. Experimentos realizados sobre sistemas DVE de tipo SMALL
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 99
punto de inflexión cuando la tasa de evaporación alcanza valores cercanos al 1.00 % en
distribuciones uniformes y a 1.25 % en distribuciones sesgadas y agrupadas. A diferencia
de los efectos de la variación del número de iteraciones (figuras3.27y 3.28) o del tama-
ño de la población en ACS (figuras3.29y 3.30), si estos valores umbrales de la tasa de
evaporación se superan el mecanismo de particionado basado en esta estrategia evolutiva
empieza a reducir significativamente la calidad de las soluciones de particionado halladas.
Este comportamiento se produce debido a que una tasa de evaporación baja no permite
que ACS evite mínimos locales y por lo tanto, el dominio de su espacio de búsqueda que-
da significativamente limitado. Por el contrario, si esta tasa es una muy alta se consigue
llegar a anular el comportamiento cooperativo de la colonia. Este comportamiento coope-
rativo viene determinado por el mecanismo que incorpora ACS para reforzar el hallazgo
de soluciones con alta calidad. Este mecanismo, basado en el incremento de los niveles de
feromona, permite que inmediatamente después de que las mejores hormigas hayan en-
contrado las primeras soluciones se pueda influir en la decisión del resto de la colonia en
la siguiente iteración. Por lo tanto, un incremento excesivo en la tasa de evaporación anula
el único mecanismo de comunicación entre hormigas, y de forma paralela, la posibilidad
de realizar búsquedas guiadas en el dominio de soluciones del problema.
Figura 3.32: Variación de la función de evaluaciónCp con respecto a la tasa de evapo-
ración en ACS. Experimentos realizados sobre sistemas DVE de tipo LARGE
Finalmente, es necesario destacar que se ha obtenido el mejor comportamiento del
algoritmo mediante el uso de los siguientes coeficientesα = 1,0, β = 7,0 y Q = 1000.
100 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
Estos resultados coinciden con los valores obtenidos por otros autores en la solución de
diferentes problemas mediante ACS [21].
3.2.5. Evaluación de prestaciones
En esta sección, presentamos la evaluación de prestaciones de las diferentes estrate-
gias heurísticas descritas anteriormente. Las pruebas de estas implementaciones heurísti-
cas, así como la evaluación de sus resultados, han sido obtenidas a partir de la plataforma
de evaluación de sistemas DVE descrita en el capítulo anterior. Entre otras características,
esta plataforma incorpora las especificaciones de evaluación de sistemas DVE emplea-
das por Lui y Chan en sus experimentos [50, 49]. En este sentido, hemos comprobado
empíricamente el comportamiento de los métodos propuestos sobre dos configuraciones
distintas de sistemas DVE denominadas SMALL y LARGE. Tal y como se describe en el
capítulo anterior, los sistemas SMALL están compuestos por 13 avatares y 3 servidores,
mientras que los LARGE emplean 8 servidores para simular 2500 avatares. Dado que el
rendimiento de cada heurística depende significativamente de la localización de avatares
en el mundo virtual, se han evaluado tres patrones básicos de localización de avatares en
la escena. Estos patrones corresponden a distribuciones de avatares uniformes, sesgadas
y agrupadas.
Con el objetivo de evaluar el comportamiento de cada una de las técnicas heurísticas
presentadas hemos tenido en cuenta dos parámetros fundamentales. Estos son, la calidad
de las soluciones halladas (en términos de la función de evaluaciónCp) y el tiempo de
ejecución necesario para obtenerlas.
A efectos de comparación, hemos incluido en los resultados mostrados a continuación
una doble implementación de las estrategias metaheurísticas basadas en algoritmos gené-
ticos. Así, la técnica denominada AG-B implementa las ideas básicas de generación de
la población inicial y cruce de cromosomas descritas en la sección3.2.4. Por el contra-
rio, la técnica genética AG-M incorpora las mejoras en el diseño genético descritas en la
sección3.2.4. Estas mejoras se basan en la generación de una población inicial con alta
diversidad estructural y un nuevo mecanismo de cruce adaptado a las especificaciones del
problema. A su vez, las comparativas incluyen también los resultados obtenidos a partir
de la implementación del método LOT. Este método ha sido probado sobre los mismos
formatos de sistemas DVE y tipos de distribuciones de avatares en la escena que el resto
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 101
de técnicas de particionado presentadas en este capítulo. Actualmente y según se describe
en la literatura de la materia, éste método es el que recoge los mejores resultados en el
particionado de sistemas DVE [49].
La tabla3.2 muestra los valores medios deCp y tiempo de ejecución de las dife-
rentes soluciones obtenidas por cada uno de los métodos heurísticos en sistemas de tipo
SMALL. Dado que el tamaño del espacio de soluciones en este tipo de sistemas DVE
no es excesivamente grande (313 = 1,594,323 soluciones distintas) hemos incluido los
resultados obtenidos por una técnica exhaustiva que recorre completamente el dominio
de soluciones. Aunque esta técnica es extremadamente lenta, ofrece una idea de la cali-
dad de las soluciones mostradas por el resto de técnicas de particionado. Cada una de las
implementaciones heurísticas ha sido ejecutada en 500 ocasiones en cada formato distin-
to de sistema DVE y para todas las posibles distribuciones de avatares en la escena. Los
resultados mostrados en la tabla corresponden a los valores medios obtenidos en esas 500
iteraciones. Estos resultados han sido obtenidos empleando equipos PC equipados con
procesadores Pentium IV a 1.7Ghz, 256 MB de RAM y tarjeta gráfica nVidia Geforce2
MX- 400.
Dist. Uniforme Dist. Sesgada Dist. Agrupada
Tiempo (s.) Cp Tiempo (s.) Cp Tiempo (s.) Cp
Exhaustivo 3.4110 6.54 3.8430 7.04 4.7830 7.91
LOT 0.0009 6.56 0.0010 8.41 0.0011 8.89
SA 0.0040 6.82 0.0050 7.46 0.0050 7.91
ACS 0.0007 6.59 0.0030 7.61 0.0024 8.76
AG-B 0.0020 6.54 0.0030 7.04 0.0050 7.91
AG-M 0.0030 6.54 0.0030 7.04 0.0060 7.91
GRASP 0.0002 7.42 0.0002 8.63 0.0003 11.88
Tabla 3.2: Resultados de particionado en sistemas DVE de tipo SMALL
Los resultados mostrados en la tabla3.2destacan que en distribuciones no uniformes
la mayoría de técnicas heurísticas obtienen soluciones de mejor calidad (en términos de
Cp) que las ofrecidas por LOT. Algunas de estas técnicas, como pueda ser el caso de SA,
AG-B o AG-M consiguen los mismos valores que los hallados mediante el procedimiento
exhaustivo y que corresponden al óptimo global del problema. Sólo GRASP obtiene, en
este tipo de sistemas DVE, soluciones peores que LOT aunque emplea para su cálculo
102 3.2. PROCEDIMIENTOS METAHEURÍSTICOS
mucho menos tiempo de ejecución. Si se analizan sólo los tiempos de ejecución consumi-
dos por cada técnica puede apreciarse que son algo mayores que los obtenidos por LOT.
Esta diferencia no es significativa, y prueba de ello es que debido a la extrema rapidez
de estos métodos, soluciones de particionado en mundos SMALL por debajo de los 10
ms. son clasificadas como excelentes en la literatura de la materia [50]. Por lo tanto, los
resultados no consiguen mostrar claramente para sistemas SMALL cual de las técnicas
heurísticas presentadas obtiene el mejor rendimiento del sistema. A pesar de ello, estos
resultados las validan como perfectas alternativas al método LOT en este tipo de sistemas
DVE.
Sin embargo, a la hora de diseñar un sistema DVE escalable, su mecanismo de parti-
cionado debe de continuar ofreciendo buenas prestaciones globales del sistema a medida
que aumenta el número de usuarios de éste. Esta propiedad (descrita con detalle en el
capítulo1) implica que el método de particionado debería de seguir manteniendo un buen
rendimiento del sistema especialmente en configuraciones de tipo LARGE. La tabla3.3
muestra una comparativa de la calidad, en términos deCp, y el tiempo de cálculo de solu-
ciones de particionado obtenidos por las técnicas heurísticas sobre sistemas DVE de este
tipo.
Dist. Uniforme Dist. Sesgada Dist. Agrupada
Tiempo (s.) Cp Tiempo (s.) Cp Tiempo (s.) Cp
LOT 30.939 1637.04 32.176 3460.52 43.314 5903.80
SA 6.350 1707.62 13.789 2628.46 29.620 4697.61
ACS 5.484 1674.08 14.050 2286.16 23.213 3736.69
AG-B 6.598 1832.21 14.593 2825.64 29.198 4905.93
AG-M 6.410 321.31 14.590 450.80 28.740 791.94
GRASP 6.622 1879.76 13.535 2883.84 26.704 5306.24
Tabla 3.3: Resultados de particionado en sistemas DVE de tipo LARGE
Los resultados mostrados en la tabla3.3indican que para sistemas DVE de tipo LAR-
GE la técnica GA-M obtiene los mejores valores de particionado del sistema. Esta mejora
absoluta de los valores de calidad se consigue con independencia del tipo de distribución
de avatares en la escena virtual. En el caso de distribuciones uniformes, el resto de heu-
rísticas consigue obtener soluciones de particionado de similar calidad que las obtenidas
por LOT pero empleando tiempos de ejecución sensiblemente inferiores. Para el caso de
distribuciones no uniformes el rendimiento es incluso más significativo ya que obtienen
CAPÍTULO 3. APLICACIÓN DE METAHEURÍSTICAS AL PROBLEMA DEL PARTICIONADO EN SISTEMAS DVE 103
soluciones con niveles deCp más bajos que LOT empleando para su cálculo menores
tiempos de ejecución.
Estos resultados muestran que los mecanismos de particionado empleados en los sis-
temas DVE red-servidor puede ser sensiblemente mejorados empleando cualquiera de las
técnicas heurísticas presentadas en este capítulo. En este sentido, estas técnicas permiten
incrementar la escalabilidad de cualquier sistema DVE mejorando las prestaciones de és-
te. En particular, los resultados de la evaluación de prestaciones muestran que, a pesar de
dichas técnicas puedan considerarse como equivalentes en sistemas DVE de tipo SMA-
LL, la estrategia basada en algoritmos genéticos GA-M obtiene las mejores soluciones de
particionado en sistemas DVE de tipo LARGE.
3.3. CONCLUSIONES
En este capítulo hemos propuesto un estudio comparativo de las técnicas metaheurís-
ticas más importantes a la hora de abordar el problema del particionado en sistemas DVE.
Este problema es un aspecto clave en el diseño de estos sistemas ya que se encuentra
estrechamente relacionado con las prestaciones y la escalabilidad de los sistemas DVE.
Hemos evaluado diversas implementaciones de los paradigmas metaheurísticos más im-
portantes sobre la plataforma de evaluación de sistemas DVE descrita en el capítulo ante-
rior. Sobre esta misma plataforma y con los mismos patrones de prueba, hemos analizado
el comportamiento del algoritmo de particionado LOT. Actualmente, este algoritmo está
considerado como la técnica más eficiente en el particionado de sistemas DVE.
A partir de los resultados obtenidos en la evaluación de prestaciones podemos con-
cluir que, en términos generales, cualquiera de las heurísticas presentadas en este capítulo
puede emplearse como alternativa factible al método de particionado LOT en sistemas
SMALL. No obstante, un método de particionado debe de continuar manteniendo solu-
ciones con excelente calidad a medida que crece el número de usuarios. Por este motivo,
es muy relevante el comportamiento del mecanismo de particionado en sistemas de gran
tamaño como puedan ser los sistemas DVE de tipo LARGE.
En sistemas DVE de tipo LARGE, cualquiera de las técnicas heurísticas propuestas
obtiene mejores valores de la función de calidadCp que la técnica LOT, empleando ade-
104 3.3. CONCLUSIONES
más menores tiempos de cálculo. En particular el método AG-M, basado en algoritmos
genéticos, destaca sobre el resto de heurísticas debido a la alta calidad de las soluciones
de particionado que éste consigue. Podemos entonces concluir que los resultados validan
a la estrategia AG-M como la mejor heurística para resolver el problema del particionado
en sistemas DVE.
CAPÍTULO 4
CARACTERIZACIÓN DE SISTEMAS DVE
El problema del particionado es uno de los aspectos mas críticos en el diseño de sis-
temas DVE basados en arquitecturas red-servidor. La asignación eficiente de los avatares
a los servidores del sistema tiene efectos significativos en la escalabilidad y en las pres-
taciones del sistema DVE. A pesar de que la literatura de la materia aborda el problema
del particionado empleando diferentes estrategias [6, 12, 49, 80, 60], todas ellas asumen
un comportamiento lineal del servidor con respecto a dos factores: el equilibrio de la car-
ga computacional generada por los avatares (modelada como un valor estático a lo largo
de la simulación) y el tráfico de mensajes inter-servidor. La técnica considerada hasta el
momento [49], así como la que obtiene las mejores prestaciones [57], operan sobre la
función de calidad descrita en el capítulo3. Sin embargo, no existe ningún trabajo que
correlacione esta función de evaluación con las prestaciones en un sistema DVE real.
En este capítulo estudiamos la caracterización de la carga generada por los avatares
al servidor donde en cada instante de la simulación se encuentran asignados [64]. Ade-
más, estudiamos la correlación de la función de calidad descrita en el capítulo3 con las
prestaciones reales de un sistema DVE [65].
4.1. CARACTERIZACIÓN DE LA CARGA
La literatura de la materia describe diferentes técnicas para tratar el problema del
particionado en sistemas DVE basados en arquitecturas red-servidor [6, 12, 49, 80]. Todas
las propuestas modelan la carga que genera un avatar al servidor donde está asignado
mediante un valor fijo. Básicamente, este valor suele ser un número entero no nulo y
106 4.1. CARACTERIZACIÓN DE LA CARGA
menor o igual que cinco que se asocia aleatoriamente a cada avatar en el instante inicial
de comienzo de la simulación. Con independencia de que los avatares puedan asignarse
arbitrariamente a cada servidor [6, 80], o en subconjuntos de ellos (celdas) [12, 49], el
valor de carga soportada en un instante dado durante la simulación por cada servidor
se obtiene como la suma de los valores enteros de carga generados por los avatares del
sistema DVE asignados a ese servidor. Durante todo el tiempo de simulación, cada uno
de los avatares del sistema DVE mantiene este valor de carga de forma estática y con
independencia de cualquier otro parámetro del sistema.
Dado que nuestra plataforma de evaluación de sistemas DVE, descrita en el capítulo2,
permite modelar y simular cualquier tipo de sistema DVE, hemos medido y monitorizado
como se comportan los avatares dentro de un sistema. En este sentido, ha sido signifi-
cativamente frecuente que un sistema DVE genere medidas de rendimiento del sistema
considerablemente distintas para sucesivas simulaciones del mismo esquema de particio-
nado. En concreto, es habitual obtener diferentes latencias y tasas de utilización de CPU
sobre un mismo servidor del sistema aunque éste simule reiterativamente el mismo con-
junto de avatares con el mismo esquema de particionado. Estos resultados no coinciden a
priori con el comportamiento estático descrito en la literatura de la materia. Por lo tanto,
a la hora de evaluar las prestaciones de un sistema DVE de una forma más precisa es ne-
cesario realizar una nueva caracterización del comportamiento de los avatares dentro de
un sistema DVE.
En esta sección presentamos un modelo empírico que describe el nivel de carga que
genera un avatar al servidor donde está asignado [64]. Los resultados experimentales ob-
tenidos muestran que esta carga ha de representarse mediante una función variable que
relaciona la carga generada con la velocidad de movimiento del avatar y con el número
de avatares que le rodean. Este nuevo modelo más preciso de representación del com-
portamiento de los avatares va a permitir el desarrollo de estrategias de particionado más
eficientes, cuya implementación permitirá el incremento de las prestaciones globales del
sistema DVE.
4.1.1. Un nuevo modelo para la carga de los avatares
La plataforma de evaluación de prestaciones presentada en el capítulo2 ha permiti-
do el diseño y la experimentación de numerosos tipos de sistemas DVE. Estos sistemas
CAPÍTULO 4. CARACTERIZACIÓN DE SISTEMAS DVE 107
DVE han sido sido recreados con una gran multitud de configuraciones posibles. En estas
configuraciones se han podido monitorizar una cantidad de resultados ciertamente sor-
prendentes.
Tal y como se comenta anteriormente, hemos empleado una partición eficiente cual-
quiera del sistema [49, 60] para monitorizar el comportamiento de todos los servidores
del sistema DVE. Durante toda la simulación y para cada servidor controlamos su por-
centaje de utilización de CPU, así como el tiempo de respuesta medio de los avatares que
tiene asignado. A diferencia del modelo comportamental de carga de avatares descrito en
la literatura de la materia [6, 12, 49, 80], los valores de estos parámetros no permanecen
constantes en las diferentes simulaciones de la misma partición del mundo virtual sobre
el mismo sistema DVE.
Dado que los resultados obtenidos en estas pruebas previas no corresponden a un mo-
delo estático de carga, proponemos una nueva caracterización de la carga que aporta un
avatar al servidor donde está asignado. Esta caracterización se fundamenta en la corre-
lación de las medidas de las prestaciones del sistema con dos fenómenos destacables en
el comportamiento de los avatares en un sistema DVE: En primer lugar, ladistribución
espacial de los avataresen la escena virtual va a condicionar la carga generada por éstos
al servidor al cual están asignados. Cuando un subconjunto deM avatares del sistema
DVE (de losN existentes) son asignados a un servidorSi, el impacto creado por estosM
avatares en el servidorSi (en términos del porcentaje de utilización de su CPU) crece a
medida que la distancia euclídea existente en el mundo virtual entre los avatares disminu-
ye. Tal y como se describe en el capítulo1, este comportamiento es propio de los sistemas
DVE basados en arquitecturas red-servidor. En estos sistemas, cuando un servidorSi re-
cibe desde alguno de sus avataresAj un cambio en su localización o estado, entonces
el servidorSi ha de propagar esta información al resto de avatares del sistema DVE en
cuya AOI aparezca el avatarAj. La propagación de esta información requiere un cierto
tiempo de CPU y es realizada a través de los mecanismos de gestión de áreas de interés
(descritos en la sección1.1.5) que incorporan estos sistemas DVE. Por lo tanto, a medida
que losM avatares tienden a agruparse en la escena, sus AOI empezarán a intersectar.
Este fenómeno provocará que el servidorSi necesite invertir más tiempo para resolver las
propagaciones de losM clientes ya que el número de avatares receptores de cada una de
ellas se habrá incrementado. Por ello, hemos definido un nuevo parámetro denominado
factor de presencia. El factor de presencia de un avatarAj es el número de avatares en
cuya AOI el avatarAj aparece.
108 4.1. CARACTERIZACIÓN DE LA CARGA
En segundo lugar, el otro parámetro que influye significativamente en la carga genera-
da consiste en latasa de movimiento de los avatares. Este parámetro indica la frecuencia
media (o periodo medido en segundos) con la que un avatar del sistema realiza cambios en
su posición o estado. Dado el gasto computacional que requiere la propagación de mensa-
jes, si un subconjunto deM avatares decide incrementar su tasa de movimientos, entonces
el número de peticiones a resolver por unidad de tiempo se verá también incrementado.
Para evaluar la incidencia de dichos factores en las prestaciones del sistema, propone-
mos la caracterización de los avatares de un sistema DVE genérico basado en arquitectura
red-servidor mediante simulación [64]. Utilizando la plataforma de sistemas DVE des-
crita en el capítulo2, cada una de las simulaciones va a simular un sistema DVE real
formado porN avatares yS servidores. EstosN avatares van a realizar 100 movimien-
tos a lo largo de la escena virtual a razón de un movimiento por cada 2 segundos. Tal y
como se describe en la sección2.2sobre el modelo de comunicaciones implementado en
la herramienta RealDvT, cada vez que un avatar del sistema DVE realiza un movimiento
a lo largo de la escena notifica su cambio de posición al servidor donde está asignado.
Este modelo permite que mediante su sistema de paso de mensajes RealDvT obtenga los
“tiempos de ida y vuelta” de todos los servidores que forman la simulación. Como ya se
ha comentado, este valor se denomina ASR (del inglés “Average System Response”) y es
el servidor coordinador [26] o gestor [44] de RealDvT el encargado de obtener su valor
medio para toda la simulación cuando ésta finaliza.
Si se desea diseñar de forma precisa sistemas DVE escalables entonces se ha de garan-
tizar que el ASR medio del sistema sea lo más bajo posible a medida que se incrementen
el número de usuarios del sistema DVE. Además, para un número fijo de usuarios en el
sistema es una tarea compleja dotar al DVE de bajos niveles de ASR si los avatares em-
piezan a incrementar sus tasas de movimiento. Este mismo problema ocurre cuando los
avatares empiezan a localizarse en la escena siguiendo distribuciones no uniformes. El
modelo propuesto tiene en cuenta ambos problemas y define la carga generada por los
avatares en función de ambos parámetros.
4.1.2. Evaluación de prestaciones
Para llevar a cabo esta caracterización hemos evaluado el porcentaje de utilización
medio de CPU y el ASR medio de forma independiente en cada servidor. Estas medidas
CAPÍTULO 4. CARACTERIZACIÓN DE SISTEMAS DVE 109
de las prestaciones del sistema van a mostrar el impacto de la carga de cada avatar en los
servidores donde se asignen.
En la realización de los experimentos mostrados a continuación se han recreado dife-
rentes tipos de sistemas DVE empleando para ello la infraestructura de los laboratorios
del Departamento de Informática de la Universidad de Valencia. Estos laboratorios dispo-
nen de computadores PC equipados con procesadores Pentium IV a 1.7Ghz, 256 MB de
RAM, tarjeta gráfica nVidia Geforce2 MX- 400 y sistema operativo Windows 2000 Pro-
fessional. Este mismo laboratorio dispone de una red Ethernet a 10 Mpbs. para conectar
todos sus equipos.
La simulación real de los sistemas DVE genéricos se ha realizado utilizando la pla-
taforma de evaluación de sistemas descrita en el capítulo2. Empleando la configuración
básica de esta plataforma, hemos empleado una escena virtual de 200x200 unidades en la
que hemos simulado poblaciones de avatares con AOI esféricas de tamaño variable. Dado
que el AOI de los avatares describe la zonas de visibilidad de cada uno de los clientes
en la escena virtual, la variación de su tamaño permite modificar el factor de presencia
medio de la población. En este sentido, a medida que disminuye el radio de las esferas
de influencia de los avatares de un sistema DVE también se reduce el número de avatares
que cada avatar está visualizando en un momento dado. Por lo tanto (y con independencia
al tipo de distribución de avatares en la escena), también se reducen el factor de presencia
de los avatares de la población.
Con el objetivo de estudiar el comportamiento del sistema a medida que se incremen-
ta el tamaño de éste, en términos de número de clientes y de servidores, hemos simulado
tres diferentes tipos de sistemas DVE empleando la configuración de la escena descrita
anteriormente. Estos sistemas están formados por 180, 500 y 900 avatares que han sido
simulados empleando 3, 5 y 6 servidores respectivamente. Aunque en principio la asig-
nación de la población de avatares en los diferentes servidores del sistema DVE puede
realizarse con cualquiera de las estrategias de particionado propuestas en el capítulo3,
hemos empleado la estrategia AG-M (basada en algoritmos genéticos [62]) debido a sus
buenos resultados en términos de equilibrio de cargas y tráfico inter-servidor. Dado que
con el hardware disponible la herramienta de simulación es capaz de alojar 50 clientes
por computador, fueron necesarios solamente 24 equipos para recrear la mayor de las
simulaciones (18 equipos para clientes y 6 para servidores). Para los diferentes DVE he-
mos simulado poblaciones de avatares en la escena siguiendo patrones de localización
110 4.1. CARACTERIZACIÓN DE LA CARGA
uniformes, sesgados y agrupados.
La figura4.1muestra los resultados de la variación de las prestaciones del sistema con
respecto a la tasa de movimiento de los avatares para sistemas DVE compuestos por 180
avatares y 3 servidores. Estos valores medios de ASR y porcentaje de utilización de CPU
han sido obtenidos tras 30 simulaciones de 10 sistemas DVE distintos. En cada uno de
ellos se ha obtenido la respuesta del sistema para cada una de las tres distribuciones de
avatares en la escena propuestas anteriormente. Las desviaciones típicas obtenidas para
este tipo de sistemas DVE han sido menores de 30 ms. en el caso del ASR medio y del 4 %
para la tasa media de uso de CPU de los servidores del sistema. Los resultados mostrados
en esta figura indican que, tanto el ASR medio del sistema como los valores medios del
porcentaje de utilización de la CPU de los servidores del sistema DVE varían linealmente
con el incremento de la tasa de movimiento de los avatares en esta configuración del
sistema. En ambas figuras se puede observar que este comportamiento se produce con
independencia del tipo de distribución de avatares probada.
Figura 4.1: Variación de las prestaciones del sistema con respecto a la tasa de movimiento
en sistemas DVE compuestos por 180 avatares y 3 servidores
En el caso de la figura4.2 hemos evaluado las prestaciones de los sistemas DVE en
configuraciones compuestas por 500 avatares y 5 servidores. Comparada con los resulta-
dos anteriores, esta configuración del sistema implica un incremento de casi un 70 % en
el número de avatares asignados por servidor en el caso de que los servidores del sistema
DVE se encuentren perfectamente balanceados. Además, a pesar de que la variación de la
tasa de movimiento de los avatares del sistema DVE produce inicialmente un incremento
constante del porcentaje medio de uso de CPU en los servidores del sistema, todas las
distribuciones evaluadas en este tipo de sistemas DVE alcanzan la tasa máxima del 100 %
CAPÍTULO 4. CARACTERIZACIÓN DE SISTEMAS DVE 111
de uso de CPU. La aparición de este límite impone un comportamiento no lineal de este
tipo de sistemas. Coincidiendo también con los resultados mostrados en la figura4.1pa-
ra sistemas DVE compuestos por 180 avatares y 3 servidores también se cumple que las
distribuciones de avatares sesgadas y agrupadas generan un mayor porcentaje medio de
utilización de CPU en los servidores del sistema DVE que la distribución uniforme. Esta
característica es debida a la alta concentración de avatares en la escena que se produce
en el caso de las distribuciones no uniformes de avatares. Dado que en este tipo de sis-
temas cada cambio de posición de los avatares de la escena ha de ser comunicado a sus
avatares vecinos, esta alta concentración implica que el esfuerzo computacional requerido
para tratar cada uno de los mensajes enviados sea mayor en distribuciones no uniformes.
De entre las dos distribuciones no uniformes, y siguiendo la definición de los patrones
de avatares descritos en la sección2.3.2, es la distribución agrupada la que genera mayor
concentración. Por lo tanto, tal y como muestra la figura4.2, es la distribución agrupada
la que genera un mayor porcentaje de utilización de CPU para cada una de las distintas
tasas de movimiento de los avatares. A diferencia del caso anterior, el valor medio del
ASR de los avatares del sistema deja de tener un comportamiento lineal para pasar a ser
exponencial a medida que el porcentaje de utilización de la CPU de los servidores del
sistema alcanza valores cercanos al 100 % de uso. Las desviaciones típicas obtenidas para
este tipo de sistemas DVE han sido menores de 40 ms. en el caso del ASR medio y del
5 % para el porcentaje medio de utilización de CPU de los servidores del sistema.
Figura 4.2: Variación de las prestaciones del sistema con respecto a la tasa de movimiento
en sistemas DVE compuestos por 500 avatares y 5 servidores
Este comportamiento exponencial del ASR, inapreciable en los resultados de los sis-
temas mostrados en la figura4.1 debido a su baja proporción de avatares por servidor,
se distingue claramente en la figura4.3. Esta figura muestra la variación de los valores
112 4.1. CARACTERIZACIÓN DE LA CARGA
medios del porcentaje de utilización de CPU de los servidores y del ASR de los avatares
a medida que se incrementa la tasa de movimiento de éstos en sistemas DVE formados
por 900 avatares y 6 servidores. Las desviaciones típicas obtenidas para este último tipo
de sistema DVE han sido menores de 45 ms. en el caso del ASR medio y del 6 % para
el porcentaje medio de utilización de CPU de los servidores del sistema. Una vez más, el
porcentaje medio de utilización de CPU de los servidores del sistema DVE se incrementa
linealmente (hasta su valor máximo de 100 %) a medida que se reduce el periodo en que
los avatares cambian su posición. Tal y como ocurría en los experimentos anteriores, este
incremento es mayor en distribuciones no uniformes de avatares en la escena donde su
mayor volumen de actualizaciones hace crecer significativamente la carga necesaria para
llevarlas a cabo.
Figura 4.3: Variación de las prestaciones del sistema con respecto a la tasa de movimiento
en sistemas DVE compuestos por 900 avatares y 6 servidores
Por lo tanto, los resultados mostrados en la figuras4.1, 4.2 y 4.3 confirman la corre-
lación de la tasa de movimiento de los avatares en la escena con las prestaciones de los
sistemas DVE.
Para evaluar la relación existente entre estas prestaciones del sistema DVE y la den-
sidad de avatares en la escena virtual, hemos realizado un estudio similar al anterior. En
este caso hemos analizado la dependencia existente las prestaciones del sistema y el fac-
tor de presencia de los avatares del sistema DVE. Al igual que en el caso anterior, este
estudio se ha realizado para diferentes tamaños de sistemas DVE. En cada una de ellas se
han obtenido las prestaciones del sistema empleando distribuciones uniformes, sesgadas y
agrupadas de avatares en la escena. Los resultados mostrados a continuación representan
también valores medidos obtenidos tras realizar 30 simulaciones para 10 configuraciones
CAPÍTULO 4. CARACTERIZACIÓN DE SISTEMAS DVE 113
distintas de cada una de las tres distribuciones de avatares probadas en cada sistema DVE.
Con el objetivo de verificar el impacto del factor de presencia en las prestaciones del sis-
tema se ha mantenido un periodo constante de actualización de la posición de los avatares
igual a 2 s.
La figura4.4muestra los valores medios de la respuesta del sistema ASR y el porcen-
taje medio de utilización de CPU de los servidores para sistemas DVE compuestos por
180 avatares y 3 servidores. En esta ocasión las desviaciones típicas obtenidas para este
tipo de sistemas DVE han sido menores de 35 ms. en el caso del ASR medio y del 5 %
para el porcentaje medio de utilización de CPU de los servidores del sistema. A pesar de
que se ha variado significativamente el factor de presencia de los avatares que componen
este tipo de sistemas DVE, los resultados obtenidos muestran un funcionamiento del sis-
tema bastante por debajo de su productividad máxima (el porcentaje de utilización media
de CPU no supera en ningún caso el 70 %). En este sentido y de forma independiente a
distribución de avatares en la escena, el incremento del factor de presencia de los avatares
que componen la población (modificada a través de la reducción del radio de su AOI) se
traduce en un ascenso lineal, tanto de la respuesta media del sistema, como del porcentaje
de uso de los servidores del sistema DVE.
Figura 4.4: Variación de las prestaciones del sistema con respecto al factor de presencia
en sistemas DVE compuestos por 180 avatares y 3 servidores
Al igual que ocurría con la variación de la tasa de movimiento de los avatares, este
comportamiento lineal del ASR desaparece cuando la carga del sistema empieza a ser
importante. A diferencia del caso anterior, las prestaciones obtenidas por las diferentes
distribuciones de avatares en la escena son bastante similares. La razón de este com-
portamiento se basa en que si se mantiene constante el factor de presencia y la tasa de
114 4.1. CARACTERIZACIÓN DE LA CARGA
movimiento en toda la población, el número de mensajes que genera un avatar en cada
cambio de posición es bastante homogéneo. Este número de mensajes genera cargas muy
similares por cada avatar y por lo tanto, las prestaciones finales son bastante semejantes.
La figura4.5 muestra los resultados de las prestaciones medias obtenidas para sistemas
DVE compuestos por 500 avatares y 5 servidores. Las desviaciones típicas obtenidas en
los resultados mostrados en esta figura han sido menores de 55 ms. en el caso del ASR
medio y del 7 % para el porcentaje medio de utilización de CPU de los servidores del
sistema. A pesar de que en esta ocasión el incremento del porcentaje de utilización de
CPU es lineal con respecto al factor de presencia de los avatares (e inferior al 100 %), el
ASR medio del sistema DVE muestra un comportamiento exponencial. La aparición de
este comportamiento se produce debido al tipo de funcionamiento que realiza el gestor
de AOI (descrito en la sección1.1.5de la tesis) en los sistemas DVE basados en arqui-
tecturas red-servidor. Este gestor (incluido en cada servidor) tiene como función replicar
los mensajes enviados por cada avatar a todos los clientes en cuya AOI el avatar emisor
aparece. Por lo tanto, si todos los avatares asignados a un servidor del sistema incremen-
tan su factor de presencia, el número de mensajes recibidos en el servidor por unidad
de tiempo crece exponencialmente. A pesar de que en este experimento sólo se alcancen
porcentajes de utilización máxima de CPU del 100 % cuando el factor de presencia llega
a valores extremos de 14 unidades, el incremento del tamaño de las colas de recepción en
los sockets de los servidores del sistema hace que (con tasa de servicio fija y máxima) el
tiempo de espera de los mensajes enviados por los servidores crezca exponencialmente.
Aunque para valores pequeños del factor de presencia la latencia del sistema tiene un fal-
so comportamiento lineal, el crecimiento exponencial descrito del tiempo de espera de los
mensajes incrementa significativamente el ASR medio del sistema para valores del factor
de presencia superiores a 8 unidades. A medida que se incrementa el tamaño del sistema
este comportamiento se mantiene.
La figura4.6 muestra los resultados medios del ASR y del porcentaje de utilización
de la CPU de los servidores del sistema a medida que se hace variar el factor de presencia
de los avatares en sistemas DVE compuestos por 6 servidores y 900 avatares. En esta oca-
sión las desviaciones típicas obtenidas para este tipo de sistemas DVE han sido inferiores
a 50 ms. en el caso del ASR medio y del 6 % para el porcentaje medio de utilización de
la CPU de los servidores del sistema. Una vez más, el incremento del factor de presencia
de la población repercute en un ascenso lineal de la tasa de CPU media de los servidores
del sistema. Dado que el número de avatares por servidor en equilibrio perfecto se ha in-
crementado considerablemente con respecto al caso anterior, el volumen de mensajes (y
CAPÍTULO 4. CARACTERIZACIÓN DE SISTEMAS DVE 115
Figura 4.5: Variación de las prestaciones del sistema con respecto al factor de presencia
en sistemas DVE compuestos por 500 avatares y 5 servidores
por lo tanto, la carga soportada por cada uno de ellos) también se ha visto incrementada
significativamente. Si se superan valores medios del factor de presencia por encima de 10
unidades todos los servidores del sistema DVE se encuentran al 100 % de su capacidad
máxima de trabajo. Coincidiendo con los resultados mostrados en experimentos anterio-
res, la respuesta media del sistema ASR crece exponencialmente a medida que lo hace el
factor de presencia de los avatares de la población. Este comportamiento se produce por el
incremento masivo del número de mensajes recibidos en cada servidor. Este incremento
hace crecer el tamaño de las colas de recepción de los servidores y por lo tanto, el tiempo
de espera medio de los mensajes del sistema. Debido al alto volumen medio de carga so-
portada en este experimento, este comportamiento se aprecia desde valores pequeños de
factor de presencia para cualquier tipo de distribución de avatares.
4.1.3. Conclusiones
En esta sección hemos propuesto un nuevo modelo que caracteriza la carga genera-
da por un avatar al servidor donde está asignado. Esta caracterización está basada en un
estudio de los efectos de la tasa de movimiento de los avatares y la concentración del
número de vecinos de éstos (factor de presencia). Con el objetivo de evaluar los efectos
de estos parámetros hemos elegido la respuesta media del sistema o ASR y el porcentaje
de utilización de CPU como las medidas principales de las prestaciones del sistema. Esta
evaluación de las prestaciones se ha realizado para diferentes tamaños de sistemas DVE,
116 4.2. CARACTERIZACIÓN DEL COMPORTAMIENTO DE LOS SERVIDORES EN SISTEMAS DVE
Figura 4.6: Variación de las prestaciones del sistema con respecto al factor de presencia
en sistemas DVE compuestos por 900 avatares y 6 servidores
en términos de número de avatares y número de servidores, así como para los tres dife-
rentes tipos de distribuciones de avatares en la escena descritos en la sección2.3.2de esta
tesis.
Los resultados de la evaluación de prestaciones del sistema obtenidos a partir de los
experimentos realizados muestran una buena correlación de la carga generada por los
avatares asignados a cada servidor con la tasa de movimiento de los avatares y el factor
de presencia de éstos. Por lo tanto, podemos concluir que para diseñar sistemas realmente
escalables los mecanismos de particionado del sistema DVE han de tener en cuenta la
contribución dinámica de la carga que generan los avatares. Justo antes de que el algoritmo
de particionado sea ejecutado, el sistema DVE ha de estimar para cada partición la carga
soportada por cada uno de los servidores del sistema. Esta estimación será obtenida a
partir de la tasas de movimiento y el factor de presencia de los avatares a asignar en cada
servidor.
4.2. CARACTERIZACIÓN DEL COMPORTAMIENTO DE LOS SER-
VIDORES EN SISTEMAS DVE
El modelo matemático propuesto por Lui y Chan se ha convertido en el formalismo
más común para caracterizar el problema del particionado en sistemas DVE [50, 49]. Este
modelo, ampliamente descrito en la sección3.1.1, estima numéricamente la eficiencia de
CAPÍTULO 4. CARACTERIZACIÓN DE SISTEMAS DVE 117
toda posible partición del sistema a partir de la definición de una función de evaluación.
Esta función, denominadaCp, valora de forma ponderada dos características básicas de
cualquier solución de particionado: el equilibrio de cargas entre los servidores del sistema
y la minimización del número de mensajes inter-servidor (véase ecuación3.4).
Aunque el resto de contribuciones más importantes en este área [6, 80] no emplean
directamente esta función de evaluación, el modelo que subyace debajo de sus estrategias
de particionado opera con los mismos parámetros (equilibrio de cargas y mensajes inter-
servidor) que los valorados por la funciónCp.
A pesar de la importancia del método, la literatura de la materia no recoge ni la corre-
lación entre la función de calidadCp y el rendimiento de los sistemas DVE, ni tampoco
un mecanismo general para la parametrización de los factoresW1 y W2 de la ecuación
anterior (ecuación3.4).
Una vez modelada la carga que generan los avatares en la sección anterior, propone-
mos en esta sección la correlación de la función de evaluación propuesta en el modelo
de Lui y Chan con las prestaciones de los sistemas DVE. Dado que los resultados mues-
tran una ausencia total de correlación entre ambos factores, proponemos a su vez una
caracterización empírica de estos sistemas [65].
Para llevar a cabo esta correlación hemos realizado una simulación real de los siste-
mas DVE genéricos empleando la plataforma de evaluación de sistemas detallada en el
capítulo2. De forma análoga a los experimentos descritos en la sección anterior, hemos
probado diferentes tipos de configuraciones de sistemas DVE con escenas virtuales de
200x200 unidades. Sobre estas escenas, conseguimos mediante el empleo de 24 compu-
tadores simular hasta 900 avatares. Estos avatares se caracterizan por emplear una AOI
esférica con radio de tamaño fijo durante toda la simulación e igual a 15 unidades. Aunque
se han probado numerosas configuraciones distintas en el diseño de las simulaciones (con
resultados muy parecidos), los experimentos mostrados a continuación muestran las pres-
taciones del sistema DVE cuando los avatares realizan 100 desplazamientos uniformes
sobre la escena virtual. Estos desplazamientos se realizan cada 2 segundos comenzando a
partir de la entrada del avatar correspondiente en el sistema DVE.
118 4.2. CARACTERIZACIÓN DEL COMPORTAMIENTO DE LOS SERVIDORES EN SISTEMAS DVE
4.2.1. Resultados de la correlación y caracterización de los sistemas
DVE
Dado que el primer objetivo del estudio se basa en la correlación de la función de
evaluaciónCp, vamos a analizar el impacto de un amplio rango de soluciones de parti-
cionado en las prestaciones de un sistema tipo. La figura4.7muestra la relación existente
entre los valores obtenidos por la función de evaluaciónCp de la partición actual con la
latencia media obtenida en el sistema. Esta relación ha sido establecida para tres sistemas
DVE tipo distintos. Estos sistemas están compuestos por 180, 500 y 900 avatares que han
sido simulados respectivamente mediante 3, 5 y 6 servidores. Tal y como describimos en
el capítulo2 de la tesis, proponemos la medida de la latencia media de un sistema DVE
cualquiera basado en arquitecturas red-servidor a partir de los valores del tiempo de ida y
vuelta o ASR de los mensaje enviados por los avatares del sistema. La figura4.7muestra
en el eje X los valores de la función de calidadCp para cada una de diferentes particiones
probadas. En el eje Y se representan los valores del ASR medio obtenidos experimental-
mente en el sistema tipo. Cada punto representa el valor medio de ASR tras la realización
de 30 simulaciones de la misma partición del sistema. La desviación estándar de las me-
didas recogidas durante las 30 simulaciones no superó en ningún caso valores por encima
de los 35 ms.
Cabe destacar que en esta configuración se consiguió una partición con un valor de
Cp perfecto, es decirCp=0. Esta característica se consigue cuando (teóricamente) la carga
está perfectamente balanceada entre todos los servidores del sistema DVE y existe una
ausencia absoluta de mensajes inter-servidor.
La figura4.7muestra claramente que la función de calidadCp no correlaciona con la
latencia del sistema. El valor de ASR se mantiene constante, o incluso decrece, a medida
que se incrementa significativamente los valores deCp de las particiones probadas. Es
decir, conforme las particiones evaluadas son de peor calidad según la función de evalua-
ción Cp. Así por ejemplo, cualquier partición con valores deCp comprendidos entre 400
y 700 unidades obtiene incluso peores niveles de ASR que la partición del mundo conCp
igual a 800 unidades. Según el modelo de Lui y Chan, este valor deCp debería corres-
ponder a una de las peores soluciones de particionado posibles en esta configuración del
sistema. Dado que no existe ningún tipo de relación entre los valores de la funciónCp y el
ASR del sistema, es necesario un estudio que aborde la caracterización de estos sistemas
y explique esta ausencia absoluta de correlación.
CAPÍTULO 4. CARACTERIZACIÓN DE SISTEMAS DVE 119
Figura 4.7: Correlación de la función de calidadCp con la latencia media del sistema
medida como ASR
Con el objetivo de realizar un estudio riguroso y exhaustivo sobre la caracterización
los sistemas DVE, hemos realizado un análisis del comportamiento de estos sistemas
atendiendo a la variación de los parámetros de equilibrio de cargas y volumen de tráfico
de mensajes inter-servidor. Los resultados de este estudio se muestran de forma paralela
para sistemas DVE compuestos por 3 y 5 servidores. Básicamente, este estudio se basa en
la evaluación de la respuesta de ambos sistemas con respecto al incremento del número
de usuarios del sistema DVE. La obtención de resultados de las prestaciones del sistema
se ha realizado para unas determinadas configuraciones relevantes del sistema. Emplean-
do la nomenclatura definida por Lui y Chan para sistemas sistemas DVE [50, 51, 49], la
primera de estas configuraciones consta de una partición del sistema con valores deCWp
(equilibrio de cargas) yCLp (requisitos de comunicación inter-servidor) óptimos. Mante-
niendo estable este valor óptimo deCWp , la segunda de las configuraciones define una
partición perfectamente balanceada pero con valores máximos (alto tráfico inter-servidor)
de CLp . La tercera configuración define una partición del sistema DVE con un alto de-
sequilibrio de cargas (CWp máximo yCL
p mínimo). Finalmente, la cuarta configuración
define una partición conCWp y CL
p máximos.
La figura4.8 muestra los valores medios de la latencia del sistema, en términos de
120 4.2. CARACTERIZACIÓN DEL COMPORTAMIENTO DE LOS SERVIDORES EN SISTEMAS DVE
ASR, obtenidos en sistemas DVE compuestos por 3, 4 y 5 servidores a medida que se
incrementan el número de usuarios conectados simultáneamente. Estos valores han sido
obtenidos tras 25 simulaciones de cada población de avatares en los tres distintos formatos
de sistemas DVE. La población de avatares ha sido distribuida uniformemente a lo largo
de la escena virtual. La configuración de cada una de las 19 particiones que muestra este
experimento ha sido convenientemente elegida, de forma que, se ha logrado un equilibrio
perfecto de la carga en los servidores y una ausencia total del número de mensajes inter-
servidor. Con ello, se consigue en todas las soluciones de particionado un valor deCp
igual a 0 ya que se han reducido simultáneamente a un valor 0 los parámetrosCLp y CW
p .
Los resultados de esta gráfica muestran que los valores de ASR obtenidos no varían con el
número de avatares del sistema DVE hasta que el sistema alcanza un punto de saturación.
A partir de este punto (dependiente del número de servidores que componen en sistema
DVE), el ASR se incrementa significativamente cada vez que se añaden nuevos avatares
en el sistema. Este incremento exponencial del ASR se produce hasta que el sistema
sobrepasa el punto de saturación profunda, momento el que queda totalmente bloqueado.
Estos resultados claramente indican que el sistema DVE tiene un comportamiento no
lineal con el número de avatares. Dado que la funciónCp está definida como una función
lineal (ecuación3.4) entre el equilibrio de cargas y las comunicaciones inter-servidor, este
comportamiento no lineal puede explicar la ausencia de correlación mostrada en la figura
4.7.
Figura 4.8: Variación de la respuesta media ASR con respecto al incremento del número
de usuarios en un servidor
Con el objetivo de determinar cual es el motivo fundamental del comportamiento no
CAPÍTULO 4. CARACTERIZACIÓN DE SISTEMAS DVE 121
lineal de los sistemas DVE, hemos analizado por una parte los porcentajes de utilización
de CPU, y por otra parte, los valores medios de la latencia de los mensajes en cada servidor
(SR-Sx). Estas medidas han sido tomadas para cada uno de los servidores que componen
los sistemas DVE empleados en el experimento mostrado en la figura4.8. Estas medidas
se muestran en la tabla4.1 para el caso de un sistema DVE compuesto por 3 servidores.
La tablas4.2 y 4.3 muestran también estas medidas cuando se aumenta a 5 el número
de servidores del sistema. Dichas tablas muestran también el valor medio de las medidas
SR-Sx obtenidas en los servidores del sistema DVE. Esta medida media se denomina
ASR-M.
No. de avatares CPU1 CPU2 CPU3 SR-S1 SR-S2 SR-S3 ASR-M
350(116,117,117) 51 54 52 193.2 191.8 196.4 193.8
400(133,133,134) 67 69 71 249.3 245.6 247.4 247.2
450(150,150,150) 78 76 78 279.4 281.1 280.9 280.5
500(166,167,167) 96 99 100 545.7 892.5 1775.8 1138.0
550(183,183,184) 100 100 100 3021.4 2811.4 2982.1 2938.3
600(200,200,200) 100 100 100 4356.9 3645.2 3409.2 3803.8
650(216,217,217) 100 100 100 5320.6 5114.3 5112.2 5182.4
Tabla 4.1: Respuestas medias del sistema y porcentajes de utilización de CPU para las
simulaciones mostradas en la figura4.8en un sistema DVE compuesto por 3 servidores
La tabla4.1muestra que el sistema DVE de la figura4.8(compuesto por 3 servidores)
llega al punto de saturación cuandocualquierade los servidores del sistema alcanza un
porcentaje de utilización de CPU del 100 % (fila 3, columna 3). Mientras que esta tasa está
por debajo del 100 %, los valores medios de la latencia de los mensajes (SR-Sx) aumen-
tan linealmente en cada servidor (simulaciones de hasta 500 avatares). Por el contrario,
cuando el porcentaje de utilización de CPU llega al 100 % en alguno de los servidores la
respuesta media SR-Sx de ese servidor crece notablemente. Este crecimiento de cada uno
de los servidores saturados provoca un incremento del valor de latencias global del siste-
ma o ASR. Tal y como se describe también en la figura4.8, un comportamiento similar se
produce (aunque con otros valores umbrales) en las diferentes configuraciones estudiadas
(tablas4.2y 4.3).
Este comportamiento se puede apreciar en los resultados mostrados en las tablas4.2y
4.3para sistemas DVE compuestos por 5 servidores. Debido a que es necesario mostrar el
122 4.2. CARACTERIZACIÓN DEL COMPORTAMIENTO DE LOS SERVIDORES EN SISTEMAS DVE
funcionamiento global de todos los servidores que componen el sistema DVE, estas tablas
muestran para una misma partición del sistema el porcentaje de utilización de CPU de los
servidores (tabla4.2) y la latencia media de los mensajes (ASR) gestionados por cada
servidor (tabla4.3). Estas tablas muestran que a medida que la población de avatares dis-
tribuidos uniformemente por la escena crece, el ASR de los servidores del sistema DVE
se incrementa ligeramente. Esta característica solamente se cumple si todos los servidores
del sistema mantienen tasas de utilización de CPU por debajo del 100 %. En caso contra-
rio, la latencia media de los mensajes gestionados por el sistema DVE (columna ASR-M)
en términos de tiempos de ida y vuelta aumenta exponencialmente (tercera a quinta filas,
para 800 avatares o más).
No. de avatares CPU1 CPU2 CPU3 CPU4 CPU5
600(120,120,120,120,120) 51 54 52 53 51
700(140,140,140,140,140) 71 69 76 78 74
800(160,160,160,160,160) 100 98 95 100 100
900(180,180,180,180,180) 100 100 100 100 100
1000(200,200,200,200,200) 100 100 100 100 100
Tabla 4.2: Porcentajes de utilización de CPU para las simulaciones mostradas en la figu-
ra 4.8en un sistema DVE compuesto por 5 servidores
No. de avatares SR-S1 SR-S2 SR-S3 SR-S4 SR-S5 ASR-M
600(120,120,120,120,120) 206.16 199.5 204.9 227.1 190.6 205.7
700(140,140,140,140,140) 284.2 260.8 265.9 287.4 271.6 274.0
800(160,160,160,160,160) 965.5 998.5 1158.5 897.5 987.1 1001.4
900(180,180,180,180,180) 3158.2 3152.2 2857.5 3215.5 2958.2 3068.3
1000(200,200,200,200,200) 4095.1 4199.2 4201.2 4012.0 4193.2 4172.2
Tabla 4.3: Respuestas medias SR-Sx y ASR para las simulaciones mostradas en la figura
4.8en un sistema DVE compuesto por 5 servidores
Por lo tanto y a partir de los resultados mostrados en las tablas4.1, 4.2y 4.3podemos
concluir que el comportamiento no lineal de los sistemas DVE, mostrado en la figura4.8,
está provocado por la llegada al 100 % del porcentaje de utilización de CPU de cualquiera
de los servidores del sistema. Dado que la funciónCp (ecuación3.4) no tiene en cuenta
el porcentaje de utilización de CPU de los servidores del sistema para evaluar la calidad
de las soluciones de particionado, sus resultados nunca van a poder tener en cuenta este
CAPÍTULO 4. CARACTERIZACIÓN DE SISTEMAS DVE 123
comportamiento no lineal con respecto al número de avatares que caracteriza a los siste-
mas DVE. Esta característica inhabilita a la funciónCp [49] como mecanismo preciso en
la evaluación de soluciones de particionado para sistemas DVE.
Los resultados mostrados en la tablas4.1, 4.2 y 4.3 indican que aunque se consigan
soluciones de particionado perfectamente equilibradas y sin tráfico inter-servidor (como
las particiones conCp=0 de la figura4.8), los valores de ASR globales del sistema (ASR-
M) serán demasiado elevados si el número de avatares asignados a cualquier servidor le
hace superar un porcentaje de utilización de CPU del 99 % en alguno de ellos. Es decir, las
prestaciones obtenidas para las diferentes configuraciones probadas en un mismo sistema
DVE son independientes de los valores de calidadCp de las diferentes asignaciones de la
población de avatares a los servidores del sistema. Esta es la causa de los resultados de las
simulaciones mostradas en la figura4.7. Para comprobarlo, hemos medido el porcentaje
de utilización de CPU de los 3 servidores en el experimento cuyos resultados se mues-
tran en la figura4.7. La figura4.9 muestra en el eje Y los porcentajes de utilización de
CPU medidos en cada uno de los servidores empleados en ese experimento. Tal y como
se ha descrito anteriormente, dicho experimento evaluaba la respuesta ASR del sistema
DVE ante la variación de la funciónCp para una misma población del sistema. Esta varia-
ción se realizaba para una población de 180 avatares distribuidos entre los servidores del
sistema según se indica en la figura4.9 para cada una de las particiones evaluadas. Esta
distribución permitía obtener valores deCp comprendidos entre 0 y 800 unidades. Tal y
como podía apreciarse en la figura4.7, el sistema DVE mantiene constate los valores de
ASR durante toda la variación deCp debido a que solamente se alcanza el 90 % del por-
centaje utilización de CPU en el peor de los casos posibles. Por lo tanto, y debido a que
esta configuración aún no ha saturado a ninguno de los tres servidores, la respuesta ASR
del sistema se sitúa todavía en la zona plana de la variación del ASR mostrada en la figura
4.8durante toda la simulación, y hace que la latencia del sistema permanezca constante.
Dado que la figura4.8 muestra solamente el comportamiento del sistema DVE con
la mejor de las particiones posibles del sistema (equilibrio perfecto de cargas sin tráfico
inter-servidor), hemos procedido a estudiar el comportamiento del sistema DVE cuan-
do estas condiciones son alteradas. A pesar de que las tablas4.1, 4.2 y 4.3 muestran
el comportamiento para este caso (es decir,CWp = CL
p = 0 en términos de la función
Cp) proponemos una caracterización exhaustiva y sistemática del funcionamiento de los
sistemas DVE basados en arquitecturas red-servidor. Además del caso anterior, vamos a
estudiar el comportamiento del sistema para particiones con balanceo perfecto de cargas
124 4.2. CARACTERIZACIÓN DEL COMPORTAMIENTO DE LOS SERVIDORES EN SISTEMAS DVE
Figura 4.9: Representación de los porcentajes de utilización de CPU para los servidores
empleados en el experimento de la figura4.7
y tráfico inter-servidor máximo (CWp = 0 y CL
p = máximo), así como el estudio de la
incidencia en las prestaciones de aquellos sistemas con alto desequilibrio de cargas y, o
bien tráfico inter-servidor nulo (CWp = máximo yCL
p = 0), o bien tráfico inter-servidor
máximo (CWp = máximo yCL
p = máximo).
Tal y como se ha mostrado anteriormente este estudio contempla el análisis del com-
portamiento de sistemas DVE compuestos por 3 y 5 servidores. Empleando un hardware
convencional como el descrito en la evaluación de prestaciones realizada en la tesis (ver
capítulo2) estos sistemas pueden realizar perfectamente simulaciones compuestas por
hasta 750 avatares.
La tabla4.4muestra los resultados de la evaluación de prestaciones de sistemas DVE
compuestos por 3 servidores con equilibrio perfecto de cargas (CWp nulo) y coeficiente
CLp máximo. Maximizar este coeficiente corresponde a evaluar particiones del sistema
DVE en las que se maximiza el tráfico de mensajes inter-servidor a través de la red de
interconexión que les une [50]. Si se realiza un análisis comparativo línea a línea entre los
resultados mostrados en esta tabla y la tabla4.1, podemos apreciar que el incremento del
volumen de mensajes inter-servidor tiene una incidencia proporcionalmente negativa en
el ASR medio del sistema. Esta proporcionalidad se cumple siempre que el sistema DVE
se sitúe por debajo del punto de saturación. Esta diferencia del ASR global entre ambas
CAPÍTULO 4. CARACTERIZACIÓN DE SISTEMAS DVE 125
tablas permanece constante en las tres primeras líneas en torno a los 40 ms. (poblaciones
de 350, 400 y 450 avatares en el sistema DVE). Sin embargo, a medida que los servidores
se aproximan al punto de saturación, el incremento del volumen del tráfico inter-servidor
(provocado en los experimentos mostrados en la tabla4.4) provoca un aumento signifi-
cativo en las respuestas medias del sistema (en términos de SR-Sx y ASR-M) mostradas
en ambas tablas para las mismas poblaciones de avatares. Este comportamiento se debe
al incremento medio del tamaño de las colas de recepción producido cuando se maximiza
el tráfico inter-servidor de las simulaciones (tabla4.4). A medida que estas colas crecen,
el tiempo de espera medio de los mensajes en las colas de los servidores aumenta. Este
efecto se agrava si los porcentajes de utilización de CPU de los servidores se acercan al
100 % ya que la tasa de servicio de mensajes gestionados por los servidores disminuye.
Además de este comportamiento, la tabla4.4 muestra unos porcentajes de utilización de
CPU en cada uno de los servidores del sistema DVE más elevados que los mostrados por
el mismo sistema en la tabla4.1. El motivo de este incremento radica en el volumen de
mensajes gestionados por cada servidor del sistema DVE. Así, mientras que los servido-
res de un sistema donde se ha eliminado el tráfico inter-servidor (tabla4.1) sólo gestionan
la réplica de mensajes de los avatares que tienen actualmente asignados, en el caso de la
maximización de éste tráfico (tabla4.4) los servidores no sólo gestionan los mensajes de
sus avatares, sino que además, envían y reciben una gran cantidad de mensajes del resto
de servidores del sistema DVE. Dado que la gestión de cada mensaje requiere de un cierto
tiempo de tratamiento, el nuevo tráfico inter-servidor genera el incremento de los tiempos
de CPU mostrados en la tabla4.4.
No. de avatares CPU1 CPU2 CPU3 SR-S1 SR-S2 SR-S3 ASR-M
350(116,117,117) 61 64 65 221.4 214.6 217.8 218.0
400(133,133,134) 76 75 79 281.4 291.3 289.9 287.9
450(150,150,150) 80 82 83 350.1 333.7 342.4 342.1
500(166,167,167) 98 100 100 942.4 1792.5 1675.8 1470.3
550(183,183,184) 100 100 100 3674.6 3844.1 3364.2 3627.7
600(200,200,200) 100 100 100 4991.3 4565.7 4398.8 4652.0
650(216,217,217) 100 100 100 6541.3 6199.4 5853.4 6198.0
Tabla 4.4: Respuestas medias del sistema y porcentajes de utilización de CPU para simu-
laciones conCWp nulo yCL
p máximo en un sistema DVE compuesto por 3 servidores
Las tablas4.5 y 4.6 muestran la evaluación de prestaciones para el caso del sistema
126 4.2. CARACTERIZACIÓN DEL COMPORTAMIENTO DE LOS SERVIDORES EN SISTEMAS DVE
DVE compuesto por 5 servidores con carga perfectamente balanceada (CWp =0) y tráfico
inter-servidor (CLp ) máximo. Estas tablas muestran por una parte los porcentajes de uti-
lización media de las 5 CPUs durante los experimentos (tabla4.5) así como los valores
de latencias medias por servidor y sistema DVE, denominados SR-Sx y ASR respecti-
vamente (tabla4.6). Al igual que el resto de resultados mostrados en este capítulo, estos
experimentos constan de 30 simulaciones de la misma partición del sistema, de forma
que cada simulación está compuesta por 100 movimientos a lo largo de la escena virtual a
razón de un movimiento por cada 2 segundos. Si se comparan los resultados de las tablas
4.5y 4.6con los mostrados en las tablas4.2y 4.3(5 servidores conCWp = CL
p = 0) para el
caso de tráfico inter-servidor nulo puede apreciarse un ligero incremento en los porcenta-
jes de utilización de CPU de todos los servidores del sistema DVE. Este leve incremento
de los requisitos de cálculo, generado por las necesidades de propagar actualizaciones a
avatares alojados en servidores remotos (debido a la maximización del términoCLp en la
partición probada), tiene importantes efectos en el ASR del sistema DVE a medida que se
incrementan el número de usuarios en el sistema. En este sentido, si el número de usuarios
del sistema crece también lo hace el volumen de mensajes procesados por cada servidor
por unidad de tiempo. Dado que la tasa de servicio de cada servidor está limitada por la
velocidad de procesamiento de sus recursos hardware, si crece la cola de recepción de
mensajes en los servidor entonces el tiempo de espera de los mensajes aumenta. La ta-
bla 4.6muestra que este aumento generalizado del retraso de los mensajes (tanto en cada
servidor SR-Sx como en el promedio del sistema ASR-M) se mantiene ligeramente esta-
bilizado en torno a los 50 ms. mientras que ninguno los servidores llega al 100 % en su
porcentaje de utilización de CPU. En el momento que este fenómeno ocurre (tercera línea
de la tabla4.5), las diferencias en términos de retrasos absolutos de las latencias mostra-
das en la tabla4.6con los datos mostrados en la tabla4.3, donde se exponen los resultado
del sistema DVE de 5 servidores sin tráfico inter-servidor (CLp =0), crecen notablemente.
Estas diferencias se producen debido a que las CPU saturadas también se utilizan para
comunicar cambios de posición en avatares asignados a otros servidores. Por lo tanto,
la saturación de estas CPUs disminuye la tasa de servicio de los servidores del sistema
DVE que, junto al incremento del tamaño de las colas de recepción (provocado por el
aumento del número de usuarios), incrementan significativamente el tiempo de espera de
los mensajes a gestionar en cada servidor del sistema DVE.
Las tablas4.7 y 4.8 muestran los resultados del porcentaje de utilización de CPU y
la latencia del sistema, en términos de tiempos de ida y vuelta por servidor (SR-Sx) o
globalmente (ASR), cuando se evalúan sobre el sistema DVE de 3 servidores soluciones
CAPÍTULO 4. CARACTERIZACIÓN DE SISTEMAS DVE 127
No. de avatares CPU1 CPU2 CPU3 CPU4 CPU5
600(120,120,120,120,120) 62 59 61 59 60
700(140,140,140,140,140) 70 76 84 81 88
800(160,160,160,160,160) 99 98 100 100 100
900(180,180,180,180,180) 100 100 100 100 100
1000(200,200,200,200,200) 100 100 100 100 100
Tabla 4.5: Porcentajes de utilización de CPU para simulaciones conCWp nulo yCL
p má-
ximo en un sistema DVE compuesto por 5 servidores
No. de avatares SR-S1 SR-S2 SR-S3 SR-S4 SR-S5 ASR-M
600(120,120,120,120,120) 259.5 249.7 265.4 249.8 226.7 250.2
700(140,140,140,140,140) 341.9 298.8 292.5 336.1 342.6 322.4
800(160,160,160,160,160) 1187.5 1085.8 1274.4 998.9 1062.1 1121.7
900(180,180,180,180,180) 3467.4 3254.0 3143.3 3537.1 3474.0 3375.2
1000(200,200,200,200,200) 4458.6 4658.2 4987.6 5198.3 4819.3 4824.4
Tabla 4.6: Respuestas medias SR-Sx y ASR para simulaciones conCWp nulo yCL
p máximo
en un sistema DVE compuesto por 5 servidores
de particionado con los valores máximos obtenidos por la funciónCWp . Manteniendo este
desequilibrio de las cargas generadas por los avatares, la tabla4.7muestra los resultados
de las prestaciones del sistema cuando se minimiza también en el sistema DVE los re-
quisitos de tráfico inter-servidor (CWp = máximo yCL
p = 0). Por el contrario, la tabla4.8
muestra los resultados de la evaluación de prestaciones en el caso de particiones con má-
ximo desequilibrio de cargas además de la maximización del tráfico inter-servidor (CWp =
máximo yCLp = máximo).
Si estas tablas se comparan línea a línea, podemos apreciar unos porcentajes de uti-
lización de CPU muy similares en ambos experimentos. Estos resultados indican que el
términoCLp no causa ningún efecto en la productividad del sistema a medida que se em-
peora el equilibrio de las cargas del sistema DVE (decremento deCWp ). De hecho, el
sistema alcanza el punto de saturación con 425 avatares en ambas tablas. Sin embargo,
los tiempos de respuesta ASR obtenidos en cada experimento difieren significativamente
al llegar a la saturación (filas 3, 4 y 5 de ambas tablas). Ello indica que el términoCLp sólo
128 4.2. CARACTERIZACIÓN DEL COMPORTAMIENTO DE LOS SERVIDORES EN SISTEMAS DVE
afecta a la latencia del sistema DVE si éste se encuentra en saturación. En caso contrario,
no afecta a las prestaciones reales del sistema.
No. de avatares CPU1 CPU2 CPU3 SR-S1 SR-S2 SR-S3 ASR-M
375(125,125,125) 72 74 71 221.2 233.6 225.7 226.8
400(125,150,125) 71 81 73 219.4 285.2 218.8 241.1
425(125,175,125) 73 100 70 228.7 1725.8 235.5 730.0
450(125,200,125) 72 100 69 225.7 4308.9 219.0 1584.6
475(125,225,125) 70 100 72 226.5 11554.9 221.4 4000.9
Tabla 4.7: Efectos en la respuesta media del sistema y en los porcentajes de utilización
de CPU en cada servidor del incremento deCWp en un sistema DVE compuesto por 3
servidores conCLp mínimo
No. de avatares CPU1 CPU2 CPU3 SR-S1 SR-S2 SR-S3 ASR-M
375(125,125,125) 69 72 73 217.9 241.1 233.4 230.8
400(125,150,125) 71 83 72 251.4 323.2 218.3 264.3
425(125,175,125) 69 100 73 1290.2 2992.8 1432.8 1905.3
450(125,200,125) 72 100 70 5678.5 8861.9 6007.8 6849.4
475(125,225,125) 71 100 72 9998.8 16873.2 10254.3 12375.4
Tabla 4.8: Efectos en la respuesta media del sistema y en los porcentajes de utilización
de CPU en cada servidor del incremento deCWp en un sistema DVE compuesto por 3
servidores conCLp máximo
Si se realiza una comparación entre los resultados mostrados en las tablas4.7 y 4.8
con los obtenidos en las tablas4.1y 4.4se observa que la minimización del términoCWp
de las soluciones de particionado provoca una mejora en la productividad y por tanto, en
la escalabilidad del sistema DVE (en4.1 y 4.4 la saturación se alcanza con 500 avatares
mientras que en4.7 y 4.8 se alcanza con sólo 425). El mismo sistema DVE alcanza el
punto de saturación con 500 avatares en las tablas4.1 y 4.4, mientras que en el caso de
los experimentos mostrados en las tablas4.7 y 4.8 aparece bastante antes, cerca de los
425 avatares. A pesar de ello, no existe una importante diferencia entre los valores del
ASR de las dos primeras líneas de las tablas4.1 y 4.7. Esta ausencia de la diferencia
de valores de ASR también se produce entre las primeras líneas de las tablas4.4 y 4.8.
Un comportamiento muy similar al del sistema DVE de 3 servidores aparece cuando se
incrementa a 5 el número de servidores del sistema con carga desequilibrada.
CAPÍTULO 4. CARACTERIZACIÓN DE SISTEMAS DVE 129
Efectivamente, las tablas4.9y 4.10y las tablas4.11y 4.12muestran la evaluación de
prestaciones del sistema de 5 servidores a medida que se incrementan el número de usua-
rios en un único servidor (S3) del sistema DVE. Con ello, se puede evaluar la respuesta
del sistema ante un aumento deCWp para diferentes niveles de tráfico. En este sentido, las
tablas4.9y 4.10miden el impacto del incremento deCWp en un sistema donde se ha mini-
mizado el tráfico inter-servidor (CLp = 0). Esta propiedad permite que el incremento de la
tasa de CPU que se produce en el servidorS3 no se propague hacia el resto de servidores
que componen el sistema DVE. El incremento de esta tasa de CPU en el servidorS3 se
sitúa desde porcentajes que van desde el 50 % cuando el servidor controla 120 avatares
de la simulación (primera fila de la tabla4.9), hasta porcentajes del 100 % que aparecen
cuando se le asignan al servidorS3 más de 170 avatares de la población (tercera fila de la
tabla4.9en adelante).
Por lo tanto, al final de la simulación, a pesar de que el ASR medio crece signifi-
cativamente debido a la alta latencia producida por el servidorS3 el SR-Sx del resto de
servidores se mantiene constante (fila 3 de la tabla4.10).
No. de avatares CPU1 CPU2 CPU3 CPU4 CPU5
600(120,120,120,120,120) 55 53 50 56 51
625(120,120,145,120,120) 59 50 74 58 53
650(120,120,170,120,120) 52 51 100 54 54
675(120,120,195,120,120) 53 57 100 56 53
700(120,120,220,120,120) 56 56 100 53 59
Tabla 4.9: Efectos en la respuesta media del sistema del incremento deCWp en un sistema
DVE compuesto por 5 servidores conCLp mínimo
No. de avatares SR-S1 SR-S2 SR-S3 SR-S4 SR-S5 ASR-M
600(120,120,120,120,120) 234.4 243.8 231.3 253.9 222.8 237.2
625(120,120,145,120,120) 229.1 241.3 305.1 227.5 227.1 246.0
650(120,120,170,120,120) 225.7 230.0 2101.8 232.0 239.9 605.9
675(120,120,195,120,120) 237.0 241.3 13435.1 231.8 227.9 2874.6
700(120,120,220,120,120) 4458.6 4658.2 4987.6 5198.3 4819.3 4824.4
Tabla 4.10: Efectos en los porcentajes de utilización de CPU en cada servidor del incre-
mento deCWp en un sistema DVE compuesto por 5 servidores conCL
p mínimo
130 4.2. CARACTERIZACIÓN DEL COMPORTAMIENTO DE LOS SERVIDORES EN SISTEMAS DVE
Un comportamiento diferente es el que se produce cuando el número de avatares asig-
nados a un servidor se incrementa en un sistema donde se ha maximizado el tráfico de
mensajes inter-servidor (CLp máximo). Las tablas4.11y 4.12muestran esta situación para
un sistema DVE compuesto por 5 servidores, donde al servidorS3 se le asignan los nue-
vos avatares incorporados en el sistema DVE. Tal y como ocurría en el caso del sistema
DVE de 3 servidores (tabla4.8), el incremento de la latencia generada por la saturación
del servidorS3 produce un retardo significativo en el tratamiento de los mensaje gestio-
nados por el resto de servidores del sistema. Este retardo es consecuencia del numeroso
volumen de mensajes inter-servidor que estos servidores han de tratar y que en numerosas
ocasiones han de atravesar las colas de recepción y envío del servidorS3. Como cabría
esperar, el servidorS3 (fila 3 de la tabla4.12) modifica el SR-Sx del resto de servidores (y
por lo tanto, el ASR del sistema) sin alterar sus tasas de CPU ya que no aporta más carga
sino que genera mayor retardo en los mensajes. Así por ejemplo, los servidoresS1 y S2
finalizan el experimento con porcentajes de uso de CPU de 57 % y 58 % respectivamen-
te (primera línea de la tabla4.11). Estos valores no varían a medida que el experimento
avanza finalizando ambos servidores con porcentajes de utilización media de CPU del
58 % y 61 % respectivamente (última línea de la tabla4.11). Ambos servidores obtienen
respectivamente un ASR medio de 241.4 ms. y 239.6 ms. (fila 1 de la tabla4.12), mientras
que finalizan el experimento con un ASR (fila 5 de la tabla4.12) de 10020.7 ms. para el
servidorS1 y 21123.4 ms. para el servidorS2.
No. de avatares CPU1 CPU2 CPU3 CPU4 CPU5
600(120,120,120,120,120) 57 58 51 57 50
625(120,120,145,120,120) 60 56 77 54 57
650(120,120,170,120,120) 52 54 100 57 58
675(120,120,195,120,120) 56 55 100 59 56
700(120,120,220,120,120) 58 61 100 52 55
Tabla 4.11: Efectos en la respuesta media del sistema del incremento deCWp en un sistema
DVE compuesto por 5 servidores conCLp máximo
Estos resultados, obtenidos a partir del estudio de las prestaciones del sistema DVE
para sistemas con 3 y 5 servidores y carga desequilibrada (CLp máximo), indican que el
parámetroCWp afecta a la productividad del sistema DVE y no tiene un efecto significa-
tivo en el ASR (latencia en términos de tiempos medios de ida y vuelta de los mensajes)
del sistema. Por el contrario, el términoCLp no sólo afecta principalmente a los valores
CAPÍTULO 4. CARACTERIZACIÓN DE SISTEMAS DVE 131
No. de avatares SR-S1 SR-S2 SR-S3 SR-S4 SR-S5 ASR-M
600(120,120,120,120,120) 241,4 239,6 241,0 261,5 238,7 244,4
625(120,120,145,120,120) 301,6 309,5 399,6 320,4 367,1 339,6
650(120,120,170,120,120) 1012,5 1249,4 3129,5 1824,6 900,9 1623,4
675(120,120,195,120,120) 3996,4 4363,3 8313,4 4040,6 4721,1 5087,0
700(120,120,220,120,120) 10020,7 11212,3 21123,4 8556,4 7216,5 9825,9
Tabla 4.12: Efectos en los porcentajes de utilización de CPU en cada servidor del incre-
mento deCWp en un sistema DVE compuesto por 5 servidores conCL
p máximo
obtenidos de ASR, sino que su efecto se amplifica a medida que el empeoramiento de
los valores del factorCWp de las soluciones de particionado hace llegar al sistema DVE
al punto de saturación. Sin embargo, si se consigue optimizar el términoCWp en las asig-
naciones de avatares a los servidores de la simulación, entonces el impacto del tráfico
inter-servidor (CLp ) en el ASR se minimiza.
4.3. CONCLUSIONES
A pesar de que la literatura de la materia describe diferentes estrategias que intentan
abordar el problema del particionado en sistemas DVE, aún no se ha descrito la correla-
ción de ninguno de los mecanismos propuestos con las prestaciones reales de los sistemas
DVE. En este sentido, la caracterización de los sistemas DVE es crucial a la hora de
diseñar mecanismos de particionado que mejoren realmente las prestaciones del sistema.
En este capítulo, hemos demostrado que la función de calidad utilizada en la literatura
de la materia no correlaciona en absoluto con las prestaciones reales de los sistemas DVE
basados en arquitecturas red-servidor. Este motivo nos ha llevado a caracterizar los dos
factores más importantes que rigen el comportamiento de este tipo de sistemas. En primer
lugar, la carga generada por los avatares a los servidores donde son asignados y, en segun-
do lugar, la relación de las prestaciones del sistema DVE con respecto al incremento del
número de usuarios de la simulación.
Hemos propuesto un nuevo modelo de caracterización de la carga generada por los
avatares en sistemas DVE basados en arquitecturas red-servidor. Esta caracterización está
132 4.3. CONCLUSIONES
basada en el estudio de los efectos de la tasa de movimiento de los avatares y la densidad
de sus avatares vecinos (factor de presencia). A diferencia de los modelos recogidos en
la literatura, los cuales describen la carga de un avatar como un valor constante durante
la simulación, los resultados mostrados en nuestros experimentos muestran una buena
correlación de la carga que los avatares generan con la tasa de movimiento y con el factor
de presencia de los avatares.
Adicionalmente, hemos propuesto una correlación experimental de la función de cali-
dadCp (propuesta por la literatura de la materia para resolver el problema del particionado
[49]) con respecto a las prestaciones de los sistemas DVE. Dado que los resultados mues-
tran una ausencia total de correlación, hemos propuesto la caracterización del comporta-
miento de los sistemas DVE reales. Este estudio indica que los sistemas DVE muestran
un comportamiento no lineal de sus prestaciones con respecto al número de avatares del
sistema. Así, la respuesta media del sistema ASR (definida como el tiempo de ida y vuela
de los mensajes de los avatares) permanece prácticamente invariante mientras el sistema
no alcance el punto de saturación. Esta saturación se produce cuando al menos uno de los
servidores del sistema DVE alcanza cotas de porcentaje de utilización de CPU del 100 %.
En el momento que se sobrepasa este límite, la respuesta media del sistema se incrementa
significativamente a medida que se incorporan nuevos avatares a la simulación. Además
de este comportamiento, hemos estudiado los efectos reales del equilibrio de cargas y del
tráfico inter-servidor sobre las prestaciones del sistema. Los resultados muestran la rela-
ción de estos factores con respecto al comportamiento del sistema, pero no en la forma
lineal en queCp les relaciona. El equilibrio de cargas afecta principalmente a la produc-
tividad del sistema, mientras que el volumen de tráfico inter-servidor lo hace sobre la
latencia global del sistema DVE. A pesar de ello, mientras ninguno de los servidores haga
entrar al sistema en saturación, la variación del volumen de tráfico inter-servidor no incide
significativamente en la latencia del sistema.
Por lo tanto, podemos concluir que si desea diseñar un sistema DVE eficiente y esca-
lable, el mecanismo de particionado debe de gestionar las cargas de los avatares de forma
dinámica de manera que ningún servidor del sistema alcance porcentajes de utilización de
CPU del 100 % y haga entrar al sistema en el punto de saturación. Este debe ser el prin-
cipal objetivo del método de particionado, independientemente del número de mensajes
inter-servidor.
CAPÍTULO 5
TÉCNICAS DE PARTICIONADO PARA
SISTEMAS DVE
Aunque la literatura de la materia destaca algunos métodos para resolver el problema
del particionado en grandes sistemas DVE [6, 49, 80], ninguno de ellos tiene en cuenta
el comportamiento no lineal con el número de usuarios que caracteriza a estos sistemas
y que hemos demostrado en el capítulo anterior [65]. Esta característica provoca que las
estrategias de particionado anteriores sean incapaces de evitar la degradación del sistema
provocada por una asignación excesiva de avatares a un servidor determinado del sistema.
Recientemente, ha aparecido una nueva técnica local de particionado en sistemas DVE
que tiene en cuenta el comportamiento no lineal de estos sistemas con respecto del número
de clientes de la simulación [7]. No obstante, debido a su naturaleza excesivamente local
esta estrategia sólo proporciona soluciones eficientes de particionado cuando los avatares
siguen patrones de movimiento uniformes.
En este capítulo, proponemos dos estrategias de particionado dinámico del sistema
basadas en un balanceo global de la carga entre los servidores del sistema DVE. Estas es-
trategias, denominadas ALB [63] y FGALB, no sólo tienen en cuenta el comportamiento
no lineal de los sistemas DVE, sino que gestionan de forma cooperativa la carga entre
todos los servidores del sistema. Los resultados de la evaluación de prestaciones indican
que las técnicas propuestas mejoran sensiblemente la productividad de los sistemas DVE
que las incorporan a medida que aumenta la carga del sistema. Esta característica está
garantizada debido a que ambas estrategias mantienen al sistema DVE por debajo del
punto de saturación siempre que la carga global del sistema no supere la suma total de
las capacidades de los servidores. En especial, la técnica FGALB consigue maximizar la
productividad del sistema eliminando el“efecto cascada”mediante un ligero incremento
de la latencia media del sistema.
134 5.1. BALANCEO ADAPTATIVO DE CARGAS
5.1. BALANCEO ADAPTATIVO DE CARGAS
En el capítulo anterior hemos demostrado que el principal objetivo de cualquier técni-
ca de particionado debe consistir en garantizar que ninguno de los servidores del sistema
DVE alcance niveles del 100 % de uso. La garantía de esta característica permite evitar
que el sistema entre en saturación. Este objetivo es primordial y ha de llevarse a cabo
con independencia del efecto del volumen de tráfico inter-servidor en el rendimiento del
sistema [65]. Dado que los métodos actuales no tienen en cuenta este factor, no pueden
ofrecer soluciones de particionado eficientes cuando son empleados para gestionar gran-
des sistemas DVE.
Recientemente ha aparecido una técnica de balanceo de cargas adaptativo que abor-
da el problema del particionado teniendo en cuenta el comportamiento no lineal de los
sistemas DVE [7]. En esta técnica, denominada ARPS (del inglés “Adaptive Region Par-
titioning Scheme”), la escena virtual se divide enS regiones, de forma que cada uno de
los S servidores del sistema se encarga de gestionar los avatares situados en una de esas
regiones. A efectos del balanceo de avatares, ARPS divide cada una de las regiones ges-
tionadas por los servidores en unidades de superficie todavía más pequeñas denominadas
celdas. El algoritmo basa su mecanismo de balanceo de cargas (intercambio de la propie-
dad de celdas) empleando un criterio de localidad. Esta localidad se produce al limitar el
intercambio de avatares a parejas de servidores con celdas adyacentes. En la figura5.1, se
muestra una escena virtual cuadrada que va a ser simulada mediante ARPS en un sistema
DVE compuesto de 9 servidores. El número de celdas colindantes que componen cada
una de las regiones a gestionar por cada servidor es también igual a 9. Por lo tanto, la es-
cena virtual que muestra la figura5.1está compuesta por 81 (9x9) celdas. A partir de esta
configuración, ARPS no permite el balanceo de cargas entre por ejemplo los servidores
S1 y S9 (que gestionan respectivamente las regionesR1 y R9) ya que no existe ninguna
pareja de célulasCx,y pertenecientes a estos servidores que sean vecinas. Por el contrario,
el servidorS4 puede intercambiar avatares con el servidorS1 ya que sus celdasC4,1,C4,2
y C4,3 son vecinas a células deS1.
El objetivo básico buscado por la localidad de ARPS se basa en reducir el número de
mensajes inter-servidor. En esta técnica, cuando un avatar atraviesa regiones adyacentes
(su AOI se encuentra en más de una región) ambos servidores son informados de cual-
quier cambio en el estado o la posición del avatar. Como se ha demostrado en el capítulo
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 135
Figura 5.1: Representación del particionado de la escena según ARPS
anterior, el número de mensajes inter-servidor no tiene efectos significativos en la produc-
tividad del sistema. Además, el ámbito puramente local de este mecanismo de balanceo
de cargas limita el rendimiento del esquema de particionado del sistema DVE. Por ello,
proponemos un enfoque donde los servidores gestionen avatares (su carga) en lugar de
regiones del espacio virtual.
La evaluación inicial de las prestaciones de ARPS publicada por sus autores considera
simulaciones donde todos los miembros de la simulación se desplazan según el patrón de
movimiento CCP [7]. Este patrón, descrito en la sección2.3.3, permite desplazar a los
avatares a lo largo de toda la escena siguiendo un movimiento circular pero uniforme.
Bajo este marco de simulación, excesivamente simplista, el método de balanceo local ob-
tiene un buen rendimiento del sistema. Sin embargo, es muy infrecuente que todos los
avatares de un sistema DVE se desplacen uniformemente a lo largo de la escena virtual.
De hecho, normalmente aparecen los denominadospuntos calienteo HP (del inglés “Hot
Points”). Los puntos calientes son zonas de la escena virtual hacia las cuales los avatares
tienden a situarse [31]. En algunos tipos de sistemas DVE, como es el caso de los video-
juegos en red, algunos HP que representan recursos del juego (energía, armas, etc.). Estos
puntos aparecen y desaparecen durante el transcurso de la simulación y además, sólo los
avatares localizados a su alrededor se aproximen tienden a aproximarse hacia ellos [53].
En estas situaciones, las regiones que contengan a los HP así como sus regiones vecinas
se masifican y por lo tanto, el sistema tiende a desequilibrar la cargas entre sus servidores
con mucha facilidad. Para evitar que se produzca este fenómeno y evitar la degradación
136 5.1. BALANCEO ADAPTATIVO DE CARGAS
del sistema (con sus consecuencias en las prestaciones) presentamos una técnica de ba-
lanceo global de cargas [63]. Esta técnica permite el mantenimiento de las prestaciones
del sistema gracias a un mecanismo de intercambio adaptativo de avatares que involucra a
todos los servidores del sistema DVE. Los resultados obtenidos en la evaluación de pres-
taciones indican que el nuevo método de balanceo de cargas obtiene mejores prestaciones
para el sistema DVE que las obtenidas mediante técnicas de particionado locales como es
el caso de ARPS.
5.1.1. ALB. Una nueva técnica de balanceo de cargas
Dado que el objetivo buscado por las técnicas de particionado es la mejora de las pres-
taciones globales de los sistemas DVE [77], el método de particionado propuesto en esta
sección intenta mantener a todos los servidores del sistema por debajo del 100 % de uso de
CPU [65]. Para alejar al sistema DVE del punto de saturación y minimizar los porcentajes
de utilización de CPU de sus servidores lo máximo posible, el mecanismo de balanceo de
cargas debe tener un ámbito global. Esta característica implica que, cualquier servidor del
sistema DVE puede ser un servidor potencialmente candidato en la recepción de avatares
provenientes de cualquier punto del sistema. A diferencia de otras estrategias de balanceo
de carga descritas en la literatura de la materia [7], proponemos un mecanismo de parti-
cionado basado en una gestión del sistema DVE por objetos. Esta característica implica
que el intercambio de carga entre servidores va a ser realizado a nivel de avatar [64, 49],
en lugar de un intercambio de la gestión de las regiones del mapa ocupadas por los avata-
res [7, 12]. Con estas propiedades, esta técnica permite que cualquier servidor del sistema
DVE reciba nuevos avatares transferidos por la detección de una peligrosa aproximación
del sistema a su punto de saturación.
Bajo estas premisas hemos desarrollado una nueva técnica de balanceo de cargas en
sistemas DVE denominada ALB (del inglés “Avatar Load Balancing”) [63]. Esta técnica
está basada en el mecanismo de balanceo de cargas “server-initiated” usado tradicional-
mente en sistemas operativos distribuidos [15]. ALB empieza con una asignación ini-
cial de los avatares a los servidores del sistema DVE. A pesar de que se puede emplear
cualquier estrategia metaheurística de las descritas en el capítulo3 [62, 58, 60], hemos
aplicado la estrategia de particionado basada en algoritmos genéticos para obtener esta
asignación inicial de los avatares del sistema [57]. Tal y como se muestra en el capítulo3,
esta estrategia obtiene excelentes resultados de particionado en términos de equilibrio de
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 137
cargas entre servidores y reducción del tráfico inter-servidor del sistema DVE.
En una simulación todos los avatares del sistema DVE se mueven libremente a lo
largo de la escena virtual [77]. Este movimiento constante de avatares facilita que la carga
generada por estos pueda variar considerablemente durante toda la simulación. Por este
motivo, tanto la tasa de uso de CPU, como el número de avatares de cada servidor deben
de ser constantemente monitorizados en el sistema. Estos parámetros están disponibles
gracias al servicioLoC (del inglés “Level of Charge”) implementado normalmente en
algún servidor de cualquier sistema DVE basado en arquitecturas red-servidor [77]. Tal
y como se destaca en la sección4.1, estas medidas permiten realizar una estimación de
la carga que cada avatar añade al servidor donde es asignado. Esta estimación se obtiene
periódicamente en cada servidor y tiene en cuenta la tasa de movimiento y el factor de
presencia de cada uno de sus avatares (fp) [64]. ALB emplea esta estimación como un
mecanismo de toma de decisiones en el balanceo de cargas.
Con el objetivo de evitar el punto de saturación del sistema [65], ALB se ejecuta en el
momento que algún servidorSx del sistema alcanza una tasa de uso de CPU por encima
del 99 %. No obstante, este valor umbral dependerá de la latencia de red del sistema. Para
sistemas con alta latencia el umbral de disparo del algoritmo debería de ser más bajo. La
idea básica de ALB va a consistir en seleccionar un conjunto de los avatares asignados al
servidorSx y asignarlos al servidorSy más descargado del sistema, de forma que la tasa
estimada de uso de CPU deSx quede reducida a un valor umbralΩ. A pesar de que el
valor umbral de cargaΩ pueda ser ajustado en cada sistema DVE atendiendo a la latencia
de red existente, valores cercanos al 90 % alejan al servidorSx del punto de saturación sin
necesidad de cambiar de servidor a demasiados avatares y maximizando la productividad
del sistema.
El primer paso del algoritmo ALB consiste en ordenar todos los avatares asignados
actualmente al servidorSx por su factor de presenciafp. Tras esta ordenación, se retira
la asignación de los avatares del servidorSx con mayor valor defp hasta que la tasa
de uso de CPU de este servidor se reduzca en un 10 %. El servidor de destino de esos
avatares será el servidor con menor porcentaje de utilización de CPU del sistema DVE.
La razón de emplear este criterio radica en que normalmente los avatares con mayor
factor de presencia del sistema DVE se localizan muy cerca en la escena virtual. Por
tanto, estos avatares tendrán que comunicarse entre ellos. Si son asignados en bloque al
mismo servidor, aseguramos que en la medida de lo posible el balanceo de cargas no tenga
138 5.1. BALANCEO ADAPTATIVO DE CARGAS
efectos en el aumento del volumen del tráfico inter-servidor del sistema. De esta forma,
la técnica propuesta no sólo evita la saturación del servidorSx (principal objetivo del
algoritmo de balanceo de cargas para maximizar la productividad del sistema DVE [65])
sino también atenúa la cantidad de mensajes inter-servidor enviados (factor que ayuda a
decrementar la latencia del sistema [65]).
5.1.2. Evaluación de prestaciones
En esta sección, presentamos la evaluación de las prestaciones de la técnica de ba-
lanceo de cargas ALB [63]. Para realizar esta evaluación, hemos empleado el modelo de
evaluación de prestaciones en sistemas DVE y la plataforma RealDvT descritos en el ca-
pítulo 2. A lo largo de la tesis esta plataforma ya ha sido utilizada en la evaluación de
prestaciones para las técnicas de optimización metaheurísticas empleadas para resolver el
problema del particionado (capítulo3), así como en la caracterización de la carga de los
avatares y el análisis del comportamiento de los sistemas DVE (capítulo4).
Con el objetivo de realizar una comparación fidedigna, mostramos también los resul-
tados de la implementación de la técnica ARPS [7]. Actualmente, esta es la única técnica
existente para el balanceo de cargas en sistemas DVE que tiene en cuenta el comporta-
miento no lineal de este tipo de sistemas. Empleando ambas técnicas, hemos simulado
más de un centenar de sistemas DVE empleando tres distintos patrones de movimientos
de avatares en la escena. Estos patrones se denominan CCP, HPA y HPN. Tal y como se
detalla en la sección2.3.3, CCP es un patrón de movimiento uniforme mediante el cual
los avatares se desplazan a lo largo de la escena siguiendo trayectorias circulares [7]. HPA
(del inglés “Hot-Points-ALL”) es un patrón de movimiento en el que todos los avatares de
la escena tienden a desplazarse en dirección a ciertas zonas (denominadas tambiénpun-
tos calienteso HP) de máximo interés [31]. Esta característica es también el fundamento
del patrón de movimiento HPN (del inglés “Hot-Points-Near”). En este patrón cada uno
de los puntos calientes de la escena atrae solamente a los avatares que se encuentran a
su alrededor y cuya distancia de separación se encuentra por debajo de una medida dada
denominadadistancia de atracción[53]. Típicamente, los puntos HP pueden ser desde
herramientas, armas o vida en videojuegos en red [9, 47], hasta puntos de parada en sis-
temas de planificación de rutas para entornos virtuales [48].
Continuando los experimentos descritos en el capítulo4 y coincidiendo con otros es-
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 139
tudios en la materia, hemos realizado numerosas simulaciones de sistemas DVE en las
que hemos distribuido los avatares de forma uniforme, sesgada o agrupada en la escena
[49, 7]. Cada una de las simulaciones mostradas a continuación consta de un conjunto de
iteraciones. Estas iteraciones, permiten desplazar a los avatares de la población a lo largo
una escena virtual (de tamaño 200x200 unidades) siguiendo los patrones de movimiento
mostrados anteriormente. A pesar de que hemos han probado numerosas configuracio-
nes de sistemas DVE con resultados muy similares para diferentes tamaños del sistema,
mostramos los resultados de la evaluación de prestaciones para dos tallas significativas
del problema. Con el objetivo de mostrar la escalabilidad de la técnica de balanceo de
cargas propuesta, éstas tallas corresponden a un gran sistema formado por 600 avatares
y 9 servidores (MEDIUM2) y un sistema más reducido compuesto de 350 avatares y 5
servidores (MEDIUM1). Esta definición de formatos de sistema se encuentra incluida en
el modelo de evaluación de prestaciones en sistemas DVE propuesto en el capítulo2.
Empleando la herramienta de recreación de entornos virtuales distribuidos RealDvT,
la figura5.2muestra una vista aérea de la localización final de los 600 avatares (represen-
tados por puntos) del sistema DVE tras 40 iteraciones siguiendo patrones de movimiento
CCP, HPA y HPN a partir de una distribución inicial uniforme de avatares en la escena.
Para el caso de los patrones HPA y HPN, es decir, patrones no uniformes de movimien-
to, la figura muestra la nueva localización final de los avatares en la escena empleando
3 puntos calientes generados aleatoriamente a lo largo del mapa. Además, para el último
de estos patrones (HPN) se indica con un círculo el área de atracción generada por estos
puntos cuyo radio para estos experimentos es igual a 20 unidades. Si se emplean valores
mayores para este parámetro, la aparición del punto de saturación en los servidores del
sistema se produce en un número menor de iteraciones. Este comportamiento se produce
debido a que se incrementa el número avatares atraídos, así como su factor de presencia
medio y por tanto, la carga que estos avatares generan a los servidores donde se encuen-
tran asignado crece significativamente. En el caso extremo de que el radio de atracción
supere las dimensiones de la escena virtual, el patrón de movimiento HPN se convierte en
un patrón HPA. Por el contrario, valores más pequeños implican que el número de avata-
res atraídos por cada uno de los puntos calientes se reduzca. Esta característica produce
que el aporte de carga media generada no sea muy relevante a lo largo de cada una de las
iteraciones de las que consta la simulación.
Los experimentos descritos en este capítulo han sido realizados en los laboratorios
del Departamento de Informática de la Universidad de Valencia. Estos laboratorios están
140 5.1. BALANCEO ADAPTATIVO DE CARGAS
Figura 5.2: Población de avatares distribuidos uniformemente en la escena tras realizar
una simulación completa siguiendo patrones de movimiento a) CCP, b) HPA y c) HPN
compuestos por computadores PC equipados con procesadores Pentium IV a 1.7Ghz,
256 MB de RAM, tarjeta gráfica nVidia Geforce2 MX-400 y sistema operativo Windows
2000 Professional. Este mismo laboratorio dispone de una red Ethernet a 10 Mpbs. para
conectar todos sus equipos. A partir de este hardware, la herramienta de simulación es
capaz de alojar 50 clientes por computador. Por lo tanto, fueron necesarios solamente
12 equipos para recrear el sistema DVE compuesto por 350 avatares y 5 servidores (7
equipos para clientes y 5 para servidores). Este número de equipos se incrementó a 21
para simular el sistema DVE formado por 600 avatares y 9 servidores (12 equipos para
clientes y 9 para servidores)
Según se deduce a partir de la especificación de la evaluación de prestaciones descri-
ta anteriormente, la combinación de 3 distribuciones diferentes de avatares en la escena
(uniforme, sesgada y agrupada) con 3 patrones de movimientos (CCP, HPA y HPN) en
dos tamaños de sistemas distintos (MEDIUM1 y MEDIUM2) ha permitido el análisis
de las técnicas de balanceo de carga en 18 tipos de experimentos diferentes. A pesar de
ello, los resultados mostrados a continuación recogen solamente las medidas obtenidas en
aquellos experimentos donde realmente se han ejecutado los algoritmos de balanceo de
cargas a evaluar. Cabe destacar que no todas las combinaciones de distribución inicial de
avatares, patrón de movimiento y tamaño del sistema producen un incremento significati-
vo de la carga generada por los avatares a los servidores donde se encuentran asignados.
Este incremento de la carga es el responsable de la saturación de uno o más de los servi-
dores del sistema DVE y por lo tanto, del fenómeno que induce la pertinente ejecución de
los distintos mecanismos de balanceo de cargas propuestos. En el caso del sistema DVE
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 141
compuesto por 600 avatares y 9 servidores (MEDIUM2)los experimentos con balanceo de
cargas corresponden a las 6 distintas configuraciones de los patrones de movimiento HPA
y HPN con las 3 diferentes distribuciones iniciales de avatares en la escena. En este tipo
de sistemas DVE los experimentos realizados empleando el patrón de movimiento CCP
son poco relevantes ya que al tratarse de un movimiento de avataresuniformey circular
la carga generada por éstos provoca escasas variaciones en los porcentajes de uso de CPU
de los servidores del sistema a lo largo de la simulación.
En el caso del sistema DVE compuesto por 350 avatares y 5 servidores (MEDIUM1),
y dado que la especificación de la escena virtual en el modelo propuesto (capítulo2) de-
fine un mapa virtual regular de 200x200 unidades, hemos incrementado a un radioR=35
unidades (anteriormenteR=15 para sistemas MEDIUM2) el radio del AOI de los avatares.
El objetivo de esta modificación consiste en reforzar el incremento de la carga que gene-
ran los avatares a medida que éstos se desplazan por la escena virtual siguiendo patrones
de movimiento no uniformes. A pesar de este incremento, este tipo de sistemas ejecuta
en muy limitadas ocasiones el balanceo de cargas entre servidores en el caso de que los
avatares se desplacen siguiendo patrones de movimiento HPN. De hecho, el balanceo sólo
se produce en HPN si la distribución de avatares en la escena es no uniforme y lospuntos
calientesde HPN se sitúan muy cerca de las zonas de máxima densidad de avatares. Este
fenómeno no ocurre en el caso del patrón de movimiento HPA. Bajo este patrón de mo-
vimiento todos los avatares del sistema DVE se desplazan simultáneamente en dirección
hacia los puntos calientes de la escena, de forma que se incrementa significativamente la
carga de los servidores del sistema a lo largo de la simulación. Al igual que en el caso
anterior (MEDIUM2) el patrón CCP genera muy poca carga durante la simulación. Por
lo tanto, la combinación del patrón de movimiento HPA para las distribuciones uniforme,
sesgada y agrupada de avatares en la escena representa la evaluación de prestaciones en
sistemas DVE de tipo MEDIUM1.
Todas las tablas comentadas a continuación muestran el resultado de la evaluación de
prestaciones de las técnicas ARPS y ALB en los sistemas DVE compuestos por 5 y 9
servidores, respectivamente, bajo diferentes configuraciones de simulación. Básicamente
estas configuraciones se diferencian en el tipo de distribución inicial y patrón de movi-
miento de avatares empleado en cada caso para cualquiera de los dos sistemas DVE. Las
tablas de resultados muestran los porcentajes de utilización de cada uno de los servidores
(Sx)despuésde que el algoritmo ha sido disparado en alguna de las iteraciones de la simu-
lación. El resultado de la utilización media en cada servidor después de cada iteración se
142 5.1. BALANCEO ADAPTATIVO DE CARGAS
indica en cada una de las columnas de las tablas. Estas columnas tienen una cabecera que
indica el algoritmo utilizado (R en el caso de ARPS y L en el caso de ALB) y el número
de iteración. De esta forma, por ejemplo, la columna L1 de cualquiera de las tablas indica
el resultado de la primera iteración del patrón actual de movimiento usando ALB como
algoritmo de balanceo de cargas. Además de estas medidas, la última fila de cada tabla
indica la suma de las desviaciones estándar∑
δw de la carga que cada servidor debería
soportar. Para cada una de las iteraciones de la simulación, este valor evalúa el equilibrio
de la carga en el sistema DVE (cuanto menor es este valor mayor es el equilibrio logrado).
Las tablas5.1 y 5.2 muestran los resultados de la evaluación de prestaciones en sis-
temas MEDIUM1 y MEDIUM2 de las técnicas ARPS (columnas RX) y ALB (colum-
nas LX) correspondientes a una distribución inicial sesgada de avatares en la escena con
patrón de movimiento HPA. Dado que el patrón de movimiento recreado en ambos ex-
perimentos es el mismo y que ambas técnicas parten de la misma asignación inicial de
avatares, tanto la técnica ARPS como la técnica ALB se ejecutan por primera vez en la
misma iteración de la simulación. Esta iteración que corresponde a la primera ocasión en
que un servidor del sistema se satura se produce para ambos tamaños del sistema en la
misma iteración. Esta iteración corresponde a la iteración número 5 cuyos resultados, tras
el pertinente balanceo de cargas entre los servidores del sistema DVE, se muestran en las
columnas R5 (para ARPS) y L5 (para ALB) de ambas tablas. Cabe destacar que la carga
generada por los avatares en cada iteración crece significativamente en cada iteración de
HPA. Este incremento se produce debido a que la concentración masiva de todos los ava-
tares del sistema DVE (cerca de los puntos calientes) provoca que la densidad de avatares
en sus AOI se vaya incrementando. El aumento de la densidad provoca que el número de
mensajes necesarios para propagar cualquier cambio de posición se incremente significa-
tivamente y por lo tanto, también lo haga el porcentaje de CPU de los servidores donde
estos avatares se encuentren asignados [65].
Los resultados mostrados respectivamente en las tablas5.1 y 5.2 para sistemas DVE
de tipo MEDIUM1 y MEDIUM2 indican que la técnica ALB (columnas de tipo LX)
proporciona un mejor balanceo de la carga del sistema DVE que el obtenido a partir de
la técnica ARPS (columnas de tipo RX). La tabla5.1muestra que en el caso del sistema
compuesto por 5 servidores la técnica ARPS sólo consigue mantener al sistema DVE bajo
el punto de saturación hasta la 7a iteración. Es al final de esta iteración cuando los servi-
doresS0 y S4 alcanzan el 100 % de uso de CPU. A pesar de que estos servidores llegan
en esta iteración a su nivel máximo de CPU (provocando la saturación total del sistema
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 143
Método - Iteración
R1 R5 R6 R7 L1 L5 L8 L9 L10
S0 28.6 71.2 89.3 100.0 28.6 76.5 91.0 89.6 100.0
S1 27.5 81.2 90.0 89.0 27.5 84.1 88.6 90.1 100.0
S2 26.9 36.7 42.3 51.2 26.9 31.3 53.6 74.5 98.6
S3 30.2 24.4 31.6 60.1 30.2 28.6 52.3 80.5 98.0
S4 30.0 51.1 77.9 100.0 30.0 43.6 47.6 77.3 99.1∑δw 21 399 512 490 21 404 321 96 101
Tabla 5.1: Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo MEDIUM1
con una distribución inicial de avatares sesgada y un patrón de movimiento HPA
[65]), el servidorS2 finaliza la simulación empleando solamente cerca de la mitad de su
capacidad de cálculo. Un comportamiento muy similar ocurre en el caso del sistema de
tipo MEDIUM2. Dado que los 600 avatares del sistema generan una carga media superior
al caso anterior (atenuada mediante la diferencia del radio del AOI en ambos experimen-
tos) ARPS mantiene al sistema bajo el punto de saturación solamente hasta finalizada la
iteración número 6. A pesar de que ARPS es incapaz de reducir en nivel de carga del
servidorS7, los servidoresS0 y S1 se encuentran por debajo del 33 % de uso de CPU. An-
teriormente, en la 5a iteración de la simulación, ARPS permite que el servidorS5 alcance
un 90.2 % de uso de CPU mientras queS1 y S2 permanecen por debajo una tercera parte
su capacidad de cálculo.
La razón de este comportamiento es debida al ámbito local de esta técnica de par-
ticionado. Bajo patrones de movimiento HPA, todos los avatares del sistema tienden a
concentrase de forma continua en algunos puntos de la escena virtual. Esta concentra-
ción provoca que los servidores que gestionan esas regiones se saturen. Dado que ARPS
reduce esta saturación mediante la migración de cargas exclusivamente a los servidores
vecinos [7], es bastante probable que servidores poco cargados del sistema y alejados to-
pologicamente de los HP nunca sean elegidos como receptores de carga en el balanceo.
Esta característica provoca que los sistemas anteriores alcancen su punto de saturación en
pocas iteraciones (6 y 7 respectivamente) sin poder gestionar el exceso de carga puntual
causado en algunos servidores del sistema DVE (S0 y S4 en el sistema DVE compuesto
por 5 servidores yS7 en el sistema formado por 9 servidores).
144 5.1. BALANCEO ADAPTATIVO DE CARGAS
Método - Iteración
R1 R4 R5 R6 L1 L4 L5 L6 L7 L8
S0 30.1 28.1 31.7 30.7 30.1 28.1 33.7 66.4 99.6 100.0
S1 34.4 32.8 30.5 32.7 34.4 32.8 38.5 44.7 99.4 99.5
S2 41.6 46.6 53.6 81.6 41.6 46.6 55.9 58.2 98.4 98.7
S3 34.5 35.7 36.9 36.4 34.5 35.7 42.8 65.6 89.6 100.0
S4 32.5 32.7 34.4 54.1 32.5 32.7 39.3 40.3 94.6 100.0
S5 45.0 64.8 90.2 58.8 45.0 64.8 77.7 89.4 96.9 97.9
S6 38.5 42.0 45.1 58.4 38.5 42.0 50.4 55.6 99.8 94.5
S7 39.4 50.5 60.8 100.0 39.4 50.5 60.6 88.9 98.5 100.0
S8 24.9 23.7 21.7 20.6 24.9 23.7 28.4 30.6 91.5 100.0∑δw 194 403 667 908 194 403 390 26 190 880
Tabla 5.2: Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo MEDIUM2
con una distribución inicial de avatares sesgada y un patrón de movimiento HPA
Este tipo de problemas no ocurren mediante el uso de la técnica de balanceo ALB
(columnas LX de ambas tablas). Esta técnica es capaz de compartir la carga entre todos
los servidores del sistema DVE y permite decrementar los valores del término∑
δw (in-
dicadores del nivel de equilibrio del sistema DVE). En el caso del sistema DVE de tipo
MEDIUM1, la técnica ALB logra evitar la saturación del sistema desde la 6a a la 9a itera-
ción del experimento a pesar de que en esta última iteración los porcentajes de utilización
de CPU de los servidores del sistema DVE ronden valores cercanos al 90 %. El sistema
sólose satura totalmente (iteración 10 de la tabla5.1) en el caso de que la carga total ge-
nerada por todos los avatares del sistema DVE exceda de la suma de las cargas soportadas
por los servidores del sistema. Para el sistema DVE de tipo MEDIUM2 (tabla5.2), ALB
consigue mantener al sistema bajo el punto de saturación durante dos iteraciones más que
la técnica ARPS. El sistema se satura irremediablemente en la iteración número 8 cuando
la suma de las cargas generadas por los avatares supera la suma de los niveles máximos de
carga soportada por los servidores. En esta iteración cinco servidores llegan a porcentajes
de utilización de CPU del 100 % mientras que el resto obtienen unas tasas de utilización
de CPU no inferior a 94 %. Esto demuestra el alto grado de balanceo de cargas. Por otra
parte, si analizamos el comportamiento de∑
δw en ambas tablas vemos que los valores
medios de este parámetro son significativamente mejores en el caso de la técnica ALB
que los obtenidos por la técnica ARPS. Esta característica indica que la maximización del
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 145
equilibrio de cargas que consigue ALB no solamente tiene lugar a medida que el sistema
se acerca al punto de saturación, sino que también ocurre en cualquier momento que el
mecanismo de particionado actúe durante toda la simulación.
Un comportamiento muy similar al mostrado en las tablas5.1 y 5.2, en el que se re-
crea una distribución sesgada con patrón de movimiento HPA, ocurre si se modifica la
localización inicial de avatares en la escena. Empleando el patrón de movimiento de ava-
tares HPA, las tablas5.3 y 5.4 muestran los resultados de la evaluación de prestaciones
de los sistemas DVE formados por 5 y 9 servidores respectivamente cuando sus avata-
res se encuentran uniformemente distribuidos a lo largo de la escena virtual. Tal y como
se puede apreciar en la figura2.6 del capítulo2 de la tesis, este tipo de distribución de
elementos facilita que el incremento de la carga generada por los avatares del sistema se
realice de una forma más paulatina que en el caso de distribuciones no uniformes. Esta
característica provoca que para patrones de movimiento como HPA (donde todos avatares
del sistema DVE se desplazan en dirección a los puntos calientes del mapa) los servidores
del sistema tarden alguna iteración más para empezar a saturarse que en el caso de dis-
tribuciones no uniformes. En este sentido, la tabla5.3 muestra la evolución del sistema
empleando ALB y ARPS como mecanismos de particionado a medida que la población
de 350 avatares (distribuida inicialmente de forma uniforme) se desplaza por la escena
mediante un patrón HPA. En esta ocasión el sistema no detecta la saturación de ninguno
de sus 5 servidores hasta que se produce la iteración número 9. A medida que se produce
la concentración de avatares, la carga en los servidores del sistema DVE aumenta hasta
el momento en que se produce la saturación del sistema DVE. Este fenómeno se produce
en la iteración 14 para el caso de ARPS (R14) y dos iteraciones más tarde en la técnica
de balanceo ALB (L16). Esta estrategia no sólo mejora la productividad del sistema para
esta configuración del sistema DVE, sino que además sus valores medios de equilibrio∑δw son significativamente más bajos a lo largo del resto de la simulación (valores de∑δw en columnas R13 y R14 frente a los valores de
∑δw en las columnas L14, L15 y
L16). Estas mismas conclusiones también pueden obtenerse a partir de los resultados de
esta misma configuración del experimento para el sistema DVE de tipo MEDIUM2. La
tabla5.4muestra la saturación del sistema en la iteración 13 (R13) causada por la imposi-
bilidad de ARPS de reducir por debajo del 100 % el porcentaje de utilización de CPU de
los servidoresS1 y S2. A pesar del exceso de carga que soportan estos servidores, ARPS
finaliza esta iteración permitiendo tener al servidorS6 niveles de carga por debajo de un
tercio de su utilización máxima. En el caso de ALB la saturación del sistema ocurre en la
iteración 14 (L14). En esa iteración la agrupación de la significativa cantidad de avatares
146 5.1. BALANCEO ADAPTATIVO DE CARGAS
en la escena provoca un nivel de carga generada superior a los niveles totales soportados
por todos los servidores del sistema DVE. A pesar de ello, el ámbito global del balan-
ceo de carga entre los servidores del sistema DVE permite a ALB mantener un equilibrio
más eficiente entre los servidores del sistema reduciendo significativamente los valores
de∑
δw.
Método - Iteración
R1 R9 R13 R14 L1 L9 L14 L15 L16
S0 8.9 25.0 41.6 61.2 8.9 25.0 41.2 77.5 99.6
S1 9.6 41.3 51.0 69.1 9.6 41.3 47.5 81.2 100.0
S2 12.0 86.6 90.6 89.0 12.0 86.6 90.5 89.0 100.0
S3 9.6 31.3 89.6 100.0 9.6 31.3 90.0 74.2 100.0
S4 10.5 22.9 41.0 54.6 10.5 22.9 44.6 84.6 98.2∑δw 15 388 412 620 15 388 215 51 77
Tabla 5.3: Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo MEDIUM1
con una distribución inicial de avatares uniforme y un patrón de movimiento HPA
Para finalizar el estudio del comportamiento de las técnicas evaluadas frente al patrón
de movimiento HPA (causante del mayor incremento posible de cargas por iteración de
entre los patrones probados) resta analizar sus prestaciones en poblaciones de tipo agru-
pado. Las tablas5.5y 5.6muestran el comportamientos de los servidores del sistema en
los dos sistemas DVE anteriores. Estos sistemas se componen respectivamente por 5 y
9 servidores. Tal y como se aprecia en la tabla5.5, el nivel de concentración de avatares
para el patrón de distribución agrupado en el sistema de 5 servidores genera un importante
incremento de la carga en muy pocas iteraciones. Esta característica facilita que algunos
servidores del sistema se saturen rápidamente en la iteración 5a (S1 y S3) y se requiera el
empleo de las técnicas de balanceo evaluadas. En el caso de ARPS el sistema finaliza la
simulación al término de la 6a iteración debido a la imposibilidad del mecanismo de par-
ticionado de redistribuir el nuevo excedente de carga (producido en el servidorS1) hacia
servidores comoS0, que finalizan la simulación valores inferiores al 65 % de tasa de CPU.
Una vez más, ALB no sólo retrasa la saturación del sistema hasta la 7a iteración (momen-
to en que la carga generada supera las capacidades de los servidores) sino que además
los valores del equilibrio de cargas∑
δw correspondientes a las iteraciones donde se ha
producido balanceo son significativamente menores. Tal y como ha ocurrido en el resto
de distribuciones de avatares sobre el patrón de movimiento HPA, hemos obtenido resul-
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 147
Método - Iteración
R1 R10 R12 R13 L1 L10 L12 L13 L14
S0 10.1 36.6 48.0 84.6 10.1 36.6 44.1 76.6 97.5
S1 8.3 79.0 86.9 100.0 8.3 79.0 84.6 91.5 100.0
S2 9.5 84.6 98.3 100.0 9.5 84.6 90.3 90.6 100.0
S3 9.6 69.1 78.3 89.6 9.6 69.1 74.6 89.9 100.0
S4 9.2 71.5 74.3 86.6 9.2 71.5 83.2 92.0 100.0
S5 8.7 84.6 89.6 94.1 8.7 84.6 89.6 84.6 98.6
S6 9.6 21.3 25.3 32.2 9.6 21.3 46.5 74.9 99.6
S7 9.3 63.0 79.5 88.6 9.3 63.0 70.1 75.6 97.1
S8 10.0 67.3 80.4 90.5 10.0 67.3 77.6 91.0 98.6∑δw 26 602 715 1701 26 602 332 125 39
Tabla 5.4: Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo MEDIUM2
con una distribución inicial de avatares uniforme y un patrón de movimiento HPA
tados similares a medida que se incrementan el número de servidores del sistema DVE.
La tabla5.6muestra la evaluación de prestaciones de HPA para una distribución agrupada
de avatares en el sistema formado por 9 servidores. En esta ocasión, la carga generada por
los avatares no satura ningún servidor del sistema DVE hasta llegada la iteración 6. En
esta iteración, la carga generada por los servidoresS2 y S3 hace necesaria la ejecución
de las respectivas estrategias de balanceo en cada experimento. En el caso de ARPS (R7)
el sistema sólo consigue superar una única iteración de HPA ya que el sistema abandona
a los servidoresS2 y S3 con porcentajes de uso de CPU del 100 %. A pesar de ello y
debido al ámbito excesivamente local de esta estrategia de balanceo de cargas, los servi-
doresS4 y S6 finalizan la simulación por debajo de la mitad de su capacidad máxima de
cómputo. Este comportamiento no ocurre en el caso de la técnica presentada ALB. Esta
técnica mantiene al sistema bajo el punto de saturación hasta llegada la iteración número
9 (L9) momento en que la carga generada por los avatares supera la capacidad total de los
servidores del sistema. Además de la mejora de prestaciones el sistema mantiene mejores
valores de equilibrio cargas o∑
δw que los conseguidos por la técnica ARPS, incluso al
llegar a la saturación (∑
δw=1049 en la iteración R7 de ARPS frente a∑
δw=212 en la
iteración L9 de ALB).
En último lugar presentamos la evaluación de prestaciones realizadas para el patrón de
148 5.1. BALANCEO ADAPTATIVO DE CARGAS
Método - Iteración
R1 R4 R5 R6 L1 L4 L5 L6 L7
S0 31.3 36.6 41.3 64.6 31.3 36.6 61.8 90.6 100.0
S1 32.6 81.2 89.6 100.0 32.6 81.2 90.1 90.2 100.0
S2 33.0 54.3 74.0 81.9 33.0 54.3 66.3 84.4 99.6
S3 29.8 41.3 91.0 94.6 29.8 41.3 88.9 90.1 98.5
S4 33.1 79.6 74.3 81.2 33.1 79.6 63.1 80.6 100.0∑δw 19 496 481 390 19 496 304 54 71
Tabla 5.5: Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo MEDIUM1
con una distribución inicial de avatares agrupada y un patrón de movimiento HPA
movimiento HPN sobre los tres diferentes tipos de distribuciones de avatares en la escena.
Tal y como se describe en el inicio de esta sección esta evaluación sólo se ha realizado
para el sistema de tipo MEDIUM2. En el caso de sistemas más reducidos, como es el
sistema DVE formado por 5 servidores de tipo MEDIUM1 empleado anteriormente, los
puntos calientes del patrón HPN no consiguen atraer al número suficiente de avatares para
que el incremento de carga en cada iteración sea significativo.
Las tablas5.7, 5.8 y 5.9 muestran los resultados obtenidos por las técnicas ARPS y
ALB para el tipo de movimiento HPN en el sistema DVE compuesto por 9 servidores y
600 avatares (MEDIUM2). En primer lugar, la tabla5.7 muestra el porcentaje de uso de
CPU y el factor de equilibrio∑
δw para los 9 servidores de la simulación cuando los 600
avatares del sistema DVE parten de una distribución inicial sesgada. Bajo esta configura-
ción los tres puntos calientes distribuidos aleatoriamente en la escena no consiguen saturar
ninguno de los servidores del sistema hasta llegada la iteración número 10. Dado que en
esta iteración se saturan simultáneamente los servidoresS0, S1 y S4, aparecen diferencias
significativas en el comportamiento de ambos métodos. A pesar de que ambas técnicas
consiguen mantener la utilización de CPU en torno a valores del 90 % en esta iteración,
la técnica ALB mantiene más equilibrada la carga de los servidores del sistema (valores
de∑
δw de 501 unidades frente a los 1015 de ARPS). La estrategia excesivamente local
de ARPS provoca la saturación del sistema DVE en la iteración número 11 (R11) ya que
la carga del servidorS0 no puede ser distribuida hacia servidores vecinos. Este compor-
tamiento no ocurre en la estrategia ALB, donde los servidores más descargados reciben
los excesos de carga de los servidores saturados. Esta característica permite al ejemplo de
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 149
Método - Iteración
R1 R5 R6 R7 L1 L5 L6 L7 L8 L9
S0 36.8 41.6 79.6 84.6 36.8 41.6 49.6 64.5 78.6 100.0
S1 37.6 45.4 68.5 81.6 37.6 45.4 64.5 81.5 90.4 99.6
S2 38.4 56.0 89.2 100.0 38.4 56.0 90.1 89.9 89.6 100.0
S3 37.5 71.2 88.6 100.0 37.5 71.2 87.9 91.0 89.6 100.0
S4 39.8 40.1 41.8 41.7 39.8 40.1 68.5 76.6 91.0 98.6
S5 36.1 48.6 64.6 61.6 36.1 48.6 48.5 57.5 96.4 100.0
S6 34.0 36.1 37.2 44.1 34.0 36.1 58.6 74.6 87.6 99.1
S7 41.5 50.7 61.5 71.3 41.5 50.7 62.3 78.1 87.5 100.0
S8 44.5 60.2 78.7 86.6 44.5 60.2 79.7 86.9 94.8 100.0∑δw 149 512 861 1049 149 512 612 403 181 212
Tabla 5.6: Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo MEDIUM2
con una distribución inicial de avatares agrupada y un patrón de movimiento HPA
ALB de la tabla5.7mantener al sistema bajo el punto de saturación hasta la iteración 12.
En esta iteración el sistema DVE se satura inevitablemente debido a que el volumen total
de carga generada por los avatares rebasa las capacidades máximas de los servidores del
sistema.
A continuación, la tabla5.8muestra los resultados obtenidos por la población anterior
(600 avatares) distribuida en la escena de forma agrupada y siguiendo un patrón de movi-
mientos de tipo HPN. Al igual que ocurría en los experimentos mostrados en las tablas5.5
y 5.6 el grado de cercanía de los avatares localizados en la escena bajo una distribución
inicial de avatares de tipo agrupado provoca una mayor aceleración en el incremento de
los niveles de CPU de los servidores del sistema DVE. Esta característica provoca que la
primera iteración de este patrón (R1 y L1 para ARPS y ALB respectivamente) presen-
te mayores tasas de CPU que los resultados obtenidos en distribuciones de tipo sesgado
(ver R1 y L1 en la tabla5.7). Debido al mismo motivo, la primera saturación en el sis-
tema DVE se produce en la iteración número 9 momento en que los servidoresS1, S6 y
S7 alcanzan porcentajes de utilización de CPU del 100 % (en el caso de los resultados
de la distribución sesgada mostrados en la tabla5.7 este fenómeno ocurría en la décima
iteración). Una iteración más tarde (R10), ARPS no consigue gestionar adecuadamente
el exceso de carga de los servidores saturados provocando que el sistema DVE se satu-
150 5.1. BALANCEO ADAPTATIVO DE CARGAS
Método - Iteración
R1 R9 R10 R11 L1 L9 L10 L11 L12
S0 30,5 81.0 94.6 100.0 30.5 81.0 90.1 90.6 100.0
S1 35.6 79.6 98.1 90.1 35.6 79.6 84.6 89.5 98.6
S2 33.1 34.4 41.3 45.6 33.1 34.4 52.3 77.1 100.0
S3 37.5 36.6 35.4 41.6 37.5 36.6 58.3 79.3 99.1
S4 29.8 84.6 89.8 90.1 29.8 84.6 89.8 91.7 100.0
S5 34.6 36.4 41.6 54.1 34.6 36.4 51.7 89.6 100.0
S6 37.4 41.0 45.6 60.5 37.4 41.0 51.6 87.1 100.0
S7 40.0 51.7 55.3 61.3 40.0 51.7 61.7 90.9 96.9
S8 34.6 35.9 37.8 49.6 34.6 35.9 52.8 76.1 98.3∑δw 160 804 1015 1327 160 804 501 202 204
Tabla 5.7: Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo MEDIUM2
con una distribución inicial de avatares sesgada y un patrón de movimiento HPN
re. Sin embargo, ALB no sólo mantiene al sistema por debajo del punto de saturación
hasta finalizada la iteración 12 (momento en que la carga global supera las capacidades
totales de los servidores) sino que además los valores de equilibrio de cargas∑
δw son
sensiblemente inferiores a medida que avanza el experimento.
Por último, la tabla5.9muestra la evolución de la tasa de CPU de los 9 servidores del
sistema cuando los avatares del sistema DVE se encuentran uniformemente distribuidos
en la escena virtual y se desplazan siguiendo un patrón de movimiento de tipo HPN. Dado
que en este caso el patrón HPN induce un incremento de cargas más paulatino, la técnica
ARPS mantiene al sistema DVE por debajo del punto de saturación del sistema hasta
la iteración número 15 (R15). También en esta ocasión, los servidores que gestionan las
regiones de máxima afluencia de avatares se saturan completamente (servidoresS4,S5,S7
y S8), a pesar de que algunos servidores del sistema DVE rondan unas tasas de uso de
CPU cercanas al 10 %. La técnica ALB (LX) produce un comportamiento totalmente
distinto. Este mecanismo consigue equilibrar completamente las cargas del sistema DVE
durante toda la simulación (100 iteraciones), manteniendo los porcentajes de utilización
de CPU de todos los servidores del sistema por debajo del 100 %. Además, los valores
de la desviación estándar de la carga son dos órdenes de magnitud más bajos que los
obtenidos por ARPS durante las únicas 15 iteraciones en las que mantuvo al sistema bajo
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 151
Método - Iteración
R1 R9 R10 L1 L9 L10 L11 L12
S0 40,1 84.1 89.1 40.1 70.3 84.6 89.6 100.0
S1 38.5 89.6 90.1 38.5 88.9 90.1 94.2 99.1
S2 37.1 40.6 63.1 37.1 61.6 79.6 91.1 100.0
S3 33.5 34.6 38.9 33.5 59.6 71.2 84.6 99.6
S4 43.2 58.6 69.6 43.2 68.9 84.6 90.6 100.0
S5 39.1 40.1 44.6 39.1 62.3 74.6 87.1 100.0
S6 36.5 89.6 90.1 36.5 90.0 89.6 93.2 98.6
S7 39.1 90.1 100.0 39.1 90.1 89.1 89.6 100.0
S8 43.2 51.0 77.7 43.2 71.5 86.6 91.1 100.0∑δw 151 906 791 151 453 191 108 240
Tabla 5.8: Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo MEDIUM2
con una distribución inicial de avatares agrupada y un patrón de movimiento HPN
el punto de saturación.
Como conclusión de todos estos resultados, podemos afirmar que ALB permite man-
tener al sistema DVE bajo el punto de saturación siempre que la suma de la carga generada
por los avatares sea inferior a la suma de los niveles máximos de carga soportada por los
servidores. Esta propiedad no sólo se cumple con independencia a la distribución inicial
de los avatares en la escena y al patrón de movimiento de los mismos, sino que permanece
invariante para los diferentes tamaños de los sistemas evaluados.
5.2. MECANISMO DE PARTICIONADO DE GRANO FINO
Un problema que presentan tanto la técnica ARPS [7] [63] como la propuesta ALB
radica en que cuando el sistema DVE trabaja cerca de la saturación, al aplicar la técnica y
migrar parte de la carga de un servidor a otro, el servidor de destino puede a su vez que-
dar saturado con la nueva carga. En el momento que se produce esta situación, y con el
objetivo de reducir el porcentaje de utilización de CPU del nuevo servidor saturado, el al-
goritmo de balanceo de cargas ha de ejecutarse otra vez. Dado que en estas circunstancias
152 5.2. MECANISMO DE PARTICIONADO DE GRANO FINO
Método - Iteración
R1 R12 R13 R14 R15 L1 L12 L13 L14 L15 L25 L100
S0 9.0 93.9 54.2 74.3 65.1 9.0 93.9 89.4 98.4 97.7 98.4 91.6
S1 9.1 8.8 8.5 8.5 12.7 9.1 8.8 38.9 89.5 96.5 87.5 92.6
S2 8.8 33.3 44.4 55.8 79.8 8.8 33.3 45.7 87.6 95.4 97.5 89.9
S3 9.8 64.4 88.7 97.2 59.6 9.8 64.4 81.1 74.1 89.6 89.6 98.6
S4 9.0 16.0 76.3 94.6 100.0 9.0 16.0 53.6 65.2 88.5 90.0 97.5
S5 11.3 42.4 60.0 74.2 100.0 11.3 42.4 52.9 89.6 94.6 90.4 90.2
S6 9.5 18.0 15.8 26.9 28.5 9.5 18.0 22.5 95.2 97.6 97.5 97.2
S7 9.2 53.0 69.5 91.0 100.0 9.2 53.0 65.9 96.6 96.9 94.1 94.3
S8 8.6 65.1 78.1 98.7 100.0 8.6 65.1 79.6 97.1 98.1 77.5 92.9∑δw 22 897 865 1030 1615 22 897 214 74 89 61 40
Tabla 5.9: Resultados de las técnicas ARPS y ALB en un sistema DVE de tipo MEDIUM2
con una distribución inicial de avatares uniforme y un patrón de movimiento HPN
la mayoría de servidores del sistema se encuentran cerca del punto de saturación, el algo-
ritmo de balanceo de cargas puede ser ejecutado numerosas veces antes de que encuentre
una configuración del sistema que aceptando la carga actual mantenga al sistema bajo el
punto de saturación [65]. Esta situación es conocida como elefecto cascadadel balanceo
de cargas en sistemas DVE [7]. Este efecto se produce por la localidad de la estrategia de
particionado propia de la técnica ARPS y a la indivisibilidad de la carga balanceada en el
caso de ALB. Las consecuencias del efecto cascada son una reducción de las prestaciones
del sistema DVE provocado por una ejecución reiterativa del mecanismo de balanceo de
cargas entre los servidores el sistema.
En esta sección proponemos un método de grano fino, denominado FGALB, para re-
solver de forma dinámica el problema del particionado en sistemas DVE. Este método
coincide con ALB en dos aspectos clave. Por una parte, implica a todos los servidores
del sistema en el proceso del balanceo de cargas, y por otra, tiene en cuenta el comporta-
miento no lineal de los sistemas DVE con respecto al número de avatares. Sin embargo,
a diferencia de ALB el exceso de carga que causa la saturación de un servidor se distri-
buye proporcionalmente entre los servidores menos cargados del sistema. Por un parte,
esta estrategia evita el efecto cascada debido a que el excedente de carga no se asigna
completamente a un servidor. Por otra, este esquema de asignación de grano fino permite
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 153
incrementar la productividad del sistema mediante la migración de un pequeño conjunto
de avatares del sistema DVE. Los resultados de la evaluación de prestaciones sobre dife-
rentes tamaños del sistema muestran que la técnica propuesta mejora el rendimiento y las
prestaciones del sistema independientemente de la distribución inicial de avatares y de su
patrón de movimientos por la escena virtual.
5.2.1. FGALB. Una estrategia de grano fino
Si se desean mejorar las prestaciones del sistema DVE obtenidas mediante la estrate-
gia de particionado descrita en la sección anterior [63], el efecto cascadaprovocado por
dicha técnica ha de ser eliminado. Sin embargo, este objetivo sólo se puede lograr si se
emplea un esquema de asignación de cargas de grano fino. Aunque el empleo de este es-
quema puede incrementar el volumen de mensajes inter-servidor, este parámetro no tiene
un efecto significativo en el tiempo de respuesta del sistema siempre que éste se man-
tenga por debajo del punto de saturación [65]. Por lo tanto, un mecanismo de balanceo
de cargas basado en grano fino puede mejorar la productividad del sistema obtenida me-
diante ALB (definida como el número de usuarios conectados simultáneamente sin que
se comprometa significativamente la latencia del sistema DVE).
Bajo estas características, proponemos una nueva técnica dinámica de balanceo de
cargas, denominada FGALB (del inglés “Fine-Grain Avatar Load Balancing”). Esta téc-
nica está basada en las estrategias de paralelismo de datos empleados en los servicios de
red de grano fino para“clusters’’ de computadores [75]. Tal y como ocurre con ALB,
la técnica FGALB empieza a partir de una asignación básica de los avatares del sistema
DVE a los servidores del sistema. Con independencia de que puede ser empleada cual-
quier estrategia de las descritas en el capítulo3 [49, 58, 60], hemos aplicado el mecanismo
de particionado basado en algoritmos genéticos para obtener esta asignación inicial de los
avatares del sistema [57].
FGALB se ejecuta cuando cualquier servidorSx del sistema DVE registra una tasa
del 100 % de uso de CPU. Al igual que en el caso de ALB, estos valores umbrales deben
ser ajustados con respecto a la latencia del sistema para que el sistema DVE no llegue a
la saturación mientras el algoritmo de particionado se calcula y se reasignan los avatares.
La idea básica de FGALB radica en seleccionar un conjunto de avatares del sistema que
estén actualmente asignados aSx y distribuirlos entre los servidores con menor carga
154 5.2. MECANISMO DE PARTICIONADO DE GRANO FINO
del sistema DVE. Tal y como se comenta en el capítulo2, los datos de los parámetros
del sistema necesarios para lograr dicha monitorización están normalmente disponibles
gracias al servicioLoC implementado en algún servidor del sistema DVE. Aunque este
valor pueda ser convenientemente ajustado con respecto a la latencia media del sistema,
el número de avatares deSx elegidos (Ω) para abandonar este servidor debe de ser aquel
cuya estimación de carga garantice dejar al servidorSx con una tasa de uso de CPU de
aproximadamente el 90 % (valor umbral en ALB).
A diferencia de la técnica ALB, FGALB distribuye la carga que satura aSx entre un
conjunto de servidores del sistema cuidadosamente elegido (mecanismo de grano fino).
Para ello, y a partir de la información proporcionada por el servicio LoC, construye una
lista de los servidores del sistema DVE (Sy1, Sy2, · · ·SyN) ordenada descendentemente
por su carga (Sy1 corresponde al servidor del sistema que actualmente tiene menos carga).
A partir de esta ordenación, el primer paso de FGALB consiste en construir la lista de
avatares candidatos del servidorSy1. A pesar de que esta lista está inicialmente compuesta
por los avatares asignados al servidorSx, éstos se encuentran ordenados por su distancia
euclidea en la escena virtual al centro de masas de los avatares asignados actualmente
al servidorSy1. Este criterio intenta reducir el tráfico de mensajes inter-servidor una vez
sean migrados los avatares desde el servidor saturadoSx. Debido a su configuración, esta
ordenación de avatares deSx se denominaLCA1 o Lista de Avatares CandidatosdeSx
para el servidorSy1. Este criterio de ordenación selecciona potenciales avatares para ser
reasignados. En este sentido, la migración de avatares deSx se llevará a cabo dependiendo
del estado actual de los avatares en el servidor de destino.
El siguiente paso del algoritmo FGALB consiste en asignar los primeros avatares de
la listaLCA1 al servidorSy1. Esta migración de avatares desde el servidorSx hastaSy1 se
realizará de forma secuencial hasta que, o bienSx haya conseguido descender al menos
en un 10 % su tasa de uso de CPU, o bien el valor de utilización de CPU estimada de
Sy1 supere los niveles de utilización de CPU estimada deSy2 . En el primer caso FGALB
finaliza, ya que todo los avatares excedentesSx han migrado hacia otro servidor. En el
segundo caso, FGALB todavía ha de calcular la listaLCA2. Esta lista contiene también
a todos avatares asignados actualmente al servidorSx,pero ahora ordenados descendente-
mente con respecto al centro de masas de los avatares deSy2 . El cambio en la asignación
de los primeros avatares deLCA2 se realiza secuencialmente al servidorSy2 hasta que,
o bien, la carga generada por los avatares movidos anteriormente aSy1 y ahora aSy2 re-
duzcan en un 10 % la tasa de uso de CPU deSx, o bien, la carga estimada deSy2 sea
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 155
mayor que la carga estimada en el servidorSy3. Siguiendo este proceso, FGALB continua
asignando avatares desdeSx a los elementos de la listaSy1, Sy2, · · · , SyNhasta que su
carga estimada descienda al menos en un 10 % de su valor inicial.
La técnica FGALB tiene en cuenta el estado de los servidores destino antes de realizar
la migración masiva de avatares. Si fuera necesario, el exceso de carga deSx se distribuye
proporcionalmente entre los diferentes servidores del sistema DVE de acuerdo con sus
tasas relativas de uso de CPU. Como resultado de esta técnica el efecto cascada se elimina
y, tal y como se muestra en la siguiente sección, se consigue incrementar la productividad
del sistema.
5.2.2. Evaluación de prestaciones
En esta sección presentamos los resultados de la evaluación de prestaciones de la téc-
nica de balanceo de cargas FGALB. Para llevar a cabo esta evaluación, hemos empleado la
plataforma y el modelo de evaluación de prestaciones de sistemas DVE genéricos descrito
en el capítulo2.
Siguiendo las especificaciones de la evaluación de prestaciones de la técnica ALB
descritas anteriormente, hemos simulado numerosas configuraciones de sistemas DVE
analizando desde sistemas de formato medio (350 avatares y 5 servidores) hasta grandes
simulaciones (600 avatares y 9 servidores). Para llevar a cabo estas simulaciones hemos
empleado la infraestructura de los laboratorios del Departamento de Informática de la
Universidad de Valencia. Estos laboratorios disponen de una red de computadores (Et-
hernet a 10 Mbps.) compuesta de equipos PC idénticos y equipados con procesadores
Pentium IV a 1.7Ghz, 256 MB de RAM, tarjeta gráfica nVidia Geforce2 MX-400 y siste-
ma operativo Windows 2000 Professional.
Al igual que en la evaluación de la técnica ALB, el esquema de simulación propuesto
para la evaluación de prestaciones está formado por una escena virtual libre de obstáculos
y con dimensiones 200x200 unidades. Sobre esta escena, losN avatares de la simulación
realizan simultáneamente 100 desplazamientos iterativos siguiendo los patrones de movi-
miento CCP, HPA y HPN (ver sección2.3.3). Estos avatares disponen de una AOI esférica
de radioR=15 unidades que mantienen invariable durante toda la simulación. Debido a
que la carga que generan los avatares a los servidores donde se encuentran asignados no
156 5.2. MECANISMO DE PARTICIONADO DE GRANO FINO
es estática [64], los patrones de movimiento anteriores han sido evaluados sobre las tres
distribuciones de avatares en la escena mas comunes: uniforme, sesgada y agrupada.
Tal y como ocurría en la evaluación de prestaciones de la técnica ALB descrita en la
sección anterior, no todas las combinaciones de tamaño del sistema, modelo de distribu-
ción y patrón de movimiento generan el suficiente incremento de carga como para hacer
llegar al 100 % el porcentaje de utilización de CPU de los servidores del sistema DVE y
así ejecutar las estrategias de balanceo de cargas. Por este motivo, carece de sentido in-
cluir la evaluación de prestaciones de FGALB para patrones de movimiento de tipo CCP,
y también la evaluación del patrón HPN sobre sistemas de formato medio.
La tablas mostradas a continuación muestran los resultados de la evaluación de pres-
taciones obtenidas por las técnicas de balanceo ARPS, ALB y FGALB en los sistemas
descritos anteriormente. Estos sistemas están formados por 5 servidores y 350 avatares
(MEDIUM1), y 9 servidores y 600 avatares (MEDIUM2). Estas tablas indican los por-
centajes de utilización de CPU de los servidores del sistema una vez han finalizado cada
una de las sucesivas iteraciones en que costa la simulación. Así pues, cada fila muestra
las prestaciones (porcentaje de utilización de CPU) obtenidas en un servidor determina-
do (S0..Sn) y cada columna muestra las tasas de uso de CPU obtenidas con una técnica
de particionado tras una iteración dada en cada uno de los servidores. Dado que hemos
evaluado conjuntamente las técnicas ARPS, ALB y FGALB, hemos empleado respecti-
vamente las etiquetas RX, LX y FX para indicar el resultado de la aplicación de estas
técnicas en la iteración númeroX. A continuación de estas medidas, esta tabla indica en
la penúltima fila la suma de la desviación estándard de la carga que soporta cada servidor
con respecto a la estimación media del equilibrio perfecto (∑
δw). Cuanto más pequeño
sea el parámetro∑
δw mejor será el estado actual del equilibrio de cargas en los servi-
dores del sistema DVE. Con el objetivo de recrear los experimentos de forma precisa y
para ser imparcial en la evaluación de resultados, todas las estrategias de balanceo diná-
mico parten de la misma asignación inicial de avatares a los servidores del sistema [7].
Finalmente, la ultima fila de la tabla oA.M. (Avatares Movidos) muestra el número total
de avatares que cada estrategia ha necesitado migrar en cada iteración para conseguir los
valores de equilibrio∑
δw de la fila anterior. Los valores de A.M. proporcionan una esti-
mación del coste de la aplicación de la estrategia de particionado ya que la reasignación
de avatares implica un incremento del tráfico inter-servidor y de la carga computacional
del sistema DVE. Este valor es lo que se denominaeficiencia de particionado[46]. Valo-
res excesivamente grandes de este parámetro en una misma iteración indican la aparición
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 157
del efecto cascada en el equilibrado de la carga del sistema.
Las tablas5.10y 5.11muestran los resultados de la evaluación de las técnicas ARPS,
ALB y FGALB en los sistemas de tipo MEDIUM1 y MEDIUM2. En estos experimentos
los avatares siguen un patrón de movimiento de tipo HPA y parten de una distribución
inicial de tipo agrupada. Dado que en el movimiento causado por este patróntodoslos
avatares del sistema DVE empiezan a concentrarse en torno a zonas muy concretas de la
escena (puntos calientes), la carga generada por éstos a los servidores donde están asig-
nados crece significativamente en cada nueva iteración. El incremento substancial de la
carga en el sistema provoca que el sistema DVE alcance el punto de saturación con in-
dependencia del tipo de técnica de balanceo. No obstante, ambas tablas muestran en las
dos configuraciones del sistema DVE que la técnica FGALB proporciona un mejor equi-
librio que las estrategias ALB y ARPS siempre que el sistema se mantenga por debajo
del punto de saturación. En el caso de la tabla5.10, donde se muestran los resultados del
sistema de tipo MEDIUM1, la técnica ARPS sólo mantiene el sistema estabilizado hasta
la séptima iteración de la simulación. En esta iteración, los servidoresS0 y S3 finalizan
con un porcentaje de utilización de CPU del 100 %. A pesar de que ARPS ha provocado
la saturación del sistema DVE por el exceso de carga inducido en los servidorS0 y S3,
esta estrategia mantiene erróneamente al servidorS1 con una tasa de CPU cercana a la
mitad de su utilización máxima. Este comportamiento se agrava en el caso del sistema
formado por 9 servidores. La tabla5.11muestra como el mecanismo de balanceo ARPS
satura el sistema en la iteración 6a debido a que el servidorS7 llega al 100 % de su por-
centaje máximo de utilización de CPU. Esta saturación se produce mientras servidores
comoS1 y S3 están empleando porcentajes de utilización de CPU cercanos a un tercio de
su capacidad máxima. La razón de este comportamiento está relacionada con el ámbito
excesivamente local de la estrategia de equilibrado ARPS. Dado que esta estrategia libera
la carga de los servidores saturados mediante la elección del servidor vecino más libre, es
muy común que (por motivos de la división de la escena en regiones) servidores poco car-
gados del sistema no queden al alcance de ARPS como posibles servidores de descarga de
avatares. Por el contrario, las técnicas ALB y FGALB son capaces de distribuir todos los
excedentes de carga producidos en cada iteración entre todos y cada uno de los servidores
del sistema. Este el motivo por el que los valores del parámetro∑
δw obtenidos por estas
técnicas son sensiblemente más bajos.
Ambas tablas muestran también una información muy relevante en aquellas itera-
ciones en las que tanto ALB como FGALB consiguen incrementar la productividad del
158 5.2. MECANISMO DE PARTICIONADO DE GRANO FINO
sistema. Este fenómeno se produce en las iteración 9 de la tabla5.10 y en la iteración
7 de la tabla5.11. En estos casos FGALB es capaz de proporcionar niveles muy bajos
de∑
δw migrando la mínima cantidad de avatares. La reducción de avatares realizada ha
sido de un 69.2 % en el caso del sistema de 5 servidores de la tabla5.10(61 frente a los
198 de ALB) y de un 95 % en el sistema de 9 servidores de la tabla5.11(19 frente a 380
de ALB). Una iteración más tarde en ambos experimentos los sistemas DVE entran en un
estado de saturación profunda. Esta condición no limita que la técnica ALB necesite mi-
grar un mayor número de avatares totales que los reasignados por FGALB para obtener
valores semejantes de equilibrio∑
δw. Estos resultados parecen indicar que cuando el
sistema se encuentra trabajando cerca del punto de saturación profunda, el mecanismo de
equilibrado de grano fino FGALB permite eliminar el efecto cascada y obtener mejores
prestaciones globales del sistema DVE que las obtenidas por las técnicas ARPS y ALB.
Método - Iteración
R7 L7 F7 L9 F9 L10 F10
S0 100.0 90.1 90.0 91.0 90.3 100.0 98.1
S1 55.8 76.1 70.1 91.2 90.6 100.0 99.4
S2 84.2 79.3 80.7 89.6 88.6 96.8 100.0
S3 100.0 88.9 89.5 88.9 90.2 99.6 100.0
S4 68.1 73.9 78.0 90.6 91.6 98.6 97.6∑δw 513 112 131 26 21 161 149
A.M. 96 53 19 198 61 215 80
Tabla 5.10: Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de tipo
MEDIUM1 con una distribución de avatares sesgada y un patrón de movimiento HPA
La tablas5.12y 5.13muestran respectivamente los resultados de simulación en sis-
temas MEDIUM1 y MEDIUM2 para una distribución uniforme de avatares moviéndose
a lo largo de la escena según un patrón de movimiento HPA. Dado que en esta ocasión
todos los avatares del sistema DVE se encuentran inicialmente localizados en la escena
siguiendo una distribución uniforme, los valores de carga inicial generados por esta po-
blación son mucho menores que los registrados en el caso anterior. Como consecuencia
de este fenómeno, el sistema DVE de 5 servidores se mantiene por debajo del punto de
saturación total hasta la iteración número 13 (columnas R13, L13 y F13 de la tabla5.12).
En el caso del sistema de 9 servidores la saturación total aparece una iteración más tarde
(columnas R14, L14 y F14 de la tabla5.13). En este caso, la habilidad con la que FGALB
evita el efecto cascada, no sólo le permite mejorar la productividad del sistema DVE sino
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 159
Método - Iteración
R6 L6 F6 L7 F7 L8 F8
S0 59.6 84.9 37.4 99.9 96.9 100 100
S1 32.7 46.6 43.4 98.5 95.4 100 100
S2 81.6 42.7 61.6 96.1 97.8 99.4 99.8
S3 36.4 51.8 47.2 94.6 97.6 99.6 99.6
S4 68.5 47.5 43.3 95.0 97.0 98.4 98.6
S5 58.8 84.9 84.6 96.4 96.9 100 99.5
S6 58.4 61.0 55.6 97.5 98.0 97.5 99.1
S7 100 62.9 66.8 94.1 97.1 100 97.9
S8 20.6 34.4 33.5 99.1 96.9 99.6 100∑δw 660 512 466 62 18 23 21
A.M. 104 27 31 380 19 1953 32
Tabla 5.11: Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de tipo
MEDIUM2 con una distribución de avatares sesgada y un patrón de movimiento HPA
además, mantiene al sistema por debajo del punto de saturación durante una iteración más
que ALB. Con independencia del tamaño del sistema, el retardo del punto de saturación se
incrementa a dos iteraciones si se compara con el caso de la técnica ARPS. A su vez, son
destacables las importantes diferencias existentes entre las prestaciones obtenidas por las
diferentes técnicas de particionado dinámico. Estas diferencias aparecen, tanto en térmi-
nos de volumen de avatares migrados como en desviación del equilibrado perfecto∑
δw.
La tabla5.12muestra estas diferencias para el sistema de 5 servidores. En la iteración 14
las técnicas ALB (L14) y FGALB (F14) reducen a un tercio el valor de equilibrio∑
δw
conseguido por la estrategia ARPS. Además, FGALB consigue esta reducción mediante
la reasignación de sólo 13 avatares (F14) frente a las 41 modificaciones que realiza ALB
(L14). Un comportamiento similar se produce en las dos iteraciones siguientes. En estas
iteraciones FGALB consigue valores similares de equilibrio∑
δw mediante la reasigna-
ción de la mitad de avatares que los empleados por la estrategia ALB.
En el caso del sistema de 9 servidores mostrado en la tabla5.13no sólo el número
de migraciones necesarias por la técnica ARPS en la iteración 13 es un orden de mag-
nitud mayor que las realizadas por las otras dos estrategias, sino también su desviación∑δw es dos veces mayor que los valores obtenidos por ALB y FGALB. Por otra parte,
160 5.2. MECANISMO DE PARTICIONADO DE GRANO FINO
en la iteración 14, el número de avatares migrados por ALB es dos ordenes de magnitud
mayor que el requerido por la técnica FGALB. Sin embargo, los valores de∑
δw propor-
cionados por esta técnica de ámbito local son 3 veces peores que los obtenidos mediante
el algoritmo de grano fino FGALB. Finalmente, en la iteración 15 la técnica FGALB
finaliza irremediablemente sin proporcionar una partición del sistema que no provoque
la saturación completa del sistema DVE. Los valores mostrados en esta iteración son un
ejemplo de como FGALB distribuye uniformemente la carga del sistema entre todos sus
servidores. Tal y como puede apreciarse en la columna correspondiente, aunque la mitad
de los servidores del sistema se han saturado simultáneamente, la menor de las tasas de
CPU recogidas al final de la iteración ha sido del 98 %.
Método - Iteración
R14 L14 F14 L15 F15 L16 F16
S0 61.6 74.9 70.6 88.6 87.5 100.0 99.4
S1 54.6 77.6 75.6 87.2 86.6 100.0 98.6
S2 84.6 69.1 73.5 81.6 80.9 100.0 100.0
S3 100.0 89.0 90.0 90.1 91.0 99.6 100.0
S4 100.0 90.2 91.1 89.0 90.5 98.8 99.6∑δw 612 201 225 214 231 140 179
A.M. 64 41 13 105 49 145 62
Tabla 5.12: Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de tipo
MEDIUM1 con una distribución de avatares uniforme y un patrón de movimiento HPA
La tabla5.14muestra los resultados de las técnicas ARPS, ALB y FGALB para el pa-
trón HPA con distribución inicial agrupada en el sistema DVE de tipo MEDIUM1. Dado
que manteniendo el tipo de servidores y el número de avatares la distribución agrupada
genera inicialmente valores mayores de carga, la saturación total del sistema ocurre antes
en configuraciones del sistema con distribuciones agrupadas que en cualquier otro tipo de
distribuciones iniciales de avatares en la escena. La saturación total se produce en la ite-
ración 6a de ARPS, momento en el que esta estrategia de balanceo de cargas no consigue
gestionar el exceso de carga producido en los servidoresS2 y S3. En el caso de distribu-
ciones de avatares sesgadas y uniformes probadas para este mismo tipo de sistema este
fenómeno se producía respectivamente en las iteraciones 7 y 14 (ver tablas5.10y 5.12).
Debido al significativo crecimiento de la carga generada tras cada nueva iteración con esta
combinación de distribución inicial y tipo de movimiento, las técnicas ALB y FGALB no
superan la 7a iteración de este experimento. Bajo ambas estrategias de balanceo, el siste-
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 161
Método - Iteración
R13 L13 F13 L14 F14 F15
S0 97.6 89.4 92.6 100 94.9 99.4
S1 15.3 60.1 74.3 91.6 94.5 98.2
S2 86.1 84.6 68.2 87.5 94.1 100
S3 100 91.6 89.9 94.8 95.4 100
S4 75.6 78.1 71.5 94.5 97.5 99.6
S5 81.9 79.3 84.2 96.6 94.7 98.4
S6 90.3 64.7 72.1 94.8 93.4 100
S7 100 89.4 84.1 99.9 94.3 98.6
S8 100 89.5 89.7 94.5 95.2 100∑δw 609 326 295 94 28 23
A.M. 1070 196 13 991 16 125
Tabla 5.13: Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de tipo
MEDIUM2 con una distribución de avatares uniforme y un patrón de movimiento HPA
ma entra en un estado de saturación profunda debido a que la suma de la carga generada
por todos los avatares del sistema DVE supera el total de la capacidad de los servidores
del sistema. La tabla5.14muestra también unas diferencias significativas entre los nive-
les de equilibrio∑
δw y el número de avatares movidos por las tres técnicas. Durante las
iteraciones 5 y 6, ALB y FGALB reducen en más de la mitad el factor de equilibrio de
cargas∑
δw. Respecto al número de avatares reasignados, FGALB minimiza significati-
vamente los valores de ALB en un 82.5 %, 81.8 % y 65.1 % para las iteraciones 5, 6 y 7
mostradas en la tabla5.14.
La tabla5.15muestra los resultados obtenidos por las técnicas ARPS, ALB y FGALB
en el sistema de tipo MEDIUM2 para configuraciones iniciales de avatares agrupadas y
patrones de movimiento de tipo HPA. Bajo esta configuración, ARPS no consigue superar
la iteración séptima (R7) debido al exceso de carga creado en los servidoresS0, S3 y S7.
ARPS es incapaz de asignar convenientemente esta carga a servidores comoS1 o S2 que
finalizan la simulación por debajo de la mitad de su capacidad máxima de cómputo. Dado
que ALB y FGALB consiguen mantener al sistema por debajo del punto de saturación
hasta que la carga total generada (que se incrementa en cada una de las iteraciones debido
a que todos los avatares se mueven hacia los puntos calientes) supera la capacidad total
162 5.2. MECANISMO DE PARTICIONADO DE GRANO FINO
Método - Iteración
R5 L5 F5 R6 L6 F6 L7 F7
S0 74.1 67.1 70.0 87.6 82.8 80.1 100.0 99.7
S1 50.6 71.4 74.3 51.3 84.6 82.6 98.4 98.6
S2 90.1 90.0 89.0 100.0 90.1 88.9 100.0 100.0
S3 84.6 61.7 68.7 100.0 78.0 81.3 100.0 100.0
S4 64.9 74.1 62.3 76.5 79.9 82.5 99.6 100.0∑δw 391 175 153 415 80 73 190 181
A.M. 93 63 11 187 99 18 175 61
Tabla 5.14: Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de tipo
MEDIUM1 con una distribución de avatares agrupada y un patrón de movimiento HPA
de los servidores, la saturación profunda no aparece bajo estas estrategias hasta finalizada
la iteración novena (etiquetadas como L9 y F9). En términos de equilibrio de cargas, las
técnicas ALB y FGALB reducen a la mitad los valores del factor∑
δw obtenidos por
ARPS. Por otra parte, el número de avatares movidos por FGALB es significativamente
más reducido que los valores obtenidos por ALB en todas las iteraciones.
Al igual que se han mostrado los resultados obtenidos para el patrón de movimiento
HPA en las diferentes distribuciones iniciales de avatares (uniforme, sesgada y agrupada)
y con los dos distintos formatos de sistema (5 y 9 servidores) mostramos a continuación
los resultados de las técnicas de balanceo propuestas para el patrón de movimiento HPN.
Tal y como hemos destacado en la sección anterior, la definición de las zonas de atracción
para este patrón no genera normalmente un incremento de carga suficiente como para
saturar en diferentes ocasiones a cualquiera de los cinco servidores del sistema de formado
medio. Debido a este motivo, mostramos el comportamiento de los servidores del sistema
para el sistema DVE que gestiona mayor densidad de avatares (9 servidores y 600 clientes
en una escena virtual cuadrada de 200x200 unidades).
La tabla5.16 muestra los resultados de la evaluación de prestaciones para una dis-
tribución inicial sesgada de 900 avatares siguiendo un patrón de desplazamiento de tipo
HPN. Dado que este patrón sólo agrupa cerca de los puntos calientes de la escena a un
subconjunto de avatares de la población, el incremento de carga que se produce en cada
iteración es menor que en el caso del patrón HPA (ver tabla5.11). Esta reducción en el
incremento de la carga permite que el sistema DVE se mantenga un número mayor de
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 163
Método - Iteración
R7 L7 F7 L8 F8 L9 F9
S0 100.0 90.1 88.5 90.6 89.6 100.0 99.1
S1 42.1 71.5 59.6 84.6 91.2 100.0 100.0
S2 44.6 68.1 56.4 90.2 86.5 99.1 100.0
S3 100.0 89.9 91.0 91.5 87.6 100.0 100.0
S4 71.6 65.6 71.9 84.6 88.6 98.6 97.5
S5 79.2 74.2 72.6 87.6 92.0 96.1 98.2
S6 69.5 66.9 68.4 84.1 87.2 100.0 100.0
S7 100.0 88.9 90.1 95.5 87.5 100.0 100.0
S8 60.7 62.5 79.2 84.6 83.1 96.5 98.3∑δw 1102 548 494 481 447 515 624
A.M. 940 212 23 691 24 814 117
Tabla 5.15: Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de tipo
MEDIUM2 con una distribución de avatares agrupado y un patrón de movimiento HPA
iteraciones por debajo del punto de saturación. Así, mientras que FGALB no conseguía
superar la octava iteración con la misma distribución sesgada de avatares empleando el
patrón HPA (tabla5.11), ahora en el caso de HPN el algoritmo finaliza en la iteración 13.
Refiriéndonos explícitamente a los resultados mostrados en la tabla5.16, otra vez FGALB
es capaz de mejorar la productividad del sistema manteniendo al sistema DVE por debajo
del punto de saturación una iteración más que las estrategias ALB y dos más que ARPS.
Además, es importante destacar el escaso número de avatares migrados por la técnica
FGALB a medida que el sistema DVE se acerca al punto de saturación (columna F13).
Este comportamiento se produce por la capacidad que tiene esta estrategia de particionado
para evitar el efecto cascada.
Un comportamiento similar al mostrado en la tabla5.16 ocurre cuando el sistema
gestiona mayores valores de carga media. Tal y como muestra la tabla5.17, este caso se
produce cuando los 900 avatares localizados inicialmente según una distribución inicial
de tipo agrupado se desplazan a lo largo de la escena virtual siguiendo un patrón de mo-
vimiento HPN. Al igual que ARPS satura el sistema en la iteración 11 para distribuciones
sesgadas (R11 de la tabla5.16), el incremento de carga causado por los avatares en la dis-
tribución agrupada provoca que el sistema se colapse en la décima distribución (R10 de la
164 5.2. MECANISMO DE PARTICIONADO DE GRANO FINO
Método - Iteración
R11 L11 F11 L12 F12 F13
S0 36.3 48.0 54.3 96.4 97.2 100
S1 54.3 89.4 89.4 98.5 97.1 99.9
S2 68.0 67.7 46.5 96.5 96.5 100
S3 100 79.7 73.9 95.8 95.8 98.8
S4 45.9 44.4 51.7 95.0 97.6 99.6
S5 42.7 53.6 60.6 99.2 98.2 100
S6 32.8 43.6 53.7 97.5 99.2 98.9
S7 46.5 48.2 47.2 93.9 97.9 99.1
S8 100 61.5 49.4 99.0 97.6 100∑δw 740 480 387 81 21 16
A.M. 43 21 18 201 22 41
Tabla 5.16: Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de tipo
MEDIUM1 con una distribución de avatares sesgada y un patrón de movimiento HPN
tabla5.17). Esta saturación (causada por el significativo incremento de carga en los servi-
doresS1 y S7) no aparece hasta llegada la iteración 12 si se usa la técnica de particionado
FGALB. En términos de prestaciones del sistema, la técnica FGALB no sólo mantiene
niveles de equilibrio∑
δw similares (F10 y F12) o menores (F11) que ALB, sino que
además el número de avatares migrados para lograr dicho equilibro es significativamente
menor durante todas las iteraciones en las que se ejecutan los diferentes mecanismos de
balanceo de cargas.
Finalmente, la tabla5.18muestra los resultados obtenidos para un distribución uni-
forme de avatares en la escena siguiendo un patrón de desplazamiento de tipo HPN en
el sistema compuesto por 9 servidores. De entre todas la configuraciones mostradas, esta
configuración se caracteriza por disponer de los menores valores de carga generada en
todas y cada una de las iteraciones de la simulación. Además, es la configuración que
presenta mayor diferencias de prestaciones entre las tres técnicas de balanceo de cargas
evaluadas. El motivo de este comportamiento radica en que durante todo el tiempo de
simulación (e independientemente a su duración) la carga generada por los avatares del
sistema es siempre inferior a la suma de las capacidades máximas de los servidores que
componen el sistema DVE. Dado que en el caso de FGALB la migración de avatares pue-
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 165
Método - Iteración
R10 L10 F10 L11 F11 L12 F12
S0 56.6 74.4 79.9 92.1 89.5 100.0 100.0
S1 100.0 89.6 91.1 90.1 89.6 100.0 98.4
S2 78.6 77.0 84.6 86.5 90.6 100.0 98.6
S3 84.6 81.6 81.2 88.6 91.5 98.6 99.6
S4 61.6 77.1 76.6 88.1 92.0 99.1 100.0
S5 88.5 75.1 72.1 91.2 87.5 100.0 100.0
S6 79.6 81.5 84.6 87.0 86.4 99.4 100.0
S7 100.0 90.1 88.1 91.2 90.0 99.6 99.3
S8 84.6 87.7 75.9 93.2 90.9 100.0 100.0∑δw 239 213 194 86 46 184 206
A.M. 206 81 12 171 36 241 96
Tabla 5.17: Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de tipo
MEDIUM2 con una distribución de avatares agrupado y un patrón de movimiento HPN
de realizarse por dispersión de la carga entre sus servidores, esta técnica permite soportar
perfectamente la productividad proporcionada por los avatares durante todas las iteracio-
nes de las que consta la simulación. A pesar de que ALB también debería cumplir esta
característica, existen situaciones, como las (reflejadas en la tabla5.18) donde un volu-
men de carga inferior a la suma de capacidades de los servidores puede saturar al sistema
DVE. Estas escasas situaciones se producen cuando todos los servidores del sistema se
encuentran significativamente cargados (porcentajes de utilización de CPU por encima
del 95 %). Si en esta situación, alguno de estos servidores (denotado comoSx) sufre un
leve aumento de la carga que le sature, ALB [63] obliga al servidorSx a migrar todo su
excedente al servidor menos cargado del sistemaSy. Si tras recibir este exceso de carga,
Sy alcanza un porcentaje de uso de CPU del 100 %, entonces el efecto cascada provoca
una repeticiónindefinidadel proceso de transferencia del excedente de carga (columna
L25 con A.M=1721). Como consecuencia de este proceso indefinido, el sistema queda
totalmente saturado.
De forma análoga a lo que ha ocurrido en el resto de experimentos evaluados en es-
te capítulo, la tabla5.18muestra que la técnica ARPS sólo puede estabilizar el sistema
durante 15 iteraciones en una población de avatares uniforme con movimiento de tipo
166 5.2. MECANISMO DE PARTICIONADO DE GRANO FINO
Método - Iteración
R15 L15 F15 L25 F25 F100
S0 65.1 89.5 89.4 98.8 92.4 94.0
S1 12.7 58.2 71.0 94.3 91.6 96.2
S2 79.8 89.4 70.1 100 93.0 92.4
S3 59.6 89.4 89.5 96.3 89.6 91.5
S4 100 74.9 71.2 94.6 92.4 96.5
S5 100 62.3 76.9 96.5 90.0 93.9
S6 28.5 65.2 71.3 94.8 91.9 93.7
S7 100 78.0 81.5 99.7 88.5 93.1
S8 100 89.4 89.4 94.6 93.1 93.5∑δw 969 391 273 69 49 41
A.M. 987 154 26 1721 11 18
Tabla 5.18: Resultados de las técnicas ARPS, ALB y FGALB en un sistema DVE de tipo
MEDIUM2 con una distribución de avatares uniforme y un patrón de movimiento HPN
HPN. En esta ocasión, a pesar de que existen servidores disponibles e infrautilizados en
el sistema DVE, otra vez se han saturado los servidores que gestionan las regiones de
máxima afluencia de avatares. Este es el caso de los servidoresS1 y S6 que disponen
de tasas de uso de CPU del 12.7 % y 28.5 % respectivamente. Por el contrario, las técni-
cas ALB y FGALB consiguen balancear simultáneamente la carga de forma global entre
todos los servidores del sistema DVE. Los datos recogidos en la iteración 15 muestran
valores reducidos de equilibrio∑
δw para ambas técnicas.
Por otra parte, el alto volumen de avatares migrados (reasignados) por ARPS parece
indicar que esta técnica no evita el efecto cascada. A pesar de que en la iteración 15, la
técnica ARPS satura a diferentes servidores del sistema DVE, este mecanismo necesita
modificar la asignación de servidor de casi 1000 avatares para obtener una partición final
del sistema. Este mismo efecto se produce en la iteración 25 para la técnica ALB. Aun-
que esta técnica se basa en un mecanismo global de balanceo (de hecho, obtiene valores
realmente bajos de∑
δw), ALB no puede evitar la saturación del sistema DVE en esta
iteración (causada por el servidorS2) tras realizar más de 1700 migraciones de avatares.
Esta situación es debida a la estrategia de balanceo de cargas de grano grueso que sigue
esta técnica. Todo lo contrario ocurre con la técnica FGALB. Esta estrategia de grano fino
CAPÍTULO 5. TÉCNICAS DE PARTICIONADO PARA SISTEMAS DVE 167
no sólo consigue durante toda la simulación mantener a todos los servidores del sistema
DVE por debajo del 100 % de su tasa de uso de CPU, sino que para cumplir este objetivo
realiza muy pocas reasignaciones de los avatares del sistema.
5.3. CONCLUSIONES
En este capítulo, hemos propuesto dos estrategia dinámicas de particionado en sis-
temas DVE. Estas estrategias, denominadas ALB y FGALB, tienen el cuenta el com-
portamiento no lineal que sufren estos sistemas con respecto al número de avatares. A
diferencia de la única técnica de particionado recogida en la literatura de la materia que
tiene en cuenta esta característica (ARPS [7]), las estrategias presentadas en este capítulo
están basadas en técnicas de ámbito global. Esta propiedad les permite balancear el ex-
ceso de carga generado entre todos los servidores del sistema y de esta forma, retrasar
el punto de saturación del sistema DVE. Básicamente, la diferencia entre ambas técnicas
presentadas radica en el modo de gestión de este exceso de carga. Así, mientras que la téc-
nica ALB emplea un mecanismo de grano grueso moviendo el exceso de carga hacia el
servidor del sistema DVE más descargado, FGALB se basa en una técnica de grano fino.
A partir del modelo de estimación de la carga, propuesto en el capítulo anterior, FGALB
distribuye proporcionalmente los excesos de carga entre los servidores del sistema DVE
que están menos cargados. Este reparto proporcional no sólo retrasa la degradación de las
prestaciones del sistema, sino también maximiza la productividad del sistema DVE, ya
que evita el efecto cascada producido por una excesiva reubicación de avatares.
Los resultados de la evaluación de prestaciones obtenidos a partir de los experimentos
realizados sobre diferentes tamaños de sistemas DVE muestran que las técnicas propues-
tas en este capítulo mejoran las prestaciones globales del sistema. Además, estas mejoras
se consiguen con independencia de la distribución inicial de avatares en la escena y del
patrón de movimientos de éstos. A pesar de que la técnica FGALB pueda suponer un leve
incremento del tráfico inter-servidor, las prestaciones del sistema obtenidas por esta es-
trategia superan los resultados proporcionados por ALB. Concretamente, a medida que la
carga en el sistema crece la técnica FGALB es capaz de mejorar la productividad del sis-
tema modificando la asignación de muy pocos avatares del sistema. Este incremento de la
productividad se mantiene incluso cuando el sistema alcanza el punto de saturación. Por
lo tanto, podemos concluir que las técnicas propuestas pueden ser consideradas como ex-
168 5.3. CONCLUSIONES
celentes alternativas en la solución adaptativa del problema del particionado en sistemas
DVE.
Una vez que hemos desarrollado una técnica adaptativa para gestionar el problema
del particionado que tiene en cuenta el comportamiento no lineal de los sistemas DVE,
planteamos en el próximo capítulo el desarrollo de una estrategia que aporte al sistema
cierta calidad de servicio. Básicamente, si el sistema DVE se encuentra trabajando cerca
del punto de saturación, el objetivo fundamental buscado debe orientarse hacia al maxi-
mización de la productividad del sistema. Esta productividad permitirá soportar el mayor
número de avatares posible en la simulación. Sin embargo, si el sistema DVE soporta
poca carga, el objetivo de las técnicas de particionado podría reorientarse a dotar a deter-
minados avatares del sistema de ciertos niveles mínimos de recursos.
CAPÍTULO 6
CALIDAD DE SERVICIO EN SISTEMAS DVE
El términoCalidad de Servicioo QoS(del inglés “Quality-of-Service”) ha sido am-
pliamente utilizado en el campo de las redes de área extensa (WAN) para describir la
capacidad global de algunos sistemas de garantizar ciertos requisitos de usuario tales co-
mo latencia, jitter, tasas de transferencias, etc. [84, 3, 10]. A pesar de ello, el término
QoS suele ser aplicado de una forma más generalista sobre cualquier sistema informático
haciendo referencia a la posibilidad de dotar de ciertas garantías básicas a un conjunto
de clientes o aplicaciones. Cuando un cliente o aplicación requiere ciertas garantías de
obtener un nivel dado de prestaciones del sistema, se dice que ese es un cliente o aplica-
ción que requiere QoS. Por el contrario, si no requiere ningún tipo de prestación mínima
entonces se dice que es un cliente o aplicación “best-effort”.
El problema de proporcionar un cierto nivel de QoS a los avatares de un sistema DVE
se encuentra recogido en la literatura de la materia [14, 34]. Una de estas aproximaciones
emplea métodos de compensación de la latencia a la hora de atenuar los efectos del alto
jitter que aparece en este tipo de sistemas [34]. Otro método modifica la resolución de los
modelos 3D de la escena que los clientes rasterizan en cada momento dependiendo del
ancho de banda y la latencia que éstos posean [14]. Sin embargo, ninguna de estas estra-
tegias tiene en cuenta el comportamiento no lineal que muestran los sistemas DVE con
respecto a la carga asignada a cada servidor. Aunque estas estrategias aporten localmente
ciertas mejoras visuales a los clientes del sistema DVE, éstas no garantizan que el sistema
permanezca alejado del punto de saturación, por lo que el rendimiento y la productividad
del sistema no quedan asegurados, tal y como se describe en el capítulo4.
Básicamente, un sistema DVE tiene como objetivo principal proporcionar una vista
170
consistente de la escena virtual a todos los usuarios del sistema [77]. Este objetivo se
logra mediante un mecanismo de intercambio de mensajes que provoca un tráfico de in-
formación entre los clientes del sistema. Si el sistema es capaz de dotar de poca latencia
a estos mensajes entonces los usuarios van a percibir que el sistema DVE reacciona rápi-
damente a sus movimientos convirtiendo al sistema en interactivo y amigable [34]. Por lo
tanto, podemos considerar que un sistema DVE proporciona QoS a un avatarAi dado si
ese avatarAi recibe “rápidamente” mensajes de actualización de todos y cada uno de los
integrantes de su AOI. Así pues, un sistema DVE proporciona QoS a un avatarAi si la
latencia para ese avatar es baja. Dado que la latencia no puede ser adecuadamente medida
en los sistemas distribuidos se suele emplear el término de “tiempo de ida y vuelta” o RTD
(del inglés “Round Trip Delay”) para hacer referencia al retraso que sufren los mensajes
entre un avatar emisor y receptor. Concretamente, un trabajo destaca la cota de los 250 ms.
como el valor máximo de RTD a partir del cual un sistema DVE deja de ser visto como
interactivo por los usuarios [34]. Por lo tanto, podemos considerar que un sistema DVE
proporciona QoS a un avatar si el RTD medio de los mensajes enviados por este avatar es
menor que los citados 250 ms. A la media del RTD obtenida para todos los avatares del
sistema la hemos denotado como ASR (del inglés, “Average System Response”).
El RTD que sufren los mensajes enviados por un avatar dado está intrínsecamente re-
lacionado con el problema del particionado comentado en el capítulo3. Si un avatarAi
y todos sus vecinos están asignados al mismo servidorSm, entonces el tiempo necesario
para que el avatarAi comunique a todos sus vecinos un cambio en su posición o estado
será menor si alguno de estos avatares vecinos se encuentra asignado a un servidor del
sistema DVE diferente deSm. Con el objetivo de medir el impacto causado en la QoS
por la asignación de un conjunto de avatares vecinos a diferentes servidores de un mis-
mo sistema, hemos evaluado el comportamiento de este aspecto en numerosos sistemas
DVE mediante simulación. Estas mediciones se han realizado utilizando la plataforma de
evaluación de sistemas DVE descrita en el capítulo2. Un ejemplo significativo de esta
evaluación se muestra en la figura6.1. Esta figura muestra en el eje Y los valores del ASR
de los mensajes enviados por un avatarAi cualquiera que se encuentra asignado a un ser-
vidor Sm del sistema DVE. El eje X muestra la variación del número de avatares vecinos
(es decir, localizados dentro de su AOI) que actualmente están asignados al servidorSm.
Cada punto en la gráfica representa el valor del ASR medido para el avatarAi tras realizar
30 simulaciones diferentes. Los resultados mostrados en esta figura, que no sobrepasan
en ningún momento 25 ms. de desviación estándar, fueron medidos en un sistema DVE
compuesto por 600 avatares y 9 servidores. Para evitar cualquier tipo de interferencia en la
CAPÍTULO 6. CALIDAD DE SERVICIO EN SISTEMAS DVE 171
generación de las posiciones de los avatares simulados, se mantuvo un valor de 60 como
factor de presenciafp(i) de todos los avatares del sistema DVE.
Figura 6.1: Efecto de la asignación de avatares a los diferentes servidores en la latencia
de los mensajes en un sistema DVE compuesto por 600 avatares y 9 servidores
En la figura6.1se puede comprobar que el ASR de los mensajes enviados por el avatar
Ai disminuye linealmente conforme los avatares localizados dentro de su AOI van siendo
asignados al mismo servidor donde se encuentra el avatarAi. Concretamente, podemos
ver que el sistema proporciona QoS (en términos de ASR inferior a 250 ms.) al avatar
Ai si 44 o más de sus avatares vecinos (de un conjunto total máximo de 60) permanecen
asignados en su mismo servidorSm. Estos mismos experimentos fueron repetidos en
numerosas configuraciones de sistemas DVE con la obtención de resultados similares.
A la vista de estos resultados podemos afirmar que la media del RTD de los mensajes
enviados por un avatar disminuye linealmente con el número de avatares asignados a su
mismo servidor. Por lo tanto, un mecanismo valido para dotar de QoS a los avatares de un
sistema DVE puede basarse en el agrupamiento de avatares vecinos en el mismo servidor.
Sin embargo, este agrupamiento de avatares puede provocar un desequilibrio en la
carga del sistema. Tal y como se detalla en los capítulos4 y 5, si este desequilibrio aparece
no sólo peligra la posibilidad de ofrecer QoS a un conjunto de avatares, sino también la
productividad del sistema. Por lo tanto, si se desea dotar de QoS a un sistema mediante un
óptimo mecanismo de particionado éste ha de garantizar, con independencia a cualquier
otra consideración, que el porcentaje de utilización de CPU en todos los servidores del
sistema DVE sea inferior al 100 %.
Por otra parte, proporcionar QoS a los avatares de un sistema DVE mediante un meca-
172 6.1. MODELO PARA LA DESCRIPCIÓN DE LA QOS EN SISTEMAS DVE
nismo de particionado puede tener efectos en el número de avatares migrados. Este hecho
es debido a que para poder obtener cierta ganancia en la QoS global del sistema puede ser
necesario modificar la asignación de un número excesivo de avatares. En este sentido, un
reciente trabajo indica que en ningún caso es recomendable para el rendimiento del siste-
ma migrar en cada ejecución del algoritmo de particionado más del 30 % de los avatares
de la simulación [46]. Por lo tanto, se han de tener en cuenta tres aspectos clave a la hora
de dotar de QoS a un sistema DVE mediante un mecanismo de particionado: porcentaje
de utilización de los servidores, ASR de los avatares y número de avatares migrados.
Debido a la alta complejidad que supone abordar el problema de la QoS a través de un
mecanismo eficiente de particionado, especialmente en grandes mundos virtuales, propo-
nemos un modelo que permite evaluar la eficiencia de las posibles soluciones obtenidas.
Sobre este modelo, representado mediante una función de evaluación, aplicaremos el uso
de metaheurísticas con el objetivo de obtener rápidamente soluciones de particionado del
sistema DVE cercanas al óptimo global [61]. Estas soluciones deben satisfacer simultá-
neamente los requisitos de: obtención del máximo número de avatares con latencias por
debajo de la cota de los 250 ms., garantía de que las tasas de uso de CPU de todos los
servidores del sistema DVE están por debajo del 100 % y migración del menor número
de avatares posible.
6.1. MODELO PARA LA DESCRIPCIÓN DE LA QOS EN SISTE-
MAS DVE
El objetivo de un procedimiento heurístico de búsqueda radica en encontrar soluciones
razonablemente buenas dentro del amplio dominio de posibles solucionesΩ de un proble-
ma dado [19]. En nuestro caso, este dominio de soluciones consiste en todas las posibles
asignaciones unívocas de avatares a los diferentes servidores que soportan la simulación
de un sistema DVE. Este espacio se encuentra representado mediante una función obje-
tivo fQoS, denominada función de evaluación. Esta función asigna un determinado valor
o coste a cada una de las soluciones particularesP que se encuentran en el dominioΩ.
Con esta función, el objetivo de todo método heurístico se basa en hallar una solución
particularP0 tal que:
CAPÍTULO 6. CALIDAD DE SERVICIO EN SISTEMAS DVE 173
fQoS(P0) ≤ fQoS(P ) ∀ P ∈ Ω
En este caso, a la hora de proporcionar QoS a los avatares de un sistema DVE la fun-
ción de evaluaciónfQoS debe de tener en cuenta los tres factores comentados en la sección
anterior: el número de avatares a los cuales se va a proporcionar QoS, el porcentaje de uti-
lización de CPU en todos los servidores y el número de avatares migrados. Por lo tanto,
definimos la función de evaluaciónfQoS como:
fQoS(P ) = Ψ(P ) + Φ(P ) + Γ(P ) (6.1)
donde el términoΨ(P ) evalúa el porcentaje estimado de uso de CPU de los servidores
del sistema para la particiónP . La estimación de este término se basa en el mecanismo
de caracterización de la carga generada por los avatares del sistema DVE descrito en
la sección4.1 [65]. El término Φ(P ) está relacionado inversamente con el número de
avatares cuyo ASR es menor de 250 ms. Tal y como se comprobado experimentalmente
en la sección anterior, éste término se ha estimado teniendo en cuenta que el RTD de los
mensajes que envía un avatar está relacionado con la asignación de los avatares que se
encuentran dentro de su AOI. Finalmente, el términoΓ(P ) indica el número migraciones
de avatares necesarias para completar la particiónP partiendo desde el estado actual.
Con el objetivo de obtenerΨ(P ) para cada particiónP , hemos definido una función
hcpu(i) que evalúa la estimación del uso de CPU en cada servidorSi del sistema. Tal y
como muestra la figura6.2esta función tiene un comportamiento exponencial. Así, mien-
tras las estimaciones de los porcentajes de utilización de CPU del servidorSi obtenidas
mediante la particiónP del sistema se encuentren bastante por debajo del 100 %, los va-
lores devueltos por la funciónhcpu(i) serán bajos. Este valor crecerá significativamente
a medida que las tasas de uso del servidorSi alcancen valores cercanos al 90 %. Si es-
te valor se supera el resultado dehcpu(i) hará disparar considerablemente el valor de la
función de evaluación para la particiónP .
Dado que el único requisito deΨ(P ) es ofrecer particiones del sistema dondetodos
los servidores se encuentren con porcentajes de utilización de CPU por debajo del 100 %,
Ψ(P ) ha sido definida como:
174 6.1. MODELO PARA LA DESCRIPCIÓN DE LA QOS EN SISTEMAS DVE
Figura 6.2: Representación de la función de evaluaciónhcpu(i)
Ψ(P ) =s∑
i=1
hcpu(i) (6.2)
De ésta forma, si dada una particiónP el porcentaje de utilización de la CPU de
cualquiera de los servidores del sistema DVE alcanza tasas del 100 %, entonces los valores
obtenidos porΨ(P ) serán muy altos. Este comportamiento permitirá que la heurística no
se pare en la particiónP y que erróneamente sea validada como solución final.
El comportamiento deΦ(P ) está inversamente relacionado con el número de avatares
del sistema DVE cuyos mensaje tengan un RTD inferior a 250 ms. Para su cálculo, se va
a emplear la funciónhasr(i), la cual va a evaluar el RTD de los mensajes generados por
el avatarAi. De esta forma, esta función emplea el RTD para cada avatar en la partición
actual para estimar el RTD que cada avatar tendría una vez se ejecutara la particiónP .
Para ello,hasr(i) tiene en cuenta el comportamiento lineal de los avatares descrito an-
teriormente que liga a un avatarAi con el número de avatares vecinos que actualmente,
además de encontrarse dentro de su AOI, están asignados a su mismo servidor. La re-
presentación de la funciónhasr(i) se muestra en la figura6.3 y posee claramente dos
secciones diferenciadas: un segmento exponencial inverso desde el valor 0 hasta los 250
ms. y un segmento parabólico a partir de este último valor.
CAPÍTULO 6. CALIDAD DE SERVICIO EN SISTEMAS DVE 175
Figura 6.3: Representación de la función de evaluaciónhasr(i)
La función Φ(P ) es realmente el resultado de la suma y evaluación de la función
hasr(i) para todos y cada uno de los avatares que forman el sistema. Esta función puede
expresarse como:
Φ(P ) =n∑
i=1
hasr(i) (6.3)
Finalmente,Γ(P ) es también una función de evaluación por segmentos. Dado que el
mecanismo de particionado no debe cambiar de servidor a más del 30 % de los avatares
del sistema se ha modelado mediante una función de transferencia por partes, compuesta
de dos segmentos, un mecanismo que modela este comportamiento [46]. Tal y como se
observa en la figura6.4, la funciónΓ(P ) muestra un comportamiento lineal mientras no
se varíe la asignación de más de un tercio de los avatares del sistema. Cuando este valor es
superado la función adquiere un comportamiento parabólico. Este comportamiento, que
aparecerá en particionesP ineficientes, permite al mecanismo heurístico evitarlas.
Una vez que hemos modelado el problema de la QoS en sistemas DVE mediante una
función de evaluaciónfQoS, encontrar la solución del problema se reduce a hallar una par-
tición con un valor defQoS mínimo. Dada la alta complejidad del problema, demostrada
como NP-completa para otro tipo de sistemas [84], proponemos dos soluciones basadas
en procedimientos metaheurísticos. Estas aproximaciones intentan aportar soluciones efi-
cientes, en términos de tiempo de ejecución y ASR medio de los avatares, dentro del
amplio dominio de búsqueda que caracteriza a este problema. Este dominio de búsqueda
176 6.2. ESTUDIO COMPARATIVO DE HEURÍSTICAS MODERNAS PARA PROPORCIONAR QOS A SISTEMAS DVE
Figura 6.4: Representación de la función de evaluaciónΓ
está compuesto por lasSN distintas configuraciones en las que losN avatares de una
simulación cualquiera pueden ser asignados a losS servidores del sistema DVE.
6.2. ESTUDIO COMPARATIVO DE HEURÍSTICAS MODERNAS
PARA PROPORCIONAR QOS A SISTEMAS DVE
Tal y como hemos descrito en el capítulo3, las estrategias metaheurísticas están consi-
deradas como una de las mejores aproximaciones en la resolución de problemas altamente
complejos. Dado que hemos podido expresar el problema de la QoS en sistemas DVE me-
diante una función de evaluación, presentamos la implementación y parametrización de
dos soluciones distintas basadas en procedimientos heurísticos. Estas heurísticas tomarán
como estado inicial del sistema la configuración estable de avatares obtenida tras la apli-
cación de cualquiera de las técnicas de balanceo de cargas descritas en el capítulo5. Tal
y como se detalla a continuación, hemos elegido “Recocido Simulado” y GRASP como
mecanismos de búsqueda en la solución del problema.
6.2.1. Recocido Simulado
Como ya se destacó en la sección3.2.2, “Recocido Simulado”(SA del inglés “Si-
mulated Annealing”) es una estrategia estocástica basada en el principio termodinámico
CAPÍTULO 6. CALIDAD DE SERVICIO EN SISTEMAS DVE 177
de enfriamiento de sustancias puras. Cuando SA busca soluciones óptimas dentro de un
dominio no sólo acepta siempre soluciones mejores que la actual, sino que además en
cada iteración permite, con una cierta probabilidad (descrita en la ecuación3.10mediante
la función de distribución de Boltzmann), la aceptación de soluciones de empeoramiento
[41].
Hemos propuesto una solución al problema de la QoS en sistemas DVE basada en SA
[61]. Esta nueva estrategia se basa en el aprovechamiento de la información que aportan
los avatares frontera del sistema. Como ya se ha comentado en el capítulo3 para el pro-
blema del particionado, se considera que un avatar (Ai asignado al servidorSr) es avatar
frontera si existe al menos un avatar (Aj asignado aSx) dentro de su AOI tal que se cum-
ple que la asignación de servidores de ambos es distinta (es decir,Sr 6= Sx). La tarea de
la asignación de servidores a los avatares frontera de un sistema DVE es una operación
crítica y permite obtener particiones eficientes del sistema con bajos niveles delhasr.
Partiendo de esta premisa, definimos cada iteración de SA como la selección aleatoria
de dos avatares de la escena (Ai y Aj asignados respectivamente aSr y Sx) sobre los
que se aplica cualquiera de las tres acciones siguientes: intercambio de la asignación de
avatares (Ai ⇒ Sx ∨ Aj ⇒ Sr), ambos avatares pasan a ser asignados aSr, o bien,
ambos se asignan aSx. Una vez se ha realizado esta tarea se obtiene el nuevo valor de
la función de evaluación para la nueva partición resultante. Si el valor resultante defQoS
supera al de la solución actual más un valor umbralT , ese cambio es rechazado. En caso
contrario, el cambio es aceptado y la configuración del sistema DVE generada por éste
quedará seleccionada como solución actual al problema. De forma similar a lo que ocurría
en la solución del problema del particionado basada en SA descrita en la sección3.2.2, la
actualización del valor umbralT no se ha realizado directamente empleando la función
del Boltzmann (ecuación3.10). Particularmente, el comportamiento del mecanismo de
obtención de soluciones ha sido más eficiente si la probabilidad de aceptar soluciones de
empeoramiento sigue una distribución lineal en lugar de una de tipos exponencial tal y
como se destaca en el método original [41]. Así, el valor umbralT empleado en cada
iteracióni de la búsqueda SA depende de la tasa descendente de enfriamientoR y se
define como:
T = R−(
R× i
N
)(6.4)
178 6.2. ESTUDIO COMPARATIVO DE HEURÍSTICAS MODERNAS PARA PROPORCIONAR QOS A SISTEMAS DVE
dondeN determina el número de iteraciones máxima de búsqueda. Con ello, la con-
dición de parada del algoritmo se produce cuando se ejecuten estas iteraciones o cuando
el sistema permanezcaN/2 iteraciones sin obtener nuevas soluciones.
Tal y como recoge la literatura de la materia [19, 41, 43], los dos aspectos clave en
la parametrización de un mecanismo de búsqueda basado en SA son la obtención de los
valores óptimos del número de iteracionesN y de la tasa de enfriamiento. Los resultados
mostrados a continuación muestran la variación de dichos parámetros con respecto a la
función de evaluaciónfQoS del problema en sistemas DVE de tipo MEDIUM1 y ME-
DIUM2. Tal y como se describe en el capítulo2 de la tesis, estos sistemas están compues-
tos por 350 avatares y 5 servidores en el caso del formato MEDIUM1 y de 600 avatares
y 9 servidores en el formato MEDIUM2. Al igual que el resto de resultados mostrados
en este capítulo, esta parametrización se ha realizado a partir de los resultados obtenidos
tras más de 1000 experimentos sobre diferentes distribuciones iniciales en ambos tama-
ños del sistema. Estos experimentos se realizaron en los laboratorios del Departamento
de Informática de la Universidad de Valencia. Los equipos de pruebas de estos labora-
torios consisten en computadores PC equipados con procesadores Pentium IV a 1.7Ghz,
256 MB de RAM, tarjeta gráfica nVidia Geforce2 MX- 400 y sistema operativo Windows
2000 Professional.
La figura6.5 muestra los valores de la función de evaluaciónfQoS con respecto al
número de iteraciones en SA para sistemas DVE de tipo MEDIUM1. Esta figura muestra
como se reducen los valores proporcionados por la función de evaluaciónfQoS a medida
que se incrementa el número de iteracionesN en el algoritmo SA. Esta variación se
produce con independencia del tipo de distribución inicial de los avatares en la escena.
En este tipo de sistemas la reducción significativa de los valores de la funciónfQoS se
produce hasta queN alcanza valores cercanos a las 1500 iteraciones. A partir de este
punto, el valor final defQoS de las particiones halladas del sistema o bien permanece
constante, o bien decrece ligeramente.
En el caso de sistemas de mayor tamaño el comportamiento de SA es bastante simi-
lar. La figura6.6 muestra la relación existente entre los valores de calidadfQoS de las
soluciones de particionado y el número de iteraciones de SA en sistemas DVE de tipo
MEDIUM2. Al igual que ocurría en los resultados obtenidos para sistemas DVE de ti-
po MEDIUM1 mostrados en la figura6.5, la calidad de las soluciones de particionado
aumenta a medida que se incrementa el número de iteraciones. Este incremento de la
CAPÍTULO 6. CALIDAD DE SERVICIO EN SISTEMAS DVE 179
Figura 6.5: Representación de la función de calidadfQoS frente al número de iteraciones
en SA para sistemas DVE de tipo MEDIUM1
calidad no es ilimitado, y se detiene cuando el número de iteraciones alcanza un valor
máximo. En sistemas DVE de tipo MEDIUM2 este valor aparece muy cerca de las 6000
iteraciones para los tres tipos de distribuciones de avatares probadas. El motivo de este
comportamiento radica en que el procedimiento de búsqueda ha caído en un mínimo de
la función lo suficientemente importante como para imposibilitarle obtener caminos de
búsqueda mejores por más que se ejecuten un mayor número de iteraciones. La imposibi-
lidad de abandonar estos mínimos de la funciónfQoS se debe a que, o bien sean realmente
valores mínimos globales de la función de evaluación, o bien la tasa de enfriamiento es
tan reducida que no permite consolidar nuevas soluciones a partir de la aceptación de
soluciones de empeoramiento.
Un comportamiento distinto es el que muestra la funciónfQoS cuando se modifica
la tasa de enfriamiento del mecanismo de búsqueda. La figura6.7 muestra la variación
de la función de calidadfQoS a medida que se incrementa la tasa de enfriamiento de
SA para distribuciones uniformes, sesgadas y agrupadas en sistemas de tipo MEDIUM1.
En ambos sistemas y para los tres tipos de distribuciones iniciales probadas, el valor de
la función fQoS disminuye a medida que el incremento de la tasa de enfriamiento se
mantiene por debajo de valores cercanos al 1.5 %. A partir de esta tasa, la estrategia SA
vuelve a obtener soluciones de peor calidad. Es decir, los valores defQoS de las particiones
halladas comienzan a aumentar.
180 6.2. ESTUDIO COMPARATIVO DE HEURÍSTICAS MODERNAS PARA PROPORCIONAR QOS A SISTEMAS DVE
Figura 6.6: Representación de la función de calidadfQoS frente al número de iteraciones
en SA para sistemas DVE de tipo MEDIUM2
Figura 6.7: Representación de la función de calidadfQoS frente al número de iteraciones
en SA para sistemas DVE de tipo MEDIUM1
CAPÍTULO 6. CALIDAD DE SERVICIO EN SISTEMAS DVE 181
La aparición de un valor umbral en la parametrización de la tasa de enfriamiento
de SA ocurre con independencia del tamaño del sistema DVE. La figura6.8 muestra la
relación existente entre la función de evaluación de las soluciones de particionadofQoS
y la tasa de enfriamiento de SA en sistemas DVE de tipo MEDIUM2. Una vez más, la
calidad de las soluciones de particionado aumenta a medida que la tasa de enfriamiento se
aproxima a valores cercanos al 1.5 %. Esta figura muestra que si la tasa de enfriamiento
se distancia de este umbral la calidadfQoS de las soluciones finales obtenidas por el
método decrece significativamente. El motivo de este comportamiento radica en que por
una parte tasas de enfriamiento demasiado bajas reducen los subdominios de búsqueda
en el conjunto total de soluciones de particionado. Por otra parte, un incremento excesivo
de las tasa de enfriamiento provoca que SA acepte una gran cantidad de soluciones de
empeoramiento. Estas soluciones intermedias de empeoramiento, creadas con el objetivo
de sacar al algoritmo del mínimos locales, provocan que SA no converja adecuadamente
en caminos estables de búsqueda.
Figura 6.8: Representación de la función de calidadfQoS frente al número de iteraciones
en SA para sistemas DVE de tipo MEDIUM2
Por lo tanto, a partir de los resultados mostrados en las figuras6.5 y 6.6 para el nú-
mero de iteraciones y6.7y 6.8para la tasa de enfriamiento podemos elegir unos valores
apropiados que maximicen la eficiencia de las soluciones obtenidas. Los valores elegidos
corresponden a 1500 iteraciones y tasa de enfriamiento de 1.5 % para sistemas de tipo
MEDIUM1. En el caso de sistemas de tipo MEDIUM2, decidimos mantener la misma
tasa de enfriamiento e incrementar el número de iteraciones de SA a 6000.
182 6.2. ESTUDIO COMPARATIVO DE HEURÍSTICAS MODERNAS PARA PROPORCIONAR QOS A SISTEMAS DVE
6.2.2. Greedy Randomized Adaptive Search (GRASP)
GRASP es una metaheurística constructiva diseñada inicialmente como un procedi-
miento multi-arranque orientado hacia problemas altamente combinatoriales [25]. A pe-
sar del origen para el que fue inicialmente diseñada, GRASP está considerado como una
excelente estrategia generalista en la obtención de soluciones rápidas y de muy buena ca-
lidad para una gran variedad de problemas [69, 70]. Tal y como se detalla en la sección
3.2.3, la técnica heurística GRASP fue anteriormente empleada en esta tesis para la mini-
mización de la funciónCp en la solución del problema del particionado en sistemas DVE
[58].
Para el caso del problema de la QoS en este mismo tipo de sistemas, hemos desarro-
llado una nueva adaptación del método GRASP [61]. En esta ocasión, GRASP comienza
a partir de una partición inicial del sistema. Lógicamente, esta partición se obtiene a par-
tir de cualquiera de las técnicas de balanceo de cargas propuestas en el capítulo5. Con
esta partición inicial estamos asegurando que, en el momento que se ejecute el algoritmo
la partición actual del sistema DVE está perfectamente balanceada y por tanto, todos los
servidores se encuentran con una tasa de uso de CPU lo más baja posible. Una vez se
ha obtenido esta partición, GRASP aplica su estrategia heurística en la búsqueda de una
solución cercana al óptimo global. Esta solución permitirá proporcionar QoS al mayor
número de avatares del sistema DVE migrando para ello la menor cantidad de clientes y
manteniendo el sistema por debajo del punto de saturación.
La primera fase de nuestra implementación GRASP consiste en ordenar aquellos ava-
tares del sistema DVE que superen un RTD de 250 ms. (es decir, los que carecen de QoS)
por su factor de presenciafp. Tal y como se definió en la sección4.1de la tesis cuando se
caracterízó la carga generada por los avatares en los sistemas DVE, este parámetro evalúa
el número de apariciones de un avatarAi dado en el resto de las AOI de los avatares del
sistema [64]. Entre otros aspectos, los avatares del sistema DVE con un alto valor defp
se caracterizan por ser los elementos del sistema que mas tráfico generan. Es decir, son
avatares altamente conectados y deben gestionar simultáneamente el envío y recepción
masivo de mensajes de actualización del resto de avatares del sistema DVE. De hecho,
cualquier modificación en la asignación de servidor de tan sólo uno de estos avatares se
propaga tan rápidamente en el esquema general del sistema DVE que puede hacer variar
automáticamente el número de avatares con QoS en un momento dato. Dado que el ob-
jetivo fundamental de las técnicas propuestas en este capítulo consiste en maximizar el
CAPÍTULO 6. CALIDAD DE SERVICIO EN SISTEMAS DVE 183
número de avatares con QoS (mediante el mínimo número de migraciones), la idea va a
consistir en focalizar el esfuerzo del algoritmo sobre estos avatares. Además, si la estra-
tegia basada en GRASP sólo se dirige hacia la modificación de la asignación de servidor
de este subconjunto de avatares, entonces es posible obtener soluciones de particionado
con porcentajes bajos de utilización de CPU de los servidores del sistema manteniendo
estable el número de avatares migrados en cada ejecución del algoritmo. En términos de
la función de calidadfQoS(P ) (descrita en la ecuación6.1 para una particiónP dada),
este comportamiento permite obtener soluciones con bajas tasas deΦ(P ) sin necesidad
de modificar la asignación de un gran número de avatares del sistema DVE (es decir, con
unaΓ(P ) baja).
Una vez que se ha realizado la ordenación de losN avatares del sistema DVE por su
valor de RTD, se eligen losc primeros avatares que presenten valores máximos de este
parámetro. Estos avatares pasarán a denominarseavatares críticosy serán considerados
por el método como avatares no asignados. El resto de lose avatares del sistema, o ava-
tares estables (dondeN = c + e), no serán reasignados y permanecerán conectados al
servidor en el que inicialmente fueron asignados. La asignación de servidor para cada uno
de losc avatares críticos del sistema será obtenida de forma constructiva por cada una de
las iteraciones de las que consta el método GRASP. Este número de iteraciones, que se
ha hecho coincidir con el número de avatares a reasignar, es el único valor a parametrizar
en el método GRASP propuesto. A pesar de que la elección de valores pequeños dec
proporciona soluciones de particionado muy rápidas, el número de avatares movidos será
tan reducido que su cambio de servidor no tendrá efectos significativos en el ASR del
sistema DVE. Por el contrario, si en un afán desmedido de proporcionar QoS a muchos
avatares del sistema se eligen valores excesivamente altos para el parámetroc, el tiempo
de cálculo empleado por GRASP será tan alto que el algoritmo no será capaz de ofrecer
asignación a losN avatares del sistema DVE. A diferencia de la estrategia SA, GRASP
no calcula soluciones intermedias válidas que permitan parar la ejecución del algoritmo y
admitirlas como solución final al problema.
Cada iteración del método GRASP consiste en dos fases: construcción y búsqueda
local [69]. La fase de construcción compone una solución miope aleatorizada eligiendo
un elemento crítico distinto en cada una de las iteraciones. Esta asignación miope del ele-
mento crítico se deriva mediante un criterio de vecindad en la fase de búsqueda local. En
particular, proponemos una implementación para la solución del problema de la QoS en
sistemas DVE que parte de la asignación actual de lose avatares estables de la población.
184 6.2. ESTUDIO COMPARATIVO DE HEURÍSTICAS MODERNAS PARA PROPORCIONAR QOS A SISTEMAS DVE
El objetivo de GRASP radica en dar asignación de servidor en cada una de lasi iteracio-
nes a uno de losc avatares críticos del sistema. El avatar elegido al final de cada iteración
será incluido en el subconjunto de avatares estables manteniendo en todo momento que
N = c + e. De esta forma, el método finaliza cuando el último de losc avatares críticos
del sistema DVE ha sido asignado. Cada una de lasi iteraciones de las que consta GRASP
realiza las siguientes acciones:
Fase de construcción:
1 Se asigna aleatoriamente el primer avatarAj de la lista de avatares críticos a
cualquiera de los servidores del sistema DVE. Se calcula el valor de la función
de evaluaciónfQoS a partir de la partición formada por lose avatares estables
del sistema más el nuevo avatarAj.
2 El paso anterior se repite para losc − 1 avatares críticos pendientes por asig-
nar. Dado que el subconjunto de avatares críticos pierde un elemento en cada
iteración, este paso construye una lista dec − i + 1 asignaciones distintas.
Cada uno de los elementos de esta lista representa la asignación aleatoria de
un avatar crítico a un servidor del sistema DVE. A su vez, se halla el impacto
causado por cada una de las diferentes asignaciones en la funciónfQoS con
respecto a la asignación de sólo lose avatares estables del sistema. Esta lista
de posibles asignaciones o soluciones miopes para la iteracióni se denomina
lista de avatares candidatos dei ó LCA(i). Esta lista tiene un tamaño igual a
c− i + 1 equivalente al número de avatares pendientes de asignar en la itera-
ción i. Cada de elemento de LCA(i) esta formado por la terna avatar crítico
temporalmente asignado, servidor,fQoS resultante.
Fase de búsqueda local:
1 Se ordena la lista LCA(i) (empleando para ello el algoritmo QuickSort) por
el coste resultantefQoS de forma ascendente. Tras esta ordenación, la lista
LCA(i) se reduce a su primer cuartil sobre el cual se escoge aleatoriamente un
elemento Ak, Sf , fQoS(Ak, Sf ). A la nueva lista ordenada y reducida se la
denominaLCAr(i) y será sobre el avatarAk donde se centrará una búsqueda
local.
2 La búsqueda local sobre el avatarAk consiste en localizar de entre el conjun-
to de sus avatares vecinos aquellos que están todavía pendientes de asignar.
Si un avatarAm cumple estas condiciones, entonces se construye una nueva
solución donde se asigna aleatoriamente el avatarAm a cualquiera de losS
CAPÍTULO 6. CALIDAD DE SERVICIO EN SISTEMAS DVE 185
diferentes servidores del sistema. Con ello, las sucesivas nuevas particiones
del sistema están formadas por lose + i− 1 avatares asignados más el nuevo
avatarAm. Para cada una de estas asignaciones se obtiene el nuevo valor de la
función objetivofQoS.
3 Las diferentes asignaciones de los posibles avatares vecinos deAk, obteni-
das en el paso anterior, más la pertinente terna deAk escogida de LCA(i) se
ordenan ascendentemente según su valor defQoS. A esta lista creada se le
denomina lista de asignaciones en búsqueda local (LLSA(i)) y será el primer
elemento (es decir la asignación aAk a un servidorSf de costefQoS (Ak, Sf )
menor) la solución de la estrategia GRASP para la iteracióni.
4 Si ningún avatarAm cumple las condiciones de vecindad y pertenencia al AOI
deAk, entonces la solución para la iteracióni consiste en asignar directamente
el avatarAk al servidorSf .
La adaptación de GRASP al problema del particionado (descrita en el capítulo3) di-
fiere de la aproximación presentada en esta ocasión, entre otros motivos, en la estrategia
base de la fase de búsqueda. Mientras que en aquel problema esta fase estaba basada en un
procedimiento exhaustivo de búsqueda, hemos optado en esta ocasión por la elección de
una asignación aleatoria dentro del conjunto de vecinos. Esta decisión, que reduce sustan-
cialmente el árbol de posibles soluciones a comprobar y con ello el tiempo en obtenerlas,
no tiene efectos significativos en la calidad de las soluciones finales. Tal y como se desta-
ca en numerosos trabajos, esta mejora de GRASP no es susceptible de ser aplicada como
adaptación generalista en cualquier tipo de problemas [19, 25, 69].
El principal parámetro a ajustar en la implementación de GRASP propuesta para el
problema de la QoS en sistemas DVE es el número de avatares críticosc. Las figuras6.9y
6.10muestran la relación de este parámetro en sistemas de tipo MEDIUM1 y MEDIUM2
con la calidad de las soluciones halladas y el tiempo necesario para calcularlas. Ambas
figuran muestran como crecen (con independencia del tamaño del sistema) tanto la cali-
dad de las soluciones obtenidas (en términos de los valores devueltos por la función de
calidadfQoS), como el tiempo necesario para calcularlas a medida que el número de ava-
tares críticos del sistema se incrementa. La figura6.9 muestra el caso de sistemas DVE
con configuración de tipo MEDIUM1 (350 avatares y 5 servidores). Esta figura indica
que son necesarias alrededor de 125 iteraciones del algoritmo para poder obtener parti-
ciones de buena calidad sin que el algoritmo invierta demasiado tiempo en su cálculo.
186 6.3. EVALUACIÓN DE PRESTACIONES
Un mayor número de iteraciones requerirá bastante más tiempo de ejecución sin aportar
una mejora significativa en la eficiencia de las soluciones finales. Finalmente, si este valor
se incrementa excesivamente (por encima de las 175-200 iteraciones) se puede observar
que los valores obtenidos por la funciónfQoS no sólo no decrecen sino que comienzan a
incrementarse ligeramente.
Figura 6.9: Variación de la función de calidadfQoS y tiempo de ejecución para diferentes
valores dec en sistemas de tipo MEDIUM1
La figura 6.10 muestra este mismo de tipo de parametrización en sistemas de for-
mato MEDIUM2 (600 avatares y 9 servidores). A pesar de que el tamaño del sistema
crece notablemente con respecto al caso anterior, el comportamiento de la implementa-
ción GRASP propuesta es muy similar. En esta ocasión el valor umbral del número de
avatares críticos del sistema se sitúa cerca de las 200 unidades. Si este valor se supera no
sólo crece exponencialmente el tiempo de cálculo de las soluciones para cualquier tipo de
distribución de avatares, sino que además la calidad de las soluciones halladas desciende.
Este comportamiento se produce debido a que la componente miope de la fase de cons-
trucción de GRASP es incapaz de trazar rutas de búsqueda eficientes y cercanas a alguno
de los mejores óptimos locales.
6.3. EVALUACIÓN DE PRESTACIONES
Una vez realizado el ajuste para ambos tamaños del sistema, se han simulado 100 po-
blaciones diferentes de avatares siguiendo los diferentes modelos de distribución inicial
(uniforme, sesgado y agrupado) y patrones de movimiento de avatares en la escena (CCP,
HPN y HPA). De forma similar a la evaluación de prestaciones de los mecanismos de ba-
CAPÍTULO 6. CALIDAD DE SERVICIO EN SISTEMAS DVE 187
Figura 6.10: Variación de la función de calidadfQoS y tiempo de ejecución para diferen-
tes valores dec en sistemas de tipo MEDIUM2
lanceo de cargas propuestos en el capítulo5, cada una de las simulaciones va a constar de
la ejecución de 100 iteraciones sobre estos patrones de movimiento. Una descripción más
exhaustiva de los modelos y patrones evaluados se encuentra detallada respectivamente
en las secciones2.3.2y 2.3.3de la tesis.
El objetivo principal de la evaluación de prestaciones para la validación del modelo
de QoS presentado en este capítulo se basa en la comparación del comportamiento del
sistema durante toda una simulación dependiendo de la inclusión o exclusión de este mo-
delo como parte de su estrategia de particionado. Para llevar a cabo este objetivo, cada
una de las configuraciones del experimento (diferentes tamaños del sistema, modelos de
distribución y patrones de movimiento) ha sido evaluada de tres maneras distintas. Los
resultados mostrados a continuación muestran el comportamiento del sistema ante la es-
trategia de balanceo adaptativo de carga ALB (propuesta en el capítulo5) y los métodos
de QoS basados en SA y GRASP propuestos anteriormente. Con el objetivo de realizar
una comparativa ecuánime de los métodos propuestos de calidad de servicio, tanto SA co-
mo GRASP se han ejecutado bajo las mismas condiciones de ejecución que las empleadas
en el mecanismo ALB. Esta ejecución se produce en el momento que algún servidorSx
del sistema DVE alcanza porcentajes de utilización de CPU por encima del 99 %.
Tal y como ocurría en la evaluación de prestaciones de las técnicas mostradas en el
capítulo anterior, no todas las configuraciones del sistema probadas requieren de la eje-
cución de las estrategias de balanceo de cargas. A pesar de que existen 18 combinaciones
posibles de opciones de simulación, sólo 9 combinaciones permiten que el incremento de
la carga generada por los avatares en cada iteración sea lo suficientemente significativa
188 6.3. EVALUACIÓN DE PRESTACIONES
como para que la saturación de los servidores del sistema DVE active la ejecución de las
técnicas propuestas. Los experimentos que no generan balanceo de carga corresponden
a patrones CCP en cualquier tipo de sistemas y HPN en sistemas de tipo MEDIUM1. El
motivo de la primera de estas excepciones radica en que al tratarse CCP de un movimiento
uniforme y circular la densidad de avatares en cada iteración de la simulación permanece
homogénea en todas las zonas del mapa virtual. Por lo tanto y tal y como se describe en
la sección4.1, el mantenimiento de la densidad del número de avatares vecinos provoca
que no exista un incremento de la carga en los servidores del sistema. El caso del patrón
HPN en sistemas MEDIUM1 es distinto. En esta ocasión y dado que HPN sólo desplaza
a un subconjunto de avatares del sistema localizados cerca de los puntos calientes, la den-
sidad creada por los avatares desplazados no consigue rebasar los umbrales fijados para
el balanceo de carga en los servidores del sistema DVE.
La tabla6.1muestra los resultados de la evaluación de prestaciones obtenida para una
configuración de tipo MEDIUM1. Sobre esta especificación de sistemas DVE se han con-
trastado los resultados obtenidos por las diferentes estrategias de particionado evaluadas.
Los experimentos realizados han seguido los distintos modelos de distribuciones iniciales
de avatares y patrones de movimiento sobre la escena virtual comentados anteriormen-
te. Además de evaluar el rendimiento global obtenido por las aproximaciones GRASP y
SA, hemos incluido los resultados obtenidos a partir de la aplicación de la técnica ALB
descrita en el capítulo5. En cada una de las pruebas, la tabla6.1 muestra mediante tres
columnas los resultados obtenidos por las diferentes estrategias de particionado. En las
cinco primeras filas (identificadas por Sx) se recogen los porcentajes máximos de utili-
zación de CPU para cada uno de los servidores participantes en la simulación. La fila
ASR medio indica el valor medio del parámetro ASR de los 350 avatares del sistema
DVE durante el transcurso de la simulación. Este parámetro es el indicador la QoS glo-
bal aportada a los avatares del sistema DVE [34]. Seguidamente, se indica el número de
iteraciones máximas que el método completa sin llevar al sistema al punto de saturación
(fila Máx. it). Dado que las simulaciones propuestas incrementan la carga generada por
los avatares en cada una de las iteraciones, este número es un indicador de las prestacio-
nes del sistema en términos de productividad máxima. A continuación, la tabla muestra el
número de avatares que durante la simulación consiguen mantener tiempos medios de ida
y vuelta en sus mensajes por debajo de 250 ms. (fila “Qos”). Finalmente, la tabla muestra
el número total de migraciones realizadas por el mecanismo de particionado durante toda
la simulación. Este número de total de migraciones corresponderá a la suma del factor
Γ(P0) para todas las ejecuciones de cada uno de los métodos de particionado durante el
CAPÍTULO 6. CALIDAD DE SERVICIO EN SISTEMAS DVE 189
tiempo total de simulación.
HPA + Uniforme HPA + Sesgada HPA + Agrupada
ALB SA GRASP ALB SA GRASP ALB ALB GRASP
S0 (max. %) 100 100 100 99 100 98 98 100 100
S1 (max. %) 98 98 100 100 100 100 100 98 100
S2 (max. %) 100 99 98 96 99 98 100 99 99
S3 (max. %) 99 100 100 100 97 100 97 100 98
S4 (max. %) 99 100 97 98 100 100 99 98 97
ASR medio 222.6 185.1 169.6 281.6 227.1 216.0 292.4 237.1 229.6
Max. it. 17 17 17 10 10 10 8 8 8
QoS 170 292 299 151 284 281 144 271 276
Migraciones 19 75 89 50 91 103 48 99 103
Tabla 6.1: Resultados de las técnicas de QoS para una configuración MEDIUM1
Los resultados mostrados en la tabla6.1indican en primer lugar que ninguna de las dos
técnicas metaheurísticas propuestas pone en peligro la productividad del sistema DVE. En
la totalidad de casos probados, tanto si se emplea la estrategia basada en SA como si se
emplea la basada en GRASP, la finalización de la simulación ocurre en la misma itera-
ción. En esta iteración (valor mostrado en la fila “Máx. it”), el sistema DVE entra en un
estado de saturación profunda en el que se cumple que la suma de la carga generada por
los avatares del sistema DVE supera la suma de los niveles máximos de carga soportados
por los servidores del sistema. Aunque ALB ya garantizaba esta característica, los valores
medios del ASR obtenidos mediante los métodos heurísticos propuestos en este capítulo
son significativamente menores que los logrados por ALB para la misma iteración en to-
dos los distintos patrones de test mostrados (Distribución Inicial + Patrón Movimiento).
En el caso de los experimentos compuestos por distribuciones iniciales no uniformes de
avatares (HPA + Sesgada y HPA + Agrupada) esta reducción es relevante. Tanto la estra-
tegia basada en SA, como la estrategia basada en GRASP, consiguen reducir los valores
del ASR de los avatares del sistema obtenidos mediante ALB (281.6 ms. y 292.4 ms.) por
debajo del valor umbral máximo de ASR (250 ms. [34]) que caracteriza a los sistemas
DVE con QoS. En términos del número de avatares con QoS, las técnicas heurísticas pre-
sentadas mejoran significativamente las prestaciones del sistema. Mientras que el método
ALB no consigue proporcionar QoS a más de la mitad de los avatares del sistema DVE
en los tres distintos patrones de test, los métodos SA y GRASP son capaces de garantizar
190 6.3. EVALUACIÓN DE PRESTACIONES
esta QoS a más de dos terceras partes del total de los avatares de la población. Es decir, los
valores de la fila “QoS” mostrados en la tabla6.1 indican como SA incrementa los 170,
151 y 144 avatares con QoS obtenidos por ALB (de un total de 350) a 292, 284 y 271 ava-
tares en los tres respectivos patrones de test. En el caso de GRASP, los valores obtenidos
del número de avatares finales con QoS corresponden respectivamente a 299, 281 y 276
avatares para los tres distintos patrones. Finalmente, aunque ambas técnicas heurísticas
migran más avatares que el método ALB, este hecho no repercute en el rendimiento glo-
bal sistema ya que en ningún momento se supera la tasa del 30 % de avatares migradosen
cada unade las ejecuciones del algoritmo durante la simulación [46]. En este sentido, la
última fila de la tabla6.1muestra que aunque los valores del número de avatares movidos
sean 75, 110 y 99 avatares por SA y 89,112 y 123 por GRASP, ninguna estrategia supera
en los experimentos realizados la cota de los 105 avatares correspondiente al 30 % de la
población total de avatares del sistema DVE. Por lo tanto y a partir de los resultados obte-
nidos para sistemas DVE de tipo MEDIUM1, cualquiera de las dos estrategias propuestas
en este capítulo puede ser considerada como un mecanismo de particionado válido que
permita incrementar el número de avatares con QoS del sistema.
Sin embargo, a la hora de diseñar un sistema DVE escalable el mecanismo de particio-
nado ha de proporcionar una evolución sostenida de las prestaciones del sistema a medida
que se incremente el tamaño de éste. Las tablas6.2 y 6.3 muestran los resultados obte-
nidos por las técnicas de QoS propuestas en este capítulo para una configuración de tipo
MEDIUM2. Estas tabla poseen el mismo formato que la tabla6.1, con la única excepción
que se muestran las tasas de CPU para los nueve servidores que constituyen un sistema
DVE de este tipo.
La tabla6.2muestra los resultados obtenidos en un sistema DVE de tipo MEDIUM2
para el patrón de movimiento HPA con distribuciones iniciales de avatares de tipo uni-
forme, sesgada y agrupada. Los datos mostrados en esta tabla indican que los métodos
propuestos en este capítulo consiguen incrementar de forma significativa el número de
avatares con QoS para este patrón de movimiento. En términos de la productividad del
sistema, la fila 11 de la tabla6.2 indica que tanto la estrategia de calidad de servicio SA,
como la estrategia GRASP finalizan las simulaciones en la misma iteración del experi-
mento que el método ALB. Esta característica indica que incorporar el mecanismo de
QoS propuesto como parte del esquema de particionado no compromete la productividad
de los sistemas DVE de tipo MEDIUM2 bajo patrones de movimiento HPA. En términos
del ASR medio, los resultados mostrados en la fila 11 de la tabla indican que tanto SA
CAPÍTULO 6. CALIDAD DE SERVICIO EN SISTEMAS DVE 191
como GRASP reducen notablemente los valores de la latencia del sistema obtenidos por
ALB. En el caso de distribuciones iniciales de avatares de tipo uniforme, los valores de
ASR obtenidos por ambas técnicas (239.4 ms. en el caso de SA y 239.1 ms. en el caso
de GRASP) se sitúan por debajo de la cota de los 250 ms. Las últimas filas de la tabla
muestran que es el método GRASP (de entre las dos técnicas heurísticas propuestas) la
estrategia de particionado que mayor número de avatares con QoS consigue sin rebasar
la restricción del 30 % en el número máximo de avatares migrados. Esta característica se
cumple en cualquiera de los tres tipos de distribuciones iniciales probadas para el patrón
de movimiento HPA en sistemas DVE de tipo MEDIUM2.
HPA + Uniforme HPA + Sesgada HPA + Agrupada
ALB SA GRASP ALB SA GRASP ALB ALB GRASP
S0 (max. %) 100 100 100 99 100 100 98 100 98
S1 (max. %) 100 100 98 99 98 100 96 100 99
S2 (max. %) 99 99 100 100 99 99 97 98 99
S3 (max. %) 98 97 100 100 97 100 98 100 98
S4 (max. %) 100 100 100 100 98 99 100 100 100
S5 (max. %) 100 100 100 99 100 99 100 100 100
S6 (max. %) 98 100 98 100 96 100 98 99 100
S7 (max. %) 98 99 98 99 100 99 99 98 100
S8 (max. %) 99 98 97 97 100 98 100 98 100
ASR medio 275.2 239.4 231.9 401.4 289.6 262.7 442.2 312.5 278.1
Max. It. 14 14 14 10 10 10 9 9 9
QoS 211 381 424 166 194 226 151 188 212
Migraciones 50 161 159 64 241 232 94 263 213
Tabla 6.2: Resultados de las técnicas de QoS para una configuración MEDIUM2 con
patrón de movimiento HPA y diferentes distribuciones iniciales
La tabla6.3muestra los resultados de la evaluación de prestaciones de las estrategias
de QoS basadas en SA y GRASP para sistemas MEDIUM2 con patrones de movimiento
de tipo HPN. Al igual que ocurre en sistemas de tipo MEDIUM1 (tabla6.1), o incluso en
sistemas MEDIUM2 con patrón de movimiento de tipo HPA (tabla6.2), tanto la técnica
SA como la técnica GRASP proporcionan la misma productividad que la técnica ALB. La
fila 11 de la tabla6.3muestra que el sistema finaliza la simulación en la misma iteración
tanto si se emplean las técnicas heurísticas propuestas, como si se ejecuta la técnica ALB.
192 6.4. CONCLUSIONES
La finalización de la simulación se produce respectivamente en las iteraciones 100, 13 y
12 del movimiento HPN para las distribuciones iniciales de avatares uniforme, sesgada
y agrupada. La ejecución del patrón HPN sobre distribuciones uniformes de avatares en
sistemas DVE de tipo MEDIUM2 no genera una carga de avatares total lo suficientemen-
te grande como para sobrepasar la suma de los niveles máximos de carga soportada en
los servidores del sistema. Por lo tanto, el sistema DVE nunca se satura durante toda la
simulación y consigue completar perfectamente las 100 iteraciones de las que consta ésta.
Esta característica no ocurre en el caso de las distribuciones no uniformes de avatares en
la escena (sesgadas y agrupadas) y es el motivo por el que el sistema alcanza el punto de
saturación (iteraciones 13 y 12 respectivamente) antes de que la simulación finalice. Dado
que los niveles totales de carga generados por el patrón HPN son menores que los gene-
rados por el patrón HPA, el número de avatares con QoS obtenidos por la técnica ALB en
patrones de movimiento HPN es superior al logrado en patrones de movimiento HPA. Es-
ta característica provoca que la carga media soportada por los servidores del sistema bajo
el patrón HPN sea inferior que la soportada por los servidores bajo el patrón HPA durante
el transcurso de las simulaciones. Debido a este motivo, los valores de la fila ASR medio
de la tabla6.3 (correspondientes al sistema con patrón HPN) son ligeramente inferiores
a los mostrados en la tabla6.2 anterior para el sistema DVE con patrón de movimiento
HPA. Por último, a pesar de que ambos métodos migran un número similar de avatares
en cada iteración de la simulación (siempre inferior al 30 % de la población), la tabla6.3
indica que la estrategia GRASP mejora los valores medios de ASR (fila ASR medio) y
número de avatares finales con QoS (fila Max. it) que los obtenidos por el mecanismo SA
durante el transcurso de toda la simulación.
6.4. CONCLUSIONES
Tradicionalmente, los sistemas DVE han gestionado la QoS de los clientes del sistema
empleando procedimientos gráficos. Estas aproximaciones, basadas en modelos multire-
solución o en mecanismos de compensación de la latencia, no tienen en cuenta el com-
portamiento no lineal que muestran estos sistemas (descrito en el capítulo4) con respecto
a la carga y proporcionan cierta QoS a costa de la calidad visual de los gráficos propor-
cionados.
En este capítulo, hemos demostrado que el problema de la QoS en sistemas DVE
CAPÍTULO 6. CALIDAD DE SERVICIO EN SISTEMAS DVE 193
HPN + Uniforme HPN + Sesgada HPN + Agrupada
ALB SA GRASP ALB SA GRASP ALB ALB GRASP
S0 (max. %) 92 93 93 100 100 100 100 98 99
S1 (max. %) 91 92 96 100 98 100 96 98 99
S2 (max. %) 93 89 88 98 96 98 100 99 96
S3 (max. %) 89 86 89 99 100 98 96 100 97
S4 (max. %) 93 96 95 100 99 100 98 100 99
S5 (max. %) 96 98 94 96 98 98 99 96 100
S6 (max. %) 91 89 86 100 100 98 99 100 98
S7 (max. %) 89 91 91 100 100 100 98 99 100
S8 (max. %) 88 93 87 96 96 100 98 99 100
ASR medio 264.6 239.5 228.3 296.8 265.1 251.8 313.2 273.5 259.9
Max. It. 100 100 100 13 13 13 12 12 12
QoS 245 371 416 199 241 306 171 261 292
Migraciones 40 171 160 55 201 212 80 164 159
Tabla 6.3: Resultados de las técnicas de QoS para una configuración MEDIUM2 con
patrón de movimiento HPN y diferentes distribuciones iniciales
se puede abordar mediante el problema del particionado. Además, hemos propuesto la
implementación y parametrización de dos técnicas heurísticas basadas en Simulated An-
nealing (SA) y GRASP. El empleo de estas técnicas se realiza con el objetivo de obtener
las mejores particiones del sistema que hacen mínimos los valores de la función de evalua-
ción. La función de evaluación la hemos definido como un compromiso entre productivi-
dad, latencia y eficiencia del sistema. Este modelo no sólo mantiene alto la productividad
del sistema, sino que además es capaz de cumplir con unas determinadas restricciones
temporales en el ASR de los avatares del sistema.
La evaluación de prestaciones del método propuesto muestra que el mecanismo de
particionado presentado puede ser considerado como una estrategia eficiente para dotar
de QoS a los avatares de un sistema DVE. Esta evaluación muestra resultados equivalentes
para ambas técnicas heurísticas cuando éstas son empleadas sobre sistemas DVE de tipo
MEDIUM1. Por el contrario, a medida que las dimensiones del sistema van creciendo
hasta llegar a escenarios tipo MEDIUM2, el número de avatares con QoS obtenidos por
la técnica heurística GRASP supera los avatares obtenidos a partir de la estrategia basada
194 6.4. CONCLUSIONES
en SA.
CAPÍTULO 7
CONCLUSIONES Y TRABAJO FUTURO
Aunque en capítulos previos hemos comentado las conclusiones particulares de cada
uno de los aspectos del trabajo realizado, este capítulo ofrece las conclusiones generales
que hemos extraído del presente trabajo. Además, detallamos las publicaciones más im-
portantes en las que se han difundido las principales aportaciones de la tesis, así como las
nuevas líneas de investigación abiertas en el campo de los sistemas DVE.
7.1. CONCLUSIONES GENERALES Y CONTRIBUCIONES
En esta tesis nos hemos centrado en el estudio de la mejora de las prestaciones de los
sistemas DVE basados en arquitecturas red-servidor. Este estudio no sólo ha dado lugar
al desarrollo de un conjunto de técnicas que mejoran productividad y latencia, sino que
además ha permitido evaluar empíricamente un modelo que describe fielmente el com-
portamiento de este tipo de sistemas. Las aportaciones más importantes en los diferentes
aspectos que cubre cubre este estudio son:
Acerca de la evaluación de prestaciones en sistemas DVE.Presentamos un mecanismo
sistemático de evaluación de prestaciones en sistemas DVE. Este mecanismo defi-
ne un modelo de simulación para el análisis del comportamiento del sistema ante
diferente factores. Estos factores son: escalabilidad del sistema DVE (evaluada me-
diante los formatos de sistemas SMALL y LARGE), comportamiento del sistema
ante la variación de la carga generada por la población de avatares, distribución
inicial de avatares en la escena (uniforme, sesgada y agrupada) y patrón de mo-
vimiento de avatares (CCP, HPA y HPN). Este mecanismo de evaluación ha sido
196 7.1. CONCLUSIONES GENERALES Y CONTRIBUCIONES
incluido en una herramienta multi-propósito (denominada “RealDvT”) que simula
en tiempo real el comportamiento de cualquier tipo de sistema DVE diseñado sobre
una arquitectura red-servidor.
Sobre los métodos de búsqueda para el problema del particionadoAportamos un con-
junto de soluciones basadas en las principales estrategias metaheurísticas (algorit-
mos genéticos, colonia de hormigas, etc.) para resolver el problema del particionado
en sistemas DVE. Las estrategias propuestas no sólo obtienen soluciones de mejor
calidad que la estrategia propuesta por la principal referencia en la literatura de la
materia, sino que además lo hacen en un tiempo significativamente menor. En es-
pecial, los resultados obtenidos validan a la estrategia AG-M (basada en algoritmos
genéticos) como la mejor heurística de las presentadas.
Acerca de la estimación de la carga en sistemas DVE.A pesar de que los modelos com-
portamentales vigentes hasta la actualidad modelan la carga que genera un avatar
al servidor donde está asignado como un valor constante, los resultados mostrados
en nuestros experimentos muestran que este valor varía en cada avatar del sistema
durante el transcurso de las simulaciones. Además, hemos demostrado la existencia
de correlación entre este valor de carga, que identifica a cada avatar del sistema, con
la tasa de movimiento del avatar y con su factor de presencia dentro de la escena.
Acerca de la caracterización de los sistemas DVE.Hemos demostrado la ausencia de
correlación existente entre la principal función de calidad recogida en la literatura
de la materia (Cp) y las prestaciones reales de los sistemas DVE. Esta ausencia
de correlación se debe al comportamiento no lineal que tienen estos sistemas con
respecto al número de usuarios de la simulación. Además, hemos caracterizado el
comportamiento de los sistemas DVE con respecto a dos términos de la función de
calidadCp (balanceo de cargas y volumen de mensajes inter-servidor). El balanceo
de cargas afecta sobre todo a la productividad del sistema, mientras que el tráfico
de mensajes inter-servidor tiene efectos en la latencia global del sistema DVE. No
obstante, la incidencia de este último término no es significativa mientras el sistema
no alcance el punto de saturación.
Respecto al particionado dinámico en sistemas DVE.A partir de la caracterización de
la carga y del comportamiento no lineal del sistema comentado anteriormente, pre-
sentamos dos técnicas de particionado dinámico basado en el balanceo de cargas
entre servidores. El objetivo de ambas técnicas se basa en mantener los porcentajes
de utilización de CPU de todos los servidores del sistema DVE por debajo de valo-
CAPÍTULO 7. CONCLUSIONES Y TRABAJO FUTURO 197
res del 100 %. La evaluación de prestaciones de estas técnicas, denominadas ALB
y FGALB, demuestran la mejora significativa de las prestaciones (en términos de
productividad y latencia) de aquellos sistemas que las incorporan en su mecanismo
de particionado.
Sobre la calidad de servicio en sistemas DVE.Proponemos un modelo que proporcio-
na un cierto nivel de QoS a los avatares de un sistema DVE a partir de una función
de evaluación que estima la eficiencia de cualquier acción de particionado en el
sistema. Este modelo es independiente de la calidad de visualización máxima de
los clientes y se formula como un compromiso entre productividad, latencia y efi-
ciencia de particionado. La evaluación de prestaciones de este modelo indica que no
sólo mantiene alto el rendimiento del sistema, sino que además, es capaz de cumplir
con unas determinadas restricciones temporales de los avatares del sistema.
7.2. LÍNEAS DE INVESTIGACIÓN ABIERTAS
El desarrollo de las técnicas para la mejora de prestaciones en sistemas DVE descritas
en esta memoria deja abiertas varias líneas de trabajo que suponen una continuación de la
investigación que se ha llevado a cabo. El objetivo de estas nuevas líneas se centra en:
Mejora de las técnicas heurísticas propuestas en el capítulo6 para la solución del
problema de la calidad de servicio en sistemas DVE. A pesar de que este capítu-
lo muestra la adaptación de las técnicas de Recocido Simulado y GRASP para las
especificaciones del problema, estamos evaluando la posibilidad de mejorar la ca-
lidad de las soluciones de particionado, así como su tiempo de cálculo, desde dos
perspectivas distintas. La primera propuesta a investigar pasa por estudiar la posi-
bilidad de aplicar estrategias evolutivas, tales como algoritmos genéticos o colonias
de hormigas, en la búsqueda de soluciones de la funciónfQoS. Al igual que reali-
zamos en el capítulo3 para la funciónCp, los algoritmos basados en estás técnicas
no sólo han de estar perfectamente adaptados a las características del problema si-
no que además han de ser convenientemente ajustados al tamaño del mismo. Por
otra parte, y aprovechando que los sistemas DVE con arquitectura red-servidor es-
tán formados por un conjunto de servidores interconectados, estamos trabajando
en la paralelización del mecanismo de búsqueda para la funciónfQoS basado en
GRASP. Esta nueva implementación opera sobre un esquema maestro-esclavo para
198 7.3. PUBLICACIONES
la comunicación entre los nodos del sistema. Además, incorpora un procedimiento
de post-optimización basado en “path-relinking” para la mejora de las soluciones
intermedias.
Modificación del mecanismo de calidad de servicio propuesto, basado en el parti-
cionado del sistema DVE, para adaptarlo a sistemas donde sea necesario garantizar
un cierto nivel de latencia a un conjunto restringido de usuarios del entorno (juegos
on-line, simulaciones críticas, etc.). Obviamente, estos esquemas deben asociar un
nivel de probabilidad a cada cliente del sistema, de forma que a medida que es-
te nivel crezca mayor sea la probabilidad de que cada usuario mejore su latencia
media.
Estudio de la mejora de prestaciones de sistemas DVE basados en arquitecturas
punto-a-punto. A pesar de que el desarrollo de sistemas DVE sobre este tipo de ar-
quitecturas cayo en desuso con la aparición de los sistemas red-servidor [28, 52], el
auge del grid computing y las tecnologías P2P han aportado soluciones en algunos
aspectos críticos de estos sistemas como pueda ser el caso de la consistencia de la
escena 3D [39]. Al igual que hicimos con RealDvT para sistemas DVE red-servidor,
estamos desarrollando una nueva herramienta que consiga simular sistemas DVE
reales sobre arquitecturas P2P. Esta herramienta permitirá realizar una caracteriza-
ción completa de estos sistemas con el objetivo de mejorar tanto su productividad
como su latencia media.
7.3. PUBLICACIONES
Las publicaciones originadas hasta el momento por el trabajo que se ha presentado en
esta tesis doctoral son las siguientes (por orden de publicación):
P. Morillo, M. Fernández y V.Arnau,“Unas primeras aproximaciones evolutivas al
problema del particionado en mundos virtuales distribuidos (DVE)”, 2o Congreso Es-
pañol de Metaheurísticas, Algoritmos Evolutivos y Bioinspirados (MAEB’ 03), páginas
578-585 , Gijón, Spain. February, 2003.
P. Morillo and M. Fernández,“A GRASP-based algorithm for solving DVE parti-
tioning problem”, Proceedings of 2003 International Parallel and Distributed Processing
CAPÍTULO 7. CONCLUSIONES Y TRABAJO FUTURO 199
Symposium (IPDPS’ 2003), pp.60, Nice, France. April, 2003.
P. Morillo, M. Fernández and J.M. Orduña,“An ACS-Based Partitioning Method for
Distributed Virtual Environment Systems”, Proceedings of 2003 International Parallel and
Distributed Processing Symposium (IPDPS-NIDISC’ 2003), pp.148, Nice, France. April,
2003.
P. Morillo, M. Fernández and J.M. Orduña,“A Comparison Study of Modern Heuris-
tics for Solving the Partitioning Problem in Distributed Virtual Environment Systems”, in
International Conference in Computational Science and Its Applications (ICCSA’ 2003),
volume 2669 of Springer LNCS, pages 458-467, Montreal, Canada. May 2003. Springer
Verlag.
P. Morillo, M. Fernández y J.M. Orduña,“Aspectos clave en las tecnologías de Mun-
dos Virtuales Distribuidos (DVE)”, II Congreso Internacional de la Sociedad de la In-
formación y el Conocimiento (CISIC’ 2003), tomo 2, páginas 218-229, Madrid, Spain.
Mayo, 2003.
P. Morillo, J.M. Orduña, M. Fernández and J. Duato,“On the Characterization of
Distributed Virtual Environment Systems”, in European Conference on Parallel Proces-
sing (Euro-Par’ 2003), volume 2790 of Springer LNCS, pages 1190-1198, Klagenfurt,
Austria. August 2003. Springer Verlag.
P. Morillo, M. Fernández and J.M. Orduña,“On the Characterization of Avatars
in Distributed Virtual Worlds”, in Annual Conference of the European Association for
Computer Graphics (EUROGRAPHICS’ 2003), pp. 215-219, Granada, Spain. Septem-
ber, 2003.
P. Morillo, M. Fernández y J.M. Orduña,“An Evolutive Approach to the Partitioning
Problem in Distributed Virtual Environment Systems”, XIV Jornadas de Paralelismo, pá-
ginas 299-304, Madrid, Spain. Septiembre, 2003.
P. Morillo, J.M. Orduña, M. Fernández y J.Duato,“Analyzing the Behavior of Dis-
tributed Virtual Environment Systems”, XIV Jornadas de Paralelismo, páginas 305-310,
Madrid, Spain. Septiembre, 2003.
200 7.3. PUBLICACIONES
P. Morillo, J.M. Orduña, M. Fernández and J. Duato,“An Adaptive Load Balan-
cing Technique for Distributed Virtual Environment Systems”, Proceedings of the 15th
IASTED International Conferenece on Parallel and Distributed Computing and Systems
(PDCS’03), Volume I, pp. 256-261, Los Angeles, California, USA. November, 2003.
P. Morillo, P. López, M. Fernández and J.M. Orduña,“A New Genetic Approach for
the Partitioning Problem in Distributed Virtual Environment Systems”, in 10th Conferen-
ce of the Spanish Association for Artificial Intelligence (CAEPIA’03), volume 3040 of
Springer LNCS, pages 350-360, San Sebastian, Spain. May 2004. Springer Verlag.
P. Morillo, J.M. Orduña, M. Fernández and J.Duato,“A Comparison Study of Me-
taheuristic Techniques for Providing QoS to Avatars in DVE systems”, in International
Conference in Computational Science and Its Applications (ICCSA’ 2004), volume 3044
of Springer LNCS, pages 661-668, Perugia, Italy, May 2004. Springer Verlag.
P. Morillo, J.M. Orduña and M. Fernández,“A Comparison Study of evolutive algo-
rithms for Solving the Partitioning Problem in Distributed Virtual Environment Systems”,
in Parallel Computing, special issue of Parallel and nature-inspired computational para-
digms and applications , volume 30, issues 5-6, pages 585-610, Springer-Verlag, New
York, 2004.
P. Morillo and M. Fernández,“A grid representation for Distributed Virtual Environ-
ments”, Proceedings of 1st European Across Grids Conference, volume 2970 of Springer
LNCS, pages 182-189. Santiago de Compostela, Spain. 2004. Springer Verlag.
P. Morillo, J.M. Orduña, M. Fernández and J.Duato,“Metaheuristic Solutions for Pro-
viding QoS in DVE systems”, XV Jornadas de Paralelismo, Almería, Spain. Septiembre,
2004.
P. Morillo, J.M. Orduña, M. Fernández and J.Duato,“A New Partitioning Approa-
ch for Distributed Virtual Environment Systems”, XV Jornadas de Paralelismo, Almería,
Spain. Septiembre, 2004.
P. Morillo, J.M. Orduña and M. Fernández,“Biology-Inspired algorithms for Sol-
ving the Partitioning Problem in Distributed Virtual Environment Systems”, chapter 19
in HandBook of Bioinspired Algorithms and Applications, edited by Albert Zomaya in
CAPÍTULO 7. CONCLUSIONES Y TRABAJO FUTURO 201
Computer and Information Sciences series, Chapman and Hall/CRC Press.(en prensa)
202 7.3. PUBLICACIONES
CAPÍTULO 8
BIBLIOGRAFÍA
[1] M. Abrash.Quake’s game engine. Dr. Dobb’s Journal, 1997.1.1.1, 1.1.4
[2] E. Alba and S. Khuri. Applying evolutionary algorithms to combinatorial optimi-
zation problems.IInternational Conference on Computational Science (ICCS’01) -
Lecture Notes in Computer Science, 2074(2):689–700, 2001.2, 3.2, 3.2.4
[3] F. J. Alfaro, J.L. Sánchez, L. Orozco, and J. Duato. Providing qos in infiniband
for regular and irregular topologies. InProceedings of Canadian Conference on
Electrical & Computer Engineering (CCECE’03), May 2003.1.1.3, 6
[4] D.B. Anderson, J.W. Barrus, and J.H. Howard. Building multi-user interactive mul-
timedia environments at MERL.IEEE Multimedia, 2(4):77–82, 1995.1.1.3, 1.1.5,
2, 3.1.2
[5] W. Banzhaf, P.Nordin, F.D. Francone, and R.E. Keller.Genetic Programming: An
Introduction. Elsevier Science & Technology Books, 1 edition, 1998.3.2, 3.2.4,
3.2.4
[6] P. Barham and T. Paul. Exploiting reality with multicast groups.IEEE Computer
Graphics and Applications, pages 38–45, September 1995.1.1.2, 2.3.3, 3.1, 3.1.1,
3.1.1, 3.1.2, 4, 4.1, 4.1.1, 4.2, 5
[7] N. Beatrice, S. Antonio, L. Rynson, and L. Frederick. A multiserver architecture
for distributed virtual walkthrough. InProceedings of ACM Symposium on Virtual
Reality, Software and Technology 2002(VRST’02), 2002. 1.1.1, 1.1.4, 1.1.5, 1.1.5,
2, 2.2, 2.3, 2.3.1, 2.3.2, 2.3.3, 3, 3.1.1, 5, 5.1, 5.1, 5.1.1, 5.1.2, 5.1.2, 5.2, 5.2.2, 5.3
204
[8] C. Bouras, D. Fotakis, and A. Philopoulos. A distributed virtual learning centre in
cyberspace. InProceedings of the 4th International Conference on Virtual Systems
and Multimedia (VSMM’98), November 1998.2.1
[9] M. Buro. Orts: A hack-free rts game environment. InProceedings of the Third In-
ternational Conference on Computers and Games, pages 156–161, July 2002.1.1.2,
1.1.3, 1.1.4, 1.1.4, 5.1.2
[10] B. Caminero, C. Carrión, F. Quiles, J. Duato, and S. Yalamanchili. A hardware
approach to qos support in cluster environments: The multimedia router mmr. In
Proceedings of the International Conference on Parallel and Distributed Processing
Techniques and Applications (PDPTA’03), 2003.6
[11] M. Capps, P. McDowell, and M. Zyda. A future for entertainment-defense research
collaboration.IEEE Computer Graphics and Applications, 21(1):37–47, 2001.1.1.2
[12] T. Carneiro and J. Árabe. Load balancing for distributed virtual reality systems. In
Proceedings of International Symposium on Computer Graphics, Image Processing,
and Vision (SIBGRAPI’98), pages 158–165, January 1998.1.1.3, 2.3.1, 2.3.1, 3.1.1,
3.1.1, 3.1.2, 4, 4.1, 4.1.1, 5.1.1
[13] A. Chan, R.W. Lau, and B.Ng. Hybrid motion prediction method for caching and
prefetching in distributed virtual environments. InProceedings of ACM Symposium
on Virtual Reality, Software and Technology 2001(VRST’01), pages 135–142, No-
vember 2002.1.1.2, 2.3.3
[14] Z. Choukair, D. Retailleau, and M. Hellstrom. Environment for performing collabo-
rative distributed virtual environments with qos. InProceedings of the Internatio-
nal Conference on Parallel and Distributed Systems (ICPADS’00), pages 111–118.
IEEE Computer Society, 2000.1.1.1, 1.1.2, 1.1.3, 2, 6
[15] R. Chow and T. Jhonson.Distributed Operating Systems & Algorithms. Addison
Wesley-Longman, 1997.1.1.4, 5.1.1
[16] C. Coello, G. Lamont, and D. Van Veldhuizen.Evolutionary Algorithms for Solving
Multi-Objective Problems. Kluwer Academic Publishers, 2002.3.2, 3.2.4
[17] E. Cronin, B. Filstrup, A.R. Kurc, and SJamin. An efficient synchronization me-
chanism for mirrored game architectures. InInternational Workshop on Networked
Games (NetGames’2002), pages 67–73. ACM, 2002.1.1.2, 2, 2.1
CAPÍTULO 8. BIBLIOGRAFÍA 205
[18] J. Cunningham. Load balancing schemes for distributed real-time interactive virtual
world simulations. Master’s thesis, University of Waterloo, Ontario, Canada, 2000.
2, 2.3, 2.3.2, 2.3.3
[19] A. Díaz, F. Glover, H. Ghaziri, J.L. Gonzalez, M. Laguna, and P. Moscato.Optimi-
zación Heurística y Redes Neuronales. Editorial Paraninfo, 1996.3.2, 3.2.1, 3.2.2,
3.2.2, 3.2.4, 3.2.4, 3.2.4, 3.2.4, 3.2.4, 6.1, 6.2.1, 6.2.2
[20] H. Delmaire, J.A. Díaz, E. M.Fernández, and M. Ortega. Comparing new heuristics
for the pure integer capacitated plant location problem.Technical Report DR97/10,
Department of Statistics and Operations Research, Universitat Politecnica de Cata-
lunya (Spain), 1997.3.2, 3.2.2
[21] M. Dorigo, G. Di Caro, and M. Sampels.Ant Algorithms: Third International Works-
hop, Ants 2002. Springer-Verlag, 2002.3.2.4, 3.2.4, 3.2.4
[22] M. Dorigo, V. Maniezzo, and A. Coloni. The ant system: Optimization by a colony
of operation agent.IEEE Transactions on Systems, Man and Cybernetics, 96:1–13,
1996.3.2.4, 3.2.4, 3.2.4
[23] J. Duato, S. Yalamanchili, and L.Ni.PInterconnection Networks: An Engineering
Approach. IEEE Press, 1997.1.1.3, 2.2
[24] J. Falby, M. Zyda, D. Pratt, and R. Mackey. Npsnet: Hierarchical data structures for
real-time three-dimensional visual simulation.Computers & Graphics, 17(1):65–69,
1993.1.1.5
[25] T.A. Feo and M.G. Resende. Greedy randomized adaptive search procedures.Jour-
nal of Global Optimization, 6:109–133, 1995.3.1.2, 3.2.1, 3.2.3, 6.2.2, 6.2.2
[26] FIPA. FIPA Agent Management Specification, 2000.1.1.2, 2.1, 2.2, 4.1.1
[27] F.Morgan. The hexagonal honeycomb conjecture.Transactions of the American
Mathematical Society, 351:1753–1763, May 1999.1.1.5
[28] E. Frecon and M. Stenius. Dive: A scaleable network architecture for distributed
virtual environments.Distributed Systems Engineering, 5(3):91–100, 1998.1.1.2,
1.1.2, 1.1.4, 1.1.4, 1.1.5, 2.1, 2.2, 2.3.1, 7.2
[29] T.A. Funkhouser. Ring: A client-server system for multi-user virtual environments.
In Proceeding of Symposium on Interactive 3D Graphics, pages 85–92, April 1995.
1.1.2, 1.1.4, 2
206
[30] M.R. Garey and D.S. Johnson.Computers and intractablity: a guide to the theory
of NP completeness. W.H. Freeman, 1979.3.1
[31] F.C. Greenhalgh. Analysing movement and world transitions in virtual reality tele-
conferencing. InProceedings of 5th European Conference on Computer Supported
Cooperative Work (ECSCW’97), pages 313–328, 1997.1.1.5, 2.3, 2.3.3, 3.1.2, 5.1,
5.1.2
[32] F.C. Greenhalgh. Awareness-based communication management in the massive sys-
tems. Distributed Systems Engineering, 5(3):129–137, 1998.1.1.2, 1.1.3, 1.1.4,
1.1.5
[33] R.L. Haupt and S.E. Haupt.Practical Genetic Algorithms. Willey Editors, 1997.
3.2.4, 3.2.4, 3.2.4, 3.2.4
[34] T. Henderson and S. Bhatti. Networked games: a qos-sensitive application for qos-
insensitive users? InProceedings of the ACM SIGCOMM 2003, pages 141–147.
ACM Press / ACM SIGCOMM, 2003.1.1.2, 1.1.3, 6, 6.3, 6.3
[35] Y. Ho. Heuristics, rules of thumb, and the 80/20 proposition.IEEE Transactions on
Automatic Control, 39(5):1025–1027, 1994.3.2.4
[36] J.H. Holland and D.E. Goldberg. Genetic algorithms and machine learning: Intro-
duction to the special issue on genetic algorithms.Machine Learning, 3, 1988.3.2.1,
3.2.4, 3.2.4, 3.2.4, 3.2.4, 3.2.4, 3.2.4
[37] IEEE. 1278.1 IEEE Standard for Distributed Interactive Simulation-Application
Protocols (ANSI), 1997.1.1.2, 1.1.3, 1.1.5, 1.1.5, 2.1
[38] T.U. Julien and C.D. Shaw. Firefighter command training virtual environment. In
Proceedings of the 2003 conference on Diversity in Computing (TAPIA’03), Atlanta,
Georgia, USA, pages 30–33, October 2003.1.1.5
[39] Y. Kawahara, H. Morikawa, and T. Aoyama. A peer-to-peer message exchange sche-
me for large scale networked virtual environments. InProceedings of 8th IEEE In-
ternational Conference on Communications Systems (ICCS2002), November 2002.
1.1.2, 1.1.4, 1.1.4, 2, 2.3, 2.3.1, 2.3.3, 7.2
[40] K.E. Kinnear. Alternatives to automatically function definition.In Advances in
Genetic Programming, MIT Press:119–141, 1994.3.2.4, 3.2.4, 3.2.4
CAPÍTULO 8. BIBLIOGRAFÍA 207
[41] S. Kirkpatrick, C. D. Gelatt, and M.P. Vecchi. Optimization by simulated annealing.
Science, 220:671–679, 1983.3.2.2, 3.2.2, 3.2.2, 3.2.2, 3.2.4, 6.2.1, 6.2.1
[42] E. Kirshenbaum. Genetic programming with statically scoped local variables. In
Proceedings of the Genetic and Evolutionary Computation Conference (GECCO)
2000, pages 459–468, July 2000.3.2.4, 3.2.4
[43] C. Koulamas, S.R. Antony, and R.Jaen. A survey of simulated annealing applications
to operations research problems.International Journal of Management Science,
22:41–56, 1994.3.2, 3.2.2, 3.2.2, 3.2.2, 3.2.2, 6.2.1
[44] F. Kuhl, R. Weatherly, and J. Dahmann.Creating Computer Simulation Systems: An
Introduction to the High Level Architecture. Prentice-Hall PTR, 1999.1.1.2, 2.1,
2.2, 2.2, 4.1.1
[45] D. Lee, M. Lim, and S. Han. Atlas - a scalable network framework for distributed
virtual environments. InProceedings of ACM Collaborative Virtual Environments
(CVE 2002), pages 47–54, September 2002.1.1.1, 1.1.2, 1.1.4, 1.1.5, 2, 2.1, 2.3, 3
[46] K. Lee and D. Lee. A scalable dynamic load distribution scheme for multi-server
distributed virtual environment systems with highly-skewed user distribution. In
Proceedings of the 10th ACM Symposium on Virtual Reality Software and Techno-
logy (VRST 2003), pages 160–168. ACM, 2003.1.1.4, 1.1.5, 3, 5.2.2, 6, 6.1, 6.3
[47] M. Lewis and J. Jacboson. Game engines in scientific research.Communications of
the ACM, 45:17–31, 2002.2, 5.1.2
[48] M. Lozano, F.Grimaldo, and J. Molina. Towards reactive navigation and attention
skills for 3d intelligent characters.International Work-conference on Artificial and
Natural Neural Networks (IWANN) - Lecture Notes in Computer Science, 2687:209–
216, June 2003.1.1.1, 2, 2.3.1, 2.3.3, 5.1.2
[49] J.C.S. Lui and M.F. Chan. An efficient partitioning algorithm for distributed vir-
tual environment systems.IEEE Transaction on Parallel and Distributed Systems,
13:193–211, 2002.1.1.3, 1.1.4, 2, 2.2, 2.3, 2.3.1, 2.3.2, 2.3.3, 3, 3.1, 3.1.1, 3.2.5, 4,
4.1, 4.1.1, 4.2, 4.2.1, 4.2.1, 4.3, 5, 5.1.1, 5.1.2, 5.2.1
[50] J.C.S. Lui, M.F. Chan, and K.Y. Oldfield. Dynamic partitioning for a distributed
virtual environment.Department of Computer Science, Chinese University of Hong
Kong, 1998. 1.1.1, 1.1.4, 1.1.4, 1.1.5, 2.2, 3, 3.1, 3.1.1, 3.1.2, 3.2, 4, 3.2.5, 3.2.5,
4.2, 4.2.1, 4.2.1
208
[51] J.C.S. Lui and W.K. Lam. General methodology in analysing the performance of
parallel/distributed simulation under general computational graphs. InProceedings
of Third International Conference on the numerical Solution of Markov Chain, Sep-
tember 1996.1.1.1, 3.1.1, 4.2.1
[52] M. Macedonia. A taxonomy for networked virtual environments.IEEE Multimedia,
4(1):48–56, 1997.1.1.2, 1.1.3, 1.1.4, 1.1.4, 1.1.4, 2.3.1, 7.2
[53] M. Matijasevic, K.P. Valavanis, D. Gracanin, and I. Lovrek. Application of a multi-
user distributed virtual environment framework to mobile robot teleoperation over
the internet.Machine Intelligence & Robotic Control, 1(1):11–26, 1999.1.1.1, 2.3,
2.3.3, 5.1, 5.1.2
[54] J. Maxfield, T. Fernando, and P. Dew. A distributed virtual environment for collabo-
rative engineering.Presence, 7(3):241–61, 1998.1.1.2
[55] Z. Michalewicz. Genetic Algorithms + Data Structures = Evolution Programs.
Springer-Verlag, second edition, 1992.3.2.4, 3.2.4, 3.2.4, 3.2.4
[56] D.C. Miller and J.A. Thorpe. Simnet: The advent of simulator networking. In
Proceedings of the IEEE, volume 83(8), pages 1114–1123, 1995.1.1.1, 1.1.2, 1.1.4,
1.1.5, 1.1.5
[57] P. Morillo, P. López an J.M. Orduña, and M. Fernández. A new genetic approa-
ch for the partitioning problem in distributed virtual environment systems.Post-
conference Proceedings of CAEPIA-TTIA’2003, Lecture Notes in Artificial Inteli-
gence, 3040:350–360, 2004.3.2, 3.2.4, 3.2.4, 3.2.4, 4, 5.1.1, 5.2.1
[58] P. Morillo and M. Fernández. A grasp-based algorithm for solving dve partitio-
ning problem. InProceedings of 2003 IEEE International Parallel and Distributed
Processing Symposium, IPDPS’2003, page 60, April 2003.3.2, 3.2.3, 5.1.1, 5.2.1,
6.2.2
[59] P. Morillo, M. Fernández, and J.M. Orduña. An ACS-Based Partitioning Method for
Distributed Virtual Environment Systems. InProceedings of 2003 IEEE Interna-
tional Parallel and Distributed Processing Symposium, NIDISC-IPDPS’2003, page
148, April 2003.2.3.2, 3.2, 3.2.4
[60] P. Morillo, M. Fernández, and J.M. Orduña. A comparison study of modern heuris-
tics for solving the partitioning problem in Distributed Virtual Environment Sys-
tems. International Conference in Computational Science and Its Applications
CAPÍTULO 8. BIBLIOGRAFÍA 209
(ICCSA’ 2003) - Lecture Notes in Computer Science, 2669(3):458–467, 2003.2.2,
2.3.2, 3.2, 3.2.4, 4, 4.1.1, 5.1.1, 5.2.1
[61] P. Morillo, M. Fernández, and J.M. Orduña. A comparison study of metaheuristic
techniques for providing QoS to Avatars in DVE Systems.International Conference
in Computational Science and Its Applications (ICCSA’ 2004) - Lecture Notes in
Computer Science, 3044:661–668, 2004.6, 6.2.1, 6.2.2
[62] P. Morillo, M. Fernández, and N. Pelechano. A grid representation for Distri-
buted Virtual Environments. Post-conference Proceedings of the 1st European
Across Grids Conference (AcrossGrid’2003)- Lecture Notes in Computer Science,
2970:182–189, 2004.3.2, 3.2.2, 3.2.4, 3.2.4, 4.1.2, 5.1.1
[63] P. Morillo, J.M. Orduña, M. Fernández, and J. Duato. An adaptive load balancing
technique for distributed virtual environment systems. InProceedings of Interna-
tional Conference on Parallel and Distributed Computing and Systems (PDCS’03),
pages 256–261. IASTED, ACTA Press, November 2003.2.3.2, 5, 5.1, 5.1.1, 5.1.2,
5.2, 5.2.1, 5.2.2
[64] P. Morillo, J.M. Orduña, M. Fernández, and J. Duato. On the characterization of
avatars in distributed virtual worlds. InProceedings of EUROGRAPHICS’ 2003,
pages 215–220. Springer-Verlag, September 2003.2, 4, 4.1, 4.1.1, 5.1.1, 5.2.2, 6.2.2
[65] P. Morillo, J.M. Orduña, M. Fernández, and J. Duato. On the characterization of
Distributed Virtual Environment Systems.European Conference on Parallel Pro-
cessing (Euro-Par’ 2003)- Lecture Notes in Computer Science, 2790:1190–1198,
2003.1.1.5, 4, 4.2, 5, 5.1, 5.1.1, 5.1.2, 5.1.2, 5.2, 5.2.1, 6.1
[66] Kali networked game support software. http://www.kali.net.1.1.2, 2
[67] C.A.S. Oliveira, D. Paolini, and P.M. Pardalos. A randomized algorithm for minimi-
zing user disturbance due to changes in cellular technology. InProceedings of the
International Conference CCCT-03, Orlando, Florida, volume 5, pages 45–50, July
2003.3.2.2, 3.2.2
[68] R.Duda, P.Hart, and D.Stork.Pattern Classification. Wiley Intescience, 2000.3.2.1
[69] M. Resende and C. Ribeiro.Handbook of Metaheuristics, chapter Greedy Randomi-
zed Adaptive Search Procedures, pages 219–249. Kluwer Academic PUBLISHERs,
2002.3.2.2, 3.2.3, 3.2.4, 3.2.4, 3.2.4, 3.2.4, 6.2.2, 6.2.2
210
[70] M.G.C. Resende and C.C. Ribeiro. A grasp with path-relinking for private virtual
circuit routing.Networks, 4:104–114, 2003.3.2.3, 6.2.2
[71] J.M. Salles, R. Galli, A.C. Almeida, C.A.C. Belo, and J.M. Rebordão. mworld: A
multiuser 3d virtual environment.IEEE Computer Graphics, 17(2):55–65, 1997.
1.1.1, 1.1.2
[72] E.J. Sallés, J.B. Michael, M. Capps, D. McGregor, and A. Kapolka. Security of
runtime extensible virtual environments. InProceedings of the 4th international
conference on Collaborative virtual environments, pages 97–104. ACM Press, 2002.
1.1.3
[73] D. Salomon. A Guide to Data Compression Methods. Springer-Verlag, February
2002.2
[74] T.G. Senna and J.N. Cotrim. Load balancing for distributed virtual reality systems.
In IEEE, editor,Proceedings of the IEEE International Symposium on Computer
Graphics, Image Processing, and Vision (SIBGRAPI’98), pages 158–165, October
1998.2, 2.3
[75] K. Shen, T. Yang, and L. Chu. Cluster load balancing for fine-grain network services.
In IEEE, editor,Proceedings of 2003 IEEE International Parallel and Distributed
Processing Symposium, IPDPS’2004, volume Symposium Volume, page 93, April
2002.5.2.1
[76] S. Singhal.Effective Remote Modeling in Large-Scale Distributed Simulation and
Visualization Environments. PhD thesis, Department of Computer Science, Stanford
University, 1997.1.1.3
[77] S. Singhal and M.Zyda.Networked Virtual Environments. ACM Press, 1999.1.1,
1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.4, 1.1.4, 1.1.5, 1.1.5, 2.1, 2.2, 2.2, 2.3.1, 3.1.2, 5.1.1, 6
[78] J. Smed, T. Kaukoranta, and H. Hakonen. A review on networking and multiplayer
computer games. Technical Report 454, Turku Centre for Computer Science, April
2002.1.1.2, 1.1.4, 1.1.4, 1.1.5, 1.1.5
[79] R. Stuart.The Design of Virtual Environments. Series on Visual Technology. Com-
puting McGraw-Hill, February 1996.1.1.1
[80] P.T. Tam. Communication cost optimization and analysis in distributed virtual envi-
ronment. Technical report RM1026-TR98-0412, Department of Computer Science
CAPÍTULO 8. BIBLIOGRAFÍA 211
& Engineering.The Chinese University of Hong Kong, 1998.1.1.5, 2.3.3, 3.1, 3.1.1,
3.1.1, 3.1.2, 3.1.2, 4, 4.1, 4.1.1, 4.2, 5
[81] J. Tromp, A. Steed, E. Frécon, A. Bullock, A. Sadagic, and M. Slater. Behavior expe-
riments in the coven project.IEEE Computer Graphics and Applications, 18(6):53–
63, 1998.1.1.2
[82] J. Wang, M. Lewis, and J. Gennari. A game engine based simulation of the nist
urban search and rescue areas (wsc’2003). In S.Chick, editor,Proceedings of the
2003 Winter Simulation Conference, December 2003.1.1.4, 2
[83] A. Watt. 3D Games: Real-Time Rendering and Software Technology, volume 1.
Pearson Addison Wesley, December 2000.1.1.4, 1.1.4, 2
[84] X. Yuan. Heuristic algorithms for multi-constrained quality of service routing.IEEE
Transactions on Networking, 10(2):244–256, 2002.3.2.2, 6, 6.1