Sie sind auf Seite 1von 76

Propuestas arquitectnicas

para servidores Web


distribuidos con rplicas
parciales
Universidad Carlos III de Madrid
Departamento de Informtica
Doctorado en Ingeniera Informtica
Septiembre de 2005
Autor:

Jos Daniel Garca Snchez

Directores:

Jess Carretero Prez


Flix Garca Carballeira

Contenido

Motivacin
Objetivo
Propuestas arquitectnicas para
replicacin parcial
Evaluacin
Conclusiones
2

El problema de la
escalabilidad

Los servidores Web deben:

El servidor Web es el nico punto bajo control


directo del proveedor de contenidos.

Satisfacer cada vez un mayor nmero de peticiones.


Alojar sitios que requieren mayor volumen de
almacenamiento.

Mejora del servidor Web.

El servidor Web contribuye en ms del 40% a la


latencia total.

Futuro Aumento del porcentaje de contribucin.


3

Opciones para la mejora

Escalado hardware.

Migracin a mquina de mejores prestaciones.


Incorporacin de recursos a mquina existente:
memoria, procesadores, disco, etc.

Escalado software.

Mejora del sistema operativo:

Contenedores de recursos, mejora de llamadas al


sistema, unificacin de gestin de bferes y cachs.

Mejora del software servidor:

Mejora de cachs, aceleracin de logs, cachs de URL,


elusin de bloqueos.
4

Tipos de Arquitecturas
distribuidas

Formadas por un
conjunto de nodos
servidores.

Tipos:

Sistema Web
basado en cluster.
Cluster Web virtual.
Sistema Web
distribuido.
5

Sistema Web basado en


Cluster

Switch con
direccin pblica.

Distribuye las
peticiones

Nodos con
direcciones
privadas.

Sirven las
peticiones.
6

Cluster Web virtual

Todos los nodos con


idntica direccin de
red.

Filtrado de peticiones
en cada nodo.

Mecanismo basado
en funcin hash.
7

Sistema Web distribuido

Direcciones de
red pblicas e
individuales.

Distribucin de
peticiones:

DNS dinmico.
Redireccin de
peticiones.
8

Tipos de replicacin de
contenidos

Replicacin total de contenidos.

Todos los archivos replicados en todos los nodos.


Alta fiabilidad.
Baja capacidad de almacenamiento.

Distribucin total de contenidos.

Cada archivo se aloja en un nico nodo.


Baja fiabilidad.
Alta capacidad de almacenamiento.
9

Polticas de asignacin de
peticiones
Decide qu nodo debe procesar una peticin.

Polticas sin informacin de estado.

Polticas basadas en informacin del cliente.

Particin URL, clientes, servicios, SITA-E.

Polticas basadas en informacin del servidor.

Aleatoria esttica, esttica circular.

Nodo menos cargado, LARD (distribucin de


peticiones consciente de la localidad).

Polticas propias de sistemas Web distribuidos.


10

Problemas de las
soluciones existentes

Los escalados hardware y software no


ofrecen soluciones a medio y largo plazo.

La replicacin total ofrece alta fiabilidad


con bajo aprovechamiento de la capacidad
de almacenamiento.

La distribucin total ofrece una alta


capacidad de almacenamiento con baja
fiabilidad.
11

Contenido

Motivacin
Objetivo
Propuestas arquitectnicas para
replicacin parcial
Evaluacin
Conclusiones
12

Objetivo

Diseo de una arquitectura


distribuida de servidor Web.

Basada en la replicacin parcial de


contenidos.
Alta escalabilidad en cuanto a los
volmenes de datos manipulados.
Sin deterioro de la fiabilidad.
Adaptacin dinmica de la asignacin
de contenidos.
13

Contenido

Motivacin
Objetivo
Propuestas arquitectnicas para
replicacin parcial

Adaptacin de arquitecturas
Propuesta arquitectnica
Algoritmos de replicacin
Polticas de asignacin de peticiones

Evaluacin
Conclusiones
14

Adaptacin de las
arquitecturas existentes a la
replicacin parcial

Sistemas Web basados en


cluster.

Clusters Web virtuales.

Sistemas Web distribuidos.


15

Sistemas Web basados en


cluster

Replicacin parcial

Asignacin dinmica
16

Cluster Web: flujo de


peticiones

Bidireccional

Unidireccional
17

Sistema Web basado en


cluster

Switch Web: Nodo central encargado de


coordinacin.

Solamente son admisibles polticas basadas en


servicio de directorio.

El Switch Web supone un punto nico de fallo


limitacin de fiabilidad.

El Switch Web nico supone un cuello de


botella en el procesamiento de peticiones
limitacin de rendimiento.
18

Adaptacin de las
arquitecturas existentes a la
replicacin parcial

Sistemas Web basados en cluster.

Clusters Web virtuales.

Sistemas Web distribuidos.

19

Clusters Web virtuales

Todas las peticiones llegan a todos los


nodos.

Cada nodo descarta las peticiones que no le


corresponden.

Cada elemento puede estar alojado en un


subconjunto distinto de nodos servidores.

No es posible utilizar una funcin hash general


que opere exclusivamente sobre direccin y
puerto de origen.
20

Clusters Web virtuales

Necesidad de familia de funciones hash.

Una funcin por cada elemento.


Cada funcin con un conjunto distinto de
posibles resultados.

Necesidad de un mecanismo de seleccin.

Complejo aplicar la idea a replicacin


parcial.

Dificultad de diseo de funciones hash.


Dificultad en seleccin de funcin hash.
21

Adaptacin de las
arquitecturas existentes a la
replicacin parcial

Sistemas Web basados en cluster.

Clusters Web virtuales.

Sistemas Web distribuidos.

22

Sistemas Web distribuidos

Redireccin de peticiones de
elementos no alojados en nodo
destino a otro nodo que
efectivamente contiene el elemento.

Adaptacin dinmica.

No existe un elemento central.


Basada en negociacin entre nodos.
23

Ventajas / Inconvenientes
Cluster Web

Ventajas

Sistema Web
distribuido

Escalabilidad.
Seguridad.

Ventajas

Inconvenientes

Modificacin del SO.


Punto nico de
fallo.

No hay punto nico de


fallo.

Inconvenientes

Escalabilidad (dir. IP).


Seguridad (IP pblica).
24

Contenido

Motivacin
Objetivo
Propuestas arquitectnicas para
replicacin parcial

Adaptacin de arquitecturas
Propuesta arquitectnica
Algoritmos de replicacin
Polticas de asignacin de peticiones

Evaluacin
Conclusiones
25

Propuesta: Cluster Web


con switch distribuido

Incorpora varios switches Web


para mejorar la fiabilidad.

Dos niveles de distribucin de


peticiones.

Entre switches.
Entre nodos.
26

Cluster Web con switch


distribuido

27

5 Peticin HTTP

4 Redireccin

3 Peticin HTTP

6 Peticin
HTTP

8 Respuesta HTTP

2 Respuesta DNS

1 Consulta DNS

7 Redireccin
HTTP

Procesamiento de una
peticin

28

Asignacin dinmica de
rplicas
Estado

Estado

Estado
Equilibrio

Intercambios

Estado

29

Contenido

Motivacin
Objetivo
Propuestas arquitectnicas para
replicacin parcial

Adaptacin de arquitecturas
Propuesta arquitectnica
Algoritmos de replicacin
Polticas de asignacin de peticiones

Evaluacin
Conclusiones
30

Representacin del
problema

Sitio Web Conjunto de elementos.

Servidor Conjunto de nodos.

E = {e1, e2, ... , eN}

S = {s1, s2, ... , sM}

Matriz de asignacin: Representa la


asignacin de elementos a nodos
servidores. 1
ei
asignado a s j

A (aij ) | aij

ei

no asignado a

sj
31

Algoritmos propuestos

Asignacin cclica inicial.

Asignacin cclica final.

Almacenamiento homogneo.
Alto solape de elementos en nodos.

Almacenamiento homogneo.
Menor solape de elementos en nodos.

Asignacin no equitativa.

Almacenamiento heterogneo.
Considera frecuencias de acceso.
32

Asignacin cclica inicial


3 rplicas
por
elemento
F1
F2
F3
F4
F5
33

Asignacin cclica final


3 rplicas
por
elemento
F1
F2
F3
F4
F5
34

Asignacin no equitativa

Asigna un nmero de rplicas distinto a


cada elemento.

Basado en probabilidades de acceso a los


elementos (p. ej. Zipf).

Tiene en cuenta las restricciones de


tamao.

Compatible con capacidades de


almacenamiento heterogneas.
35

Nmero de rplicas

Determinacin del
nmero de
rplicas como
cuota de espacio
dividido por
tamao. M

ri

pi c j
j 1

ti

Ajuste del nmero


de rplicas a un
nmero entero
entre 1 y M.
1 ri 1

*
ri ri 1 ri M
M r M
i

36

Algoritmo de asignacin
de rplicas

Realiza una asignacin voraz de


rplicas, asignando primero los
elementos de mayor tamao.

Si en algn momento se viola una


restriccin de capacidad, se reduce
el nmero de rplicas de un
elemento.
37

Asignacin no equitativa
200000

150000

Tamao
2000

50000

Probabilidad

r*
5

190000

0,0876

105,1
1
0,22

20000

0,1460

3,50

7000

0,2190

15,02

22000

0,1094

2,39

40000

0,4380

40000

Volumen = 480000
Servidores = 5

38

Asignacin no equitativa
r=1

10000
1000
200000
3000

128000
99000
150000
101000
108000

21000
19000
28000
50000

13000
20000
40000
11000

13000
20000
40000
11000

t=190000
r=2
t=22000
r=3
t=20000
r=5
t=7000
r=5
t=2000

39

Asignacin dinmica de
rplicas

Determinacin del vector de


probabilidades.

Mediante frecuencia de peticiones


(estadsticas de actividad pasada).

Condicin de reasignacin.

Basada en distancia entre vectores de


probabilidad.
40

Registro de la frecuencia
de peticiones

Sistema Web basado en cluster.

Sistema Web distribuido.

Recogida centralizada en el switch.

Recogida en cada nodo.


Fusin de la informacin en todos los nodos.

Cluster Web con switch distribuido.

Recogida en cada switch.


Fusin de la informacin en switch primario.
41

Reasignacin de rplicas

Distancia entre dos momentos como cantidad


de rplicas a modificar.N
*
*
r
(
t
)

r
i
i (t t ) R
i 1

Redistribucin cuando distancia rebasa umbral.


Umbral

42

Contenido

Motivacin
Objetivo
Propuestas arquitectnicas para
replicacin parcial

Adaptacin de arquitecturas
Propuesta arquitectnica
Algoritmos de replicacin
Polticas de asignacin de peticiones

Evaluacin
Conclusiones
43

Adaptacin de polticas

Las polticas de asignacin


existentes no pueden utilizarse sin
ser modificadas:

Es necesario tener en cuenta la


replicacin parcial de los elementos.

Servicio de directorio basado en


formalizacin de URL y tablas hash
multinivel.
44

Polticas adaptadas

Asignacin esttica (Round-Robin).

Asignacin al nodo menos cargado.

LARD (Locality Aware Request


Distribution).
45

Asignacin esttica
circular

46

Asignacin al nodo menos


cargado

c=0,8
c=0,3

c=0,7
c=0,5

c=0,3
c=0,6

c=0,7
c=0,6

c=0,6
c=0,3

c=0,2

c=0,1

c=0,8

c=0,8

c=0,8

47

Cmax = 0,7

LARD

c=0,3
c=0,6
c=0,8

c=0,7
c=0,5
c=0,6

c=0,8
c=0,3
c=0,2

c=0,7
c=0,6
c=0,8

c=0,6
c=0,3
c=0,8

3 1
5 2

48

Contenido

Motivacin
Objetivo
Propuestas arquitectnicas para
replicacin parcial
Evaluacin

Rendimiento
Capacidad de almacenamiento
Fiabilidad

Conclusiones
49

Rendimiento

Evaluacin por simulacin.

Basada en modelo estocstico.


800 clientes realizando peticiones.
Cluster Web con 16 nodos servidores.
Discos de 200 GB.
Entorno de simulacin: OMNET++.

50

Tipos de replicacin

RTOT: Replicacin total.

RPCI2: Replicacin cclica inicial con 2 rplicas por


elemento.

RPCF2: Replicacin cclica final con 2 rplicas por elemento.

RPCI4: Replicacin cclica inicial con 4 rplicas por


elemento.

RPCF4: Replicacin cclica final con 4 rplicas por elemento.

RNOEQ: Replicacin no equitativa.

51

Anlisis de resultados

Evaluacin del tiempo medio de respuesta.

Comparacin de tiempos medios mediante


ANOVA (=0,05).

Asignacin
cclica
p=0,99999992

Asignacin al
nodo menos
cargado

Asignacin
LARD

p=0,99999986 p=0,99999976
4
9
52

Conclusin de la
simulacin

No existe diferencia significativa


en el tiempo de servicio de las
peticiones Web entre un sistema
totalmente replicado y un sistema
parcialmente replicado.

53

Contenido

Motivacin
Objetivo
Propuestas arquitectnicas para
replicacin parcial
Evaluacin

Rendimiento
Capacidad de almacenamiento
Fiabilidad

Conclusiones
54

Evaluacin de la
capacidad de
almacenamiento

Evaluacin general de forma


analtica.

Aplicacin a caso de estudio:

12 nodos servidores.
Capacidades de entre 50 GB y 200 GB.
Tamao del disco ms grande que se
puede adquirir: 300 GB.
55

Mtricas de capacidad

Tamao mximo del sitio Web.

Eficacia de incremento por incorporacin.

Tasa entre el incremento del tamao mximo


del sitio Web y el espacio fsico incorporado.

Eficacia de incremento por sustitucin.

Tasa entre el incremento del tamao mximo


del sitio Web y el espacio fsico sustituido.
56

Tamao mximo de sitio

57

Eficacia de incremento por


incorporacin

58

Eficacia de incremento por


sustitucin

59

Contenido

Motivacin
Objetivo
Propuestas arquitectnicas para
replicacin parcial
Evaluacin

Rendimiento
Capacidad de almacenamiento
Fiabilidad

Conclusiones
60

Evaluacin de la fiabilidad

Evaluacin general de forma


analtica.

Aplicacin a caso de estudio:

12 nodos servidores.
Variacin en el nmero de rplicas.
Variacin en el nmero de switches.
61

Fiabilidad de un cluster
Web
1
0.9

Fiabilidad

0.8
0.7
0.6
0.5
0.4
0.3
1

Nmero de rplicas
F=0.6

F=0.7

F=0.8

F=0.9

F=0.95

10

11

12

62

Fiabilidad de un cluster
Web con 2 switches
1
0.95
0.9

Fiabilidad

0.85
0.8
0.75
0.7
0.65
0.6
0.55
0.5
1

10

11

12

Nmero de rplicas
F=0.6

F=0.7

F=0.8

F=0.9

F=0.95

63

Factor de incremento de la fiabilidad

Incremento de la fiabilidad
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
1

Switches adicionales
F=0.6

F=0.7

F=0.8

F=0.9

64

Cluster Web con switch


distribuido: comparacin
1
0.98
0.96

Fiabilidad

0.94
0.92
0.9
0.88
0.86
0.84
0.82
0.8
1

10

11

12

Nmero de rplicas por elemento


1 switch

2 switches

3 switches

4 switches

65

Capacidad de
almacenamiento y
fiabilidad

66

Contenido

Motivacin
Objetivo
Propuestas arquitectnicas para
replicacin parcial
Evaluacin
Conclusiones
67

Resumen

Se ha diseado una arquitectura


distribuida de servidor Web.

Basada en la replicacin parcial de


contenidos.
Alta escalabilidad en cuanto a los
volmenes de datos manipulados.
Sin deterioro de la fiabilidad.
Adaptacin dinmica de la asignacin
de contenidos.
68

Aportaciones

Una nueva arquitectura para servidor Web


distribuido: el cluster Web con switch
distribuido.

Una poltica de asignacin de rplicas basada


en la frecuencia de acceso: la replicacin no
equitativa.

La adaptacin de polticas de asignacin de


peticiones en el contexto de replicacin
parcial.
69

Conclusiones

No se produce prdida de rendimiento en un sistema


parcialmente replicado con respecto a un sistema
totalmente replicado.

La fiabilidad de un sistema Web basado en cluster est


limitada por la fiabilidad de su switch Web.

Un nmero relativamente bajo de rplicas (4-5) ofrece


una fiabilidad equivalente a la de un sistema totalmente
replicado.

Un sistema parcialmente replicado ofrece mayor


capacidad de almacenamiento manteniendo la
fiabilidad y sin prdida de rendimiento.
70

Trabajos futuros

Determinar el efecto de la asignacin dinmica


de contenidos sobre el rendimiento.

Ampliar el modelo para incluir el tratamiento


de peticiones dinmicas.

Extender la arquitectura para sistemas


geogrficamente distribuidos.

Uso de tcnicas no deterministas para la


asignacin de rplicas a nodos servidores.
71

Propuestas arquitectnicas
para servidores Web
distribuidos con rplicas
parciales
Universidad Carlos III de Madrid
Departamento de Informtica
Doctorado en Ingeniera Informtica
Septiembre de 2005
Autor:

Jos Daniel Garca Snchez

Directores:

Jess Carretero Prez


Flix Garca Carballeira

Estructura de mdulos de
los switches

73

Switch: Funcionalidades (I)

Filtrado de encaminamiento a switches.

Asignacin de peticiones a nodos servidores.

Seleccin del nodo encargado de servir una peticin.

Encaminamiento a nodos.

Traspaso peticiones a otros switches.

Envo efectivo de la peticin al nodo seleccionado.

Servicio de directorio.

Mantiene informacin de asignacin de rplicas a nodos.


74

Switch: Funcionalidades (y
II)

Monitorizacin.

Sincronizacin de estado.

Seguimiento el estado de los nodos servidores.

Intercambio de informacin de estado entre los


switches.

Equilibrio de rplicas.

Determinacin de modificaciones en las asignaciones


de rplicas.
Responsable de iniciar los intercambios de rplicas.
75

Origen del trabajo

Tcnicas de aumento de prestaciones en


clusters de servidores Web distribuidos y
cooperativos.
Director: Jess Carretero
CAM 07T/0010/2003.
Junio 2003 a Julio 2004.

76

Das könnte Ihnen auch gefallen