Você está na página 1de 52

Cdigos, filtros Bloom y redes superpuestas

Michael Mitzenmacher

Hoy...
Cdigos de borrado
Fuente digital

Filtros Bloom
Cach de resumen, filtros Bloom comprimidos

Entrega informada de contenido


Combinando los dos

Otrosstrabajos recientes
2

Cdigos: una idea de alto nivel


Todos piensan que los datos son un flujo ordenado. Necesito los paquetes del 1 al 1.000. Utilizando cdigos, los datos son como el agua:
No importa qu gotas se reciben. No importa si se derraman algunas. Slo se desea que pasen por el tubo las necesarias. Necesito 1.000 paquetes.
3

Cdigos de borrado
n Mensaje Algoritmo de codificacin cn Codificacin Transmisin n Recibido Algoritmo de decodificacin n Mensaje
4

Aplicacin: problema de distribucin de triler


Millones de usuarios desean descargar el triler de una nueva pelcula. Un archivo de 32 megabytes a 56 Kbits/segundo. El tiempo de descarga es de 75 minutos a toda velocidad.

Caractersticas de las soluciones Point-to-Point


Ventajas:
Los usuarios pueden iniciar la descarga cuando lo deseen. Los usuarios pueden continuar la descarga perfectamente despus de una interrupcin temporal. La prdida moderada de paquetes no es un problema.

Desventajas:
Alta carga del servidor. Alta carga de la Red. No se gradua bien (sin recursos adicionales).
6

Caractersticas de las soluciones de difusin


Desventajas:
Los usuarios no pueden iniciar las descargas cuando lo deseen. Los usuarios no pueden continuar las descargas a la perfeccin despus de una interrupcin temporal. La prdida de paquetes es un problema.

Ventajas:
Baja carga del servidor. Baja carga de la Red. Se gradua bien.
7

Una solucin de codificacin: suposiciones


Podemos tomar un fichero de n paquetes y codificarlos en cn paquetes codificados. El mensaje original se puede decodificar desde cualquier conjunto de n paquetes codificados.

Solucin de codificacin
5 horas

4 horas Codificacin Copia 2 3 horas Codificacin Archivo 2 horas Codificacin Copia 1

1 hora

Transmisin

Recepcin del usuario 1

Recepcin del usuario 2

0 horas

Caractersticas de la solucin de codificacin


Los usuarios pueden inicar la descarga cuando lo deseen. Los usuarios pueden continuar la descarga a la perfeccin
despus de una interrupcin temporal.

La prdida moderada de paquetes no es un problema. Baja carga del servidor - protocolo simple. Se gradua bien. Baja carga de Red.

10

Entonces, por qu no se est utilizando esta opcin?



Los procesos de codificacin y de decodificacin son lentos cuando se trata de grandes archivos, especialmente la decodificacin. Por lo tanto, se necesitan cdigos rpidos para utilizar un esquema de codificacin. Posiblemente haya que renunciar a algo para conseguir cdigos rpidos...

11

Medidas de actuacin
Tiempo de overhead
El tiempo que lleva codificar y decodificar, expresado
como mltiplo de la longitud de codificacin.

Eficiencia de recepcin
El ratio de los paquetes del mensaje y de los paquetes
para codificar. El ptimo es 1.
12

Recepcin eficiente
ptimo

Puede decodificar a partir de cualquier n palabras de codificacin. La eficiencia de recepcin es 1.

Relajacin
Decodificar a partir de cualquier (1+) n palabras de codificacin. La eficiencia de recepcin es 1/(1+).

13

Parmetros del cdigo


n Mensaje cn Codificacin (1+)n La eficiencia de recepcin es 1/(1+)
14

Trabajo anterior
La eficiencia de recepcin es 1.
Reed-Solomon estndar
El tiempo de overhead es el nmero de paquetes redundantes. Utiliza operaciones de campo finitas.

Basado en la transformacin rpida de Fourier


El tiempo de overhead es ln2 n operaciones de campo.

La eficiencia de recepcin es 1/(1+).


Ecuaciones aleatorias de diferentes tamaos
El tiempo de overhead es ln(1/)/.
15

Actuacin del cdigo Tornado


La eficiencia de recepcin es 1/(1+). El tiempo de overhead es ln(1/ ). Sencillo, rpido y prctico.

16

Cdigos: otras aplicaciones?


Utilizar cdigos y datos es tan claro como el agua. Qu ms se puede hacer con esta idea? Ejemplo -- descargas paralelas:
Obtenga datos de varias fuentes, sin necesidad de coordinacin.

17

Mejoras ms recientes
Problema prctico con el cdigo Tornado: longitud de codificacin
Se debe decidir a priori qu es correcto. El tiempo/la memoria de codificacin/decodificacin son proporcionales a la longitud codificada.

Transformada de Luby:
Codificacin producida instantneamente-sin longitud de codificacin. El tiempo/la memoria de codificacin/decodificacin son proporcionales a la longitud del mensaje. 18

Solucin de codificacin
5 horas

4 horas

3 horas Codificacin

Archivo

2 horas

1 hora

Transmisin

Recepcin del usuario 1

Recepcin del usuario 2

19

0 horas

Filtros Bloom: una idea de alto nivel


Todo el mundo piensa que necesita saber exactamente lo que tienen otros. Deme una lista de lo que posee. Las listas son largas y poco flexibles. Si se utilizan filtros Bloom, se pueden conseguir listas aproximadas. Deme informacin para que pueda averiguar qu posee.
20

Problema de bsqueda
Dado un conjunto S = {x1,x2,x3,xn} en un
universo U, se quiere responder a preguntas del tipo:

Is y S .
Ejemplo: un conjunto de URLs del universo de
todas las series de URL posibles.

El filtro Bloom proporciona una respuesta en:


Tiempo "constante" (tiempo para numerar). Cantidad pequea de espacio. Pero con alguna probabilidad de error.

21

Filtros Bloom
Comience con una serie de m bits ocupados por ceros.

B B B B

Numere cada elemento x j de S k veces. Si Hi(xj) = a, defina B[a] = 1.

Para comprobar si y est en S, compruebe B en H i(y). Todos los valores k deben ser 1.

Es posible tener un falso positivo; todos los valores k son 1, pero y no est en S.

0
22

Errores
Hiptesis: tenemos buenas funciones hash que
parecen aleatorias.

Dados m bits para el filtro y n elementos, elija un


nmero k de funciones hash para minimizar los falsos positivos: p = Pr[ celda vaca ] = (1 1 / m) kn e kn /m Sea k kn /m k Sea f = Pr[falso positivo ] = (1p) (1 e )

Conforme va aumentando k existen ms oportunidades de


encontrar un 0, pero ms de encontrar unos en la serie.

Encuentre el ptimo en k = (ln 2)m/n por medio del clculo. 23

Ejemplo
Tasa de falso positivo
0,1 0,09 0,08 0,07 0,06 0,05 0,04 0,03 0,02 0,01 0 0 1 2 3 4 5 6 7 8 9 10
24

m/n = 8
Opt k = 8 ln 2 = 5,45...

Funciones hash

Filtros Bloom: sistemas distribuidos


Cach web 1 Cach web 2 Cach web 3

Cach web 4

Cach web 5

Cach web 6

Enviar filtros Bloom de las URL. Los falsos positivos no causan mucho problema.
De todas formas, reciben errores de los cambios de cach. 25

Compensaciones
Tres parmetros.
Tamao m/n : bits por elemento. Tiempo k : nmero de funciones hash. Error f : probabilidad de falso positivo.

26

Compresin
Compresin: el filtro Bloom no es slo una estructura
de datos, tambin es un mensaje.

Si el filtro Bloom es un mensaje, merece la pena


comprimirlo.

La compresin de vectores de bits es fcil.


La codificacin aritmtica se aproxima a la entropa.

Se pueden comprimir los filtros Bloom?


27

Optimizacin y, despus, compresin


Optimizar para minimizar el falso positivo.
p = Pr[ celda vaca ] = (1 1 / m) e f = Pr[falso positivo] = (1 p ) k (1 e kn / m )k k = (m ln 2) / n es ptimo
kn kn / m

En k = m (ln 2) /n, p = 1/2. El filtro Bloom parece una serie aleatoria.


No se puede comprimir.
28

Compensaciones
Con la compresin, cuatro parmetros.

Tamao comprimido (de transmisin) z/n : bits por elemento Tamao comprimido (de almacenamiento) m/n : bits por elemento

Tiempo k : nmero de funciones hash. Error f : probabilidad de falso positivo.

29

Ayuda en algo la compresin?


Afirmacin: factor limitador del coste de la transmisin.
Las actualizaciones tienen lugar frecuentemente. La memoria de la mquina es barata.

Es posible reducir la tasa de falso positivo...


aumentando el tamao de descompresin (almacenamiento)? manteniendo constante el coste de la transmisin?

30

Errores: filtro comprimido


Hiptesis: compresor ptimo, z = mH(p).
H(p) es una funcin de entropa; obtenida de forma ptima.
H(p) bits comprimidos por bit de la tabla original.

Codificacin aritmtica cercana al ptimo.

Optimizacin: dados z bits por filtro comprimido y n elementos, elija el tamao de la tabla m y el nmero de funciones hash k para minimizar f.
p e kn / m ; f (1 e kn / m ) k ; z mH ( p )

ptimo obtenido a partir del clculo.

31

Ejemplo
0,1 0,09 0,08 0,07 0,06 0,05 0,04 0,03 0,02 0,01 0 0 1 2 3 4 5 6 Funciones hash
32

Tasa de falso positivo

Original Comprimido

z/n = 8

10

Resultados
En k = m (ln 2) /n, los falsos positivos se
maximizan con un filtro Bloom comprimido.
El mejor caso sin compresin es el peor caso con compresin; la compresin es siempre de ayuda.

Beneficio indirecto: se utilizan menos funciones hash


con la compresin; posible aumento de la velocidad.

33

Bits de serie por elemento

m/n Bits de trans. por elemento z/n Funciones hash k Tasa de falso positivo f m/n Bits de trans. por elemento z/n Funciones hash k Tasa de falso positivo f
Bits de serie por elemento

8 8 6 0.0216

14 7.923 2 0.0177

92 7.923 1 0.0108

16 28 48 16 15.846 15.829 11 4 3 4.59E-04 3.14E-04 2.22E-04

Ejemplos para tamao de transmisin fijo.


20-50% de tasa de falso positivo.

Simulaciones muy cercanas.


Encabezado pequeo, variacin en la compresin. 34

m/n Bits de trans. por elemento z/n Funciones hash k Tasa de falso positivo f
Bits de serie por elemento

8 8 6 0.0216

12.6 7.582 2 0.0216

46 6.891 1 0.0215

m/n Bits de trans. por elemento z/n Funciones hash k Tasa de falso positivo f
Bits de serie por elemento

16 37.5 93 16 14.666 13.815 11 3 2 4.59E-04 4.54E-04 4.53E-04

Ejemplos con tasa fija de probabilidad de falsos.


5-15% compresin por tamao de transmisin.

Se corresponde con las simulaciones.

35

Filtros Bloom: otras aplicaciones?


Bsqueda de objetos
Oceanstore: ubicacin de objetos Resumen de servicios de la regin geogrfica

Resmenes de datos
IP Traceback

Mtodos de reconciliacin
En breve...
36

Reuniendo toda la informacin: entrega informada de contenido en las redes superpuestas


Para aparecer en SIGCOMM 2002. Trabajo conjunto con John Byers, Jeff Considine,
Stan Rost.

37

Entrega informada: idea bsica


La multidifusin fiable utiliza redes en forma de rbol. En una red superpuesta/P2P, es posible que existan
otras rutas de ancho de banda/comunicacin disponibles.

Pero se necesita coordinacin para utilizarla inteligentemente.

38

Aplicacin: el problema de la distribucin de pelculas


Millones de usuarios desean descargar una nueva
pelcula.

O una CDN desea poblar miles de servidores con una nueva


pelcula para aquellos usuarios.

Gran archivo: para personas con una gran cantidad de ancho de banda. La gente comenzar a utilizar redes P2P.

39

Ejemplo de motivacin

40

Nuestro argumento
En las CDN/P2P con un amplio ancho de banda, las conexiones adicionales favorecern el rendimiento
Si son inteligentes para colaborar en cmo utilizar el ancho de banda Si suponemos que un par de sistemas finales no han recibido exactamente el mismo contenido, podran reconciliar las diferencias en el contenido recibido.
41

Es un mundo muy loco


Retos
Internet nativo
Asincrona de conexiones y desconexiones Heterogeneidad de la velocidad y tasas de prdida Poblacin enorme de clientes Sesiones anticipables Fugacidad de hosts, routers y enlaces

Superposiciones adaptativas
A la hora de reconfigurar topologas, hacer nfasis en algunos de los puntos anteriores
42

La fluidez ambiental requiere paradigmas flexibles de contenido


Hay que estar preparado para reconfigurar frecuentemente
Es necesaria una migracin escalable, un apoyo anticipado Fuente digital al rescate Sin estado: los servidores pueden producir codificados
continuamente Invariable con el tiempo en la codificacin sin memoria Tolerancia a las diferencias entre clientes Inclusin de fuentes
43

La fluidez ambiental genera oportunidades


Oportunidades para la reconciliacin
Discrepancias significativas entre conjuntos de pares activos que reciben un contenido idntico
El receptor con la tasa de transferencia ms alta o que haya llegado antes tendr un mayor contenido Los receptores con prdidas no correlativas tendrn espacios en blanco en las diferentes partes de sus conjuntos activos

Descargas paralelas Conexiones efmeras de redes adaptativas superpuestas


44

Problema de la reconciliacin
Con la ordenacin estndar de secuencias, la reconciliacin no es (necesariamente) un problema. El empleo de la codificacin, debe reconciliar ms de
un universo de smbolos desordenado y potencialmente amplio (empleando los cdigos mejorados de Luby). Cmo se pueden reconciliar pares con contenido parcial de manera informada?
45

Reconciliacin aproximada con filtros Bloom


Enve un filtro Bloom (comprimido) de paquetes codificados almacenados. El replicante puede comenzar a enviar paquetes codificados que no se tienen. Los falsos positivos no son tan importantes.
La codificacin ya produce redundancia. Se desea recibir paquetes tiles tan rpido como sea posible.

Los filtros Bloom requieren un nmero reducido de paquetes. 46

Trabajo extra
Basta estimacin de una superposicin en un paquete.
Utilizacin de muestreo. Utilizacin de muestras independientes min-wise.

rboles de reconciliacin aproximada.


Estructura de datos mejorada para el caso en el que el nmero de discrepancias sea pequeo. Basado tambin en los filtros Bloom.

Recodificacin.
Combinacin de smbolos codificados.
47

Reconciliacin: otras aplicaciones


Reconciliacin aproximada frente a reconciliacin exacta
Complejidad de la comunicacin.

Usos prcticos:
Bases de datos, equipos porttiles, etc.

48

Relaciones pblicas: investigaciones ms recientes (1)


Un modelo dinmico para el tamao de los archivos
y las distribuciones dobles de Pareto
Un modelo generativo que explica la forma de los archivos en los sistemas de archivos que son observados de forma emprica. Cuerpo logartmico normal, "cola" de Pareto. Combina modelos multiplicativos de la teora de la probabilidad con modelos de grafos aleatorios similares a los trabajos recientes de grafos en la Red.
49

Relaciones pblicas: investigaciones ms recientes (2)


Balance de carga con memoria
Tire n bolas en n papeleras. De forma aleatoria: la carga mxima es log n / log log n La mejor de 2 opciones: log log n / log 2

Suponga que consigue "recordar" cul fue la mejor posibilidad del ltimo lanzamiento.
Una eleccin aleatoria, una memoria: log log n / 2 log Las variaciones en cola tambin se analizan.
50

Relaciones pblicas: investigacin ms reciente (3)


Cdigos de verificacin
Cdigos de control de calidad de baja densidad para amplios alfabetos: ej., integrales de 32 bits y errores aleatorios. Cdigos sencillos y eficientes.
Tiempo lineal. Basado en los XO.

Rendimiento: cdigos Reed-Solomon mejores que en el peor caso. Extendido para modelos de error adicionales 51 (aleatorizacin del cdigo).

Conclusiones
Estoy interesado en los problemas de la Red. Existen muchos problemas interesantes:
Tcnicas nuevas, algoritmos, estructuras de datos Nuevos anlisis Buscando la forma correcta de aplicar las ideas que se conocen

Tambin me gustara trabajar con estudiantes del MIT.


52

Você também pode gostar