comparación de técnicas de medición estadísticas aplicadas a la estimación del rtt juan andrés...
TRANSCRIPT
Comparación de técnicas de medición estadísticas aplicadas a la
estimación del RTT
Juan Andrés Negreira
22 de febrero de 2007
Tratamiento Estadístico de Señales
• El RTT (Round Trip Time) constituye un parámetro fundamental en las mediciones de parámetros de redes.
• Algunos parámetros que pueden ser estimados a partir del RTT:– Retardos de propagación– Retardos de encolamiento– Ancho de banda disponible
Introducción
Introducción
• El RTT puede ser utilizado también para ayudar al control de congestión que realiza el protocolo TCP, a nivel de capa de transporte.
• Para adaptar dinámicamente las tasas de transmisión interesa medir el RTT y detectar con rapidez un cambio en su valor.
• Se basa en un modelo en variables de estado– Requiere menos memoria– Procesamiento de datos más rápido
• Obtiene las muestras recursivamente en el tiempo, a partir del estado anterior y de la muestra obtenida.– Bases para la familia de algoritmos recursivos
de mínimos cuadrados.
Filtro de Kalman
Filtro de Kalman
• Modelo del sistema:
• Donde– x es el estado del sistema
– u es la entrada de control al sistema
– A y B son matrices que definen el espacio de estados
– w representa el ruido del proceso
111 kkkk wBuAxx
Filtro de Kalman
• Modelo de medición:
• Siendo– z las medidas realizadas– H una matriz que vincula el estado del sistema
con las medidas realizadas– v representa el ruido de medición
kkk vHxz
Filtro de Kalman
• Las ecuaciones del filtro de Kalman pueden agruparse en dos grandes grupos, de acuerdo a cada una de las etapas que se realizan.– Estimación del valor siguiente – Corrección a partir del valor medido
Filtro de Kalman
• Estimación del valor siguiente– Se realiza una estimación a priori del valor que
tomará el estado en el instante siguiente– La estimación se realiza a partir del modelo de
estados y el valor del estado en el instante previo
– Para el instante siguiente se estima tanto el valor del estado como la covarianza del error
Filtro de Kalman
• Estimación del valor siguiente
• Siendo Q la covarianza de w y P se define como la covarianza del error de estimación:
QAAPP
BuxAxT
kk
kkk
1
11ˆˆ
Tkkk eeEP
Filtro de Kalman
• Corrección a partir del valor medido:– Se realiza una estimación a posteriori, a partir
del valor estimado a priori y del valor medido.– La diferencia entre el valor medido y la
estimación a priori se denomina innovación– Dicha diferencia es ponderada por la ganancia,
la cual es elegida de modo tal que minimice el error de estimación a posteriori.
Filtro de Kalman
• Corrección a partir del valor medido
• En donde R es la covarianza de v y K es la ganancia de Kalman
kkk
kkkk
Tk
Tk
PHKIP
xHzKxx
RHHP
HPK
ˆˆˆ
CUSUM (Cumulative Sum):
Algoritmo de detección de cambios, que dispara una alarma cuando la media de la señal de entrada (que se supone de media nula) es sensiblemente distinta de cero.
Filtro de Kalman adaptivo
Acumulador+e(t)
h
z
+-
reset
+
-
+
Diagrama de bloques del algoritmo CUSUM
Filtro de Kalman adaptivo
Filtro de Kalman adaptivo
• Se combinan los filtros de Kalman y CUSUM:– La entrada al bloque CUSUM será la diferencia
entre la estimación a posteriori y el valor medido
– Se toma como hipótesis que el ruido que afecta la señal es de media nula
– Se disparará una alarma en el bloque CUSUM cuando haya un salto en la señal considerada
Estimación del RTT
• Las implementaciones actuales de TCP utilizan un filtro pasabajos para filtrar ruidos de alta frecuencia
• Dicha solución tiene el inconveniente de que no le permite reaccionar con velocidad ante cambios bruscos del RTT
• Se propone implementar la medición del RTT con el filtro de Kalman adaptivo
Estimación del RTT
• Sea (t) el RTT medido al llegar el paquete ACK al servidor
• Cada nodo impone un retardo formado por – El retardo de procesamiento en el nodo– El retardo de encolamiento– El retardo de propagación
Estimación del RTT
• El RTT queda expresado como
• En donde se puede suponer que los retardos de procesamiento y propagación contribuyen con una constante
m
iiqipil tdtdtdt
1,,, )()()()(
Estimación del RTT
• Si se toma ci como la capacidad del enlace y ti como el instante en el cual el paquete llega al nodo i, se puede expresar el RTT como
• Donde representa los retardos de procesamiento y propagación
m
i i
i
c
tqt
1
)()(
Estimación del RTT
• Modelo en variables de estado
• El ruido de alta frecuencia es modelado como ruido de medición.
• Los saltos en el valor del RTT son modelados como una variable aleatoria v multiplicada por una secuencia de deltas de tiempo discreto
kkk
kkkkk
exy
vxx
1,0 donde ,1
Estimación del RTT
• A partir de las hipótesis realizadas, se estimó el RTT mediante el algoritmo de Kalman adaptivo, utilizando el algoritmo CUSUM
0,max
ˆ
1
ˆˆˆ
1
11
1
1
11
ttt
ttt
etttt
et
tt
tttt
gg
xy
RPKP
RP
PK
xyKxx
if gt < h then
t = 1 % alarma
gt = 0
elset = 0
end
El algoritmo propuesto es el siguiente:
Kalman – CUSUM
• Se modificó la forma de hallar g(t) en cada iteración
• El algoritmo tiene dos parámetros: – La constante – El umbral h
0,absmax 1 ttt gg
Kalman - CUSUM
• Para determinar en forma “inteligente” los parámetros se buscó hallarlos en función de la covarianza del ruido
Kalman - CUSUM
• Hipótesis y limitaciones– Se supone que la señal estudiada está afectada
con ruido de distribución normal y de media nula.
– Se comprobó que los saltos, para poder ser detectados con seguridad, deben tener un módulo que sea mayor o igual al doble de la covarianza del ruido
Filtro de Wiener
• Predictor lineal
• Acumula M cantidad de muestras
M
kkfn knuwUnu
1,1 )(ˆ
f
HM
ff
H
wrrP
rRwrRwnunuEr
nunuER
0
)(1
1)1( 1
*
Comparación de filtros
• Para comparar las distintas implementaciones se estudiará:– La precisión para alertar acerca de un salto en
la señal– El error cometido al reconstruir la señal original
Pruebas sobre Internet
• Se realizó un programa en JAVA que envía paquetes “ping” a determinada página (en este caso www.google.com), almacena los tiempos de ida y vuelta y los guarda en un documento de texto.
• Dicho documento de texto fue cargado en MatLab, en donde ya estaban implementados los algoritmos
Pruebas sobre Internet
0 100 200 300 400 500 6000
200
400
600
800
1000
1200
1400
1600Estimacion de Kalman
señalestimacion de Kalman
Pruebas sobre Internet
0 100 200 300 400 500 6000
200
400
600
800
1000
1200
1400
1600reconstruccion por Kalman - CUSUM
Pruebas sobre Internet
0 100 200 300 400 500 6000
200
400
600
800
1000
1200
1400
1600reconstruccion por Kalman
Pruebas sobre Internet
0 100 200 300 400 500 6000
500
1000
1500Error de Kalman
100 200 300 400 500 6000
500
1000
1500
2000Señal de decision
Conclusiones
• En este trabajo se presentó un filtro de Kalman adaptivo, enfocado en medir el RTT sobre un enlace. Para ello se modeló el RTT como una variable de estado de la red, estudiando las ecuaciones de dicho modelo y observando los diversos parámetros que lo afectan.
• Para estudiar el funcionamiento del filtro, se estudiaron los efectos de cada uno de los parámetros del mismo, analizando su comportamiento con ciertas señales de prueba simuladas.
Conclusiones
• Además se comparó su performance con otros dos algoritmos, a modo de referencia. Por un lado se implementó otra variante con el filtro de Kalman y por otro lado se propuso la utilización de un filtro de Wiener.
• Se pudo observar que el filtro de Kalman adaptivo fue el más performante, seguido por la otra implementación del filtro de Kalman.
Bibliografía
K. Jacobsson, H. Hjalmarsson, N. Möller y K. Johansson, “Round trip time estimation in communication networks using adaptive Kalman filtering”.
M. Lagunas, “Sistemas adaptativos”.E. Lundin, F. Gunnarsson y F. Gustaffson, “Adaptive filtering
applied to an uplink load estimate in WCDMA”.A. Bifet y R. Gavaldà, “Kalman filters and adaptive windows
for learning in data streams”.G. Welch y G. Bishop, “An introduction to the Kalman
filter”.S. Haykin, “Adaptive filter theory”, third ed, Prentice Hall.