D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA...

231
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 por Pedro 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

Transcript of D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA...

Page 1: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 2: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

2

Page 3: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 4: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

2

Page 5: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática
Page 6: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

4

Page 7: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

A mi mejor referencia, mi padre

Page 8: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática
Page 9: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

Í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

Page 10: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 11: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

Í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

Page 12: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

VI ÍNDICE

Page 13: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

Í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

Page 14: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 15: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

Í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

Page 16: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

X ÍNDICE DE TABLAS

Page 17: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

Í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

Page 18: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 19: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

Í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

Page 20: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 21: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

Í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.

Page 22: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 23: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

Í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.

Page 24: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

4 ÍNDICE DE FIGURAS

Page 25: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 26: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 27: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 28: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 29: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 30: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

10 Objetivos

Page 31: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 32: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 33: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 34: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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:

Page 35: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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].

Page 36: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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].

Page 37: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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].

Page 38: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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].

Page 39: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 40: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 41: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 42: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 43: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 44: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 45: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 46: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 47: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 48: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 49: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 50: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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]

Page 51: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 52: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 53: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 54: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 55: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 56: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 57: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 58: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 59: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 60: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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].

Page 61: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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:

Page 62: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 63: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 64: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 65: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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,

Page 66: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 67: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 68: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 69: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 70: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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:

Page 71: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 72: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 73: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 74: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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)

Page 75: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 76: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 77: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 78: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 79: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 80: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 81: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 82: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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)

Page 83: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 84: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 85: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 86: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 87: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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).

Page 88: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 89: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 90: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 91: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 92: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 93: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 94: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 95: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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].

Page 96: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 97: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 98: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 99: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 100: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 101: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 102: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 103: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 104: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 105: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 106: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 107: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 108: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 109: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 110: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 111: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 112: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 113: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 114: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 115: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 116: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 117: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 118: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 119: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 120: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 121: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 122: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 123: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 124: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 125: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 126: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 127: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 128: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 129: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 130: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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 %

Page 131: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 132: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 133: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 134: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 135: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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,

Page 136: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 137: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 138: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 139: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 140: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 141: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 142: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 143: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 144: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 145: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 146: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 147: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 148: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 149: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 150: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 151: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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á

Page 152: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 153: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 154: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 155: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 156: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 157: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 158: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 159: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 160: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 161: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 162: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 163: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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).

Page 164: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 165: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 166: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 167: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 168: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 169: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 170: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 171: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 172: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 173: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 174: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 175: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 176: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 177: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 178: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 179: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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,

Page 180: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 181: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 182: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 183: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 184: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 185: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 186: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 187: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 188: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 189: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 190: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 191: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 192: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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:

Page 193: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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:

Page 194: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 195: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 196: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 197: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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)

Page 198: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 199: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 200: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 201: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 202: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 203: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 204: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 205: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 206: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 207: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 208: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 209: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 210: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 211: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 212: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 213: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 214: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

194 6.4. CONCLUSIONES

en SA.

Page 215: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 216: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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-

Page 217: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 218: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 219: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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.

Page 220: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 221: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

CAPÍTULO 7. CONCLUSIONES Y TRABAJO FUTURO 201

Computer and Information Sciences series, Chapman and Hall/CRC Press.(en prensa)

Page 222: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

202 7.3. PUBLICACIONES

Page 223: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 224: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 225: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 226: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 227: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 228: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 229: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 230: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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

Page 231: D. MARCOS FERNÁNDEZ MARÍN D. JUAN MANUEL ORDUÑA …informatica.uv.es/~pmorillo/papers/tesis_pmorillo.pdf · ha sido realizada bajo su dirección, en el Departamento de Informática

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