01 - Generalidades sobre Sistemas Distribuidos IIC2523 - Sistemas Distribuidos Cristian Ruz –
[email protected] Departamento de Ciencia de la Computaci´ on Pontificia Universidad Cat´ olica de Chile
Semestre 1-2013
C.Ruz (PUC)
IIC2523
1/2013
1 / 42
Contenidos 1
Introducci´on Motivaci´on
2
Caracterizaci´on de Sistemas Distribuidos
3
Casos de Sistemas Distribuidos Web Search MMOGs Aplicaciones comerciales
4
Desaf´ıos en Sistemas Distribuidos Tendencias Desaf´ıos
5
Resumen C.Ruz (PUC)
IIC2523
1/2013
2 / 42
Introducci´ on
Contenidos 1
Introducci´on Motivaci´on
2
Caracterizaci´on de Sistemas Distribuidos
3
Casos de Sistemas Distribuidos Web Search MMOGs Aplicaciones comerciales
4
Desaf´ıos en Sistemas Distribuidos Tendencias Desaf´ıos
5
Resumen C.Ruz (PUC)
IIC2523
1/2013
3 / 42
Introducci´ on
Motivaci´ on
¿D´onde no hay sistemas distribuidos?
C.Ruz (PUC)
IIC2523
1/2013
4 / 42
Introducci´ on
Motivaci´ on
¿D´onde no hay sistemas distribuidos?
M´as f´acil decir donde s´ı hay . . .
C.Ruz (PUC)
IIC2523
1/2013
4 / 42
Introducci´ on
Motivaci´ on
¿D´onde no hay sistemas distribuidos?
M´as f´acil decir donde s´ı hay . . . Internet, WWW
C.Ruz (PUC)
IIC2523
1/2013
4 / 42
Introducci´ on
Motivaci´ on
¿D´onde no hay sistemas distribuidos?
M´as f´acil decir donde s´ı hay . . . Internet, WWW Streaming, YouTube, UStream,
C.Ruz (PUC)
IIC2523
1/2013
4 / 42
Introducci´ on
Motivaci´ on
¿D´onde no hay sistemas distribuidos?
M´as f´acil decir donde s´ı hay . . . Internet, WWW Streaming, YouTube, UStream, Juegos multiplayer
C.Ruz (PUC)
IIC2523
1/2013
4 / 42
Introducci´ on
Motivaci´ on
¿D´onde no hay sistemas distribuidos?
M´as f´acil decir donde s´ı hay . . . Internet, WWW Streaming, YouTube, UStream, Juegos multiplayer Multicores, tarjetas gr´aficas
C.Ruz (PUC)
IIC2523
1/2013
4 / 42
Introducci´ on
Motivaci´ on
¿D´onde no hay sistemas distribuidos?
M´as f´acil decir donde s´ı hay . . . Internet, WWW Streaming, YouTube, UStream, Juegos multiplayer Multicores, tarjetas gr´aficas Servicios remotos ... GMail, Flickr, Facebook, Twitter
C.Ruz (PUC)
IIC2523
1/2013
4 / 42
Introducci´ on
Motivaci´ on
¿D´onde no hay sistemas distribuidos?
M´as f´acil decir donde s´ı hay . . . Internet, WWW Streaming, YouTube, UStream, Juegos multiplayer Multicores, tarjetas gr´aficas Servicios remotos ... GMail, Flickr, Facebook, Twitter Tel´efonos m´oviles, veh´ıculos,
C.Ruz (PUC)
IIC2523
1/2013
4 / 42
Introducci´ on
Motivaci´ on
Desde lo secuencial . . .
Una CPU, un thread, un flujo de instrucciones
C.Ruz (PUC)
IIC2523
1/2013
5 / 42
Introducci´ on
Motivaci´ on
Desde lo secuencial . . .
Una CPU, un thread, un flujo de instrucciones Tambi´en hay multitasking → m´ ultiples threads
C.Ruz (PUC)
IIC2523
1/2013
5 / 42
Introducci´ on
Motivaci´ on
Desde lo secuencial . . .
Una CPU, un thread, un flujo de instrucciones Tambi´en hay multitasking → m´ ultiples threads S´ olo una CPU → un thread a la vez No trabajan simult´aneamente, aunque se da esa ilusi´ on
C.Ruz (PUC)
IIC2523
1/2013
5 / 42
Introducci´ on
Motivaci´ on
. . . hacia lo distribuido
Muchas CPUs, muchos threads, muchos flujo de instrucciones
C.Ruz (PUC)
IIC2523
1/2013
6 / 42
Introducci´ on
Motivaci´ on
. . . hacia lo distribuido
Muchas CPUs, muchos threads, muchos flujo de instrucciones Multitasking real Threads ejecutan simult´aneamente
C.Ruz (PUC)
IIC2523
1/2013
6 / 42
Introducci´ on
Motivaci´ on
. . . hacia lo distribuido
Muchas CPUs, muchos threads, muchos flujo de instrucciones Multitasking real Threads ejecutan simult´aneamente ¿C´ omo se coordinan? ¿Memoria compartida o paso de mensajes?
C.Ruz (PUC)
IIC2523
1/2013
6 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! John decide proveer un servicio de venta de tickets para conciertos, eventos deportivos, etc. Tres simples pasos: Usted nos llama, hacemos su reserva y cuando desee retira su entrada.
Adaptaci´ on del ejemplo publicado en: http://ksat.me/a-plain-english-introduction-to-cap-theorem/
C.Ruz (PUC)
IIC2523
1/2013
7 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Implement´emoslo!
Dos servicios: Reserva de puestos Entrega de entradas Versi´on 1 John
John recibe llamadas telef´onicas John anota reservas en un cuaderno John entrega entradas ¡Sistema centralizado!, pero funciona
C.Ruz (PUC)
IIC2523
1/2013
8 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Implement´emoslo!
Dos servicios: Reserva de puestos Entrega de entradas Versi´on 1
req
Jaime ticket: P9
John recibe llamadas telef´onicas
John
John anota reservas en un cuaderno John entrega entradas ¡Sistema centralizado!, pero funciona
C.Ruz (PUC)
IIC2523
1/2013
8 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Implement´emoslo!
Dos servicios: Reserva de puestos Entrega de entradas Versi´on 1
req
Jaime ticket: P9
John recibe llamadas telef´onicas
John req
ticket: K32
Yadran
John anota reservas en un cuaderno John entrega entradas ¡Sistema centralizado!, pero funciona
C.Ruz (PUC)
IIC2523
1/2013
8 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Implement´emoslo!
Dos servicios: Reserva de puestos Entrega de entradas Versi´on 1
req
Jaime ticket: P9
John recibe llamadas telef´onicas
req
Soledad
John req
ticket: P15 ticket: K32
Yadran
John anota reservas en un cuaderno John entrega entradas ¡Sistema centralizado!, pero funciona
C.Ruz (PUC)
IIC2523
1/2013
8 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Implement´emoslo!
Dos servicios: Reserva de puestos Entrega de entradas Versi´on 1
req
Jaime ticket: P9
John recibe llamadas telef´onicas
req
Soledad
John req
ticket: P15 ticket: K32
Yadran
John anota reservas en un cuaderno John entrega entradas ¡Sistema centralizado!, pero funciona
C.Ruz (PUC)
IIC2523
1/2013
8 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Implement´emoslo!
Dos servicios: Reserva de puestos Entrega de entradas Versi´on 1
req
Jaime ticket: P9
John recibe llamadas telef´onicas
req
Soledad
John req
ticket: P15 ticket: K32
Yadran
John anota reservas en un cuaderno John entrega entradas ¡Sistema centralizado!, pero funciona
C.Ruz (PUC)
IIC2523
1/2013
8 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Implement´emoslo!
Dos servicios: Reserva de puestos Entrega de entradas Versi´on 1
req
Jaime ticket: P9
John recibe llamadas telef´onicas
req
Soledad
John req
ticket: P15 ticket: K32
Yadran
John anota reservas en un cuaderno John entrega entradas ¡Sistema centralizado!, pero funciona
C.Ruz (PUC)
IIC2523
1/2013
8 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¿C´ omo atender la demanda? → Sistema distribuido
Servicio muy popular
John req
Yadran
C.Ruz (PUC)
IIC2523
1/2013
9 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¿C´ omo atender la demanda? → Sistema distribuido
Servicio muy popular Jaime llama, pero John est´a ocupado atendiendo a Yadran req
Jaime
X
John req
Yadran
C.Ruz (PUC)
IIC2523
1/2013
9 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¿C´ omo atender la demanda? → Sistema distribuido
Servicio muy popular Jaime llama, pero John est´a ocupado atendiendo a Yadran Jaime se queja del mal servicio req
Jaime
X
John req
Yadran
C.Ruz (PUC)
IIC2523
1/2013
9 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¿C´ omo atender la demanda? → Sistema distribuido
Servicio muy popular Jaime llama, pero John est´a ocupado atendiendo a Yadran Jaime se queja del mal servicio ¡Baja disponibilidad (availability)!
req
Jaime
X
John req
Yadran
C.Ruz (PUC)
IIC2523
1/2013
9 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¿C´ omo atender la demanda? → Sistema distribuido
Servicio muy popular Jaime llama, pero John est´a ocupado atendiendo a Yadran Jaime se queja del mal servicio ¡Baja disponibilidad (availability)! Versi´on 2
C.Ruz (PUC)
IIC2523
John
Raúl pbx
1/2013
9 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¿C´ omo atender la demanda? → Sistema distribuido
Servicio muy popular Jaime llama, pero John est´a ocupado atendiendo a Yadran Jaime se queja del mal servicio ¡Baja disponibilidad (availability)! Versi´on 2
John
Raúl pbx
John contrata a Ra´ ul Ambos anotan reservas, entregan entradas y llevan sus registros Un pbx balancea las llamadas
C.Ruz (PUC)
IIC2523
1/2013
9 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¿C´ omo atender la demanda? → Sistema distribuido
Servicio muy popular Jaime llama, pero John est´a ocupado atendiendo a Yadran Jaime se queja del mal servicio ¡Baja disponibilidad (availability)! Versi´on 2 John contrata a Ra´ ul
John
Raúl pbx
Yadran
Ambos anotan reservas, entregan entradas y llevan sus registros Un pbx balancea las llamadas
C.Ruz (PUC)
IIC2523
1/2013
9 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¿C´ omo atender la demanda? → Sistema distribuido
Servicio muy popular Jaime llama, pero John est´a ocupado atendiendo a Yadran Jaime se queja del mal servicio ¡Baja disponibilidad (availability)! Versi´on 2 John contrata a Ra´ ul
John
Raúl pbx
Jaime
Yadran
Ambos anotan reservas, entregan entradas y llevan sus registros Un pbx balancea las llamadas
C.Ruz (PUC)
IIC2523
1/2013
9 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¿C´ omo atender la demanda? → Sistema distribuido
Servicio muy popular Jaime llama, pero John est´a ocupado atendiendo a Yadran Jaime se queja del mal servicio ¡Baja disponibilidad (availability)! Versi´on 2 John contrata a Ra´ ul
John
Raúl pbx
Jaime
Yadran
Ambos anotan reservas, entregan entradas y llevan sus registros Un pbx balancea las llamadas ¡Sistema ha escalado al doble de su capacidad! C.Ruz (PUC)
IIC2523
1/2013
9 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Clientes descontentos!
John
Raúl pbx
C.Ruz (PUC)
IIC2523
1/2013
10 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Clientes descontentos!
John entrega a Jaime puesto P9
John
Raúl pbx
ticket: P9
Jaime
C.Ruz (PUC)
IIC2523
1/2013
10 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Clientes descontentos!
John entrega a Jaime puesto P9 Ra´ ul entrega a Yadran puesto P9 John
Raúl pbx
ticket: P9
ticket: P9
Jaime
C.Ruz (PUC)
IIC2523
Yadran
1/2013
10 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Clientes descontentos!
John entrega a Jaime puesto P9 Ra´ ul entrega a Yadran puesto P9 Jaime y Yadran se quejan del mal servicio
John
Raúl pbx
ticket: P9
ticket: P9
Jaime
C.Ruz (PUC)
IIC2523
Yadran
1/2013
10 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Clientes descontentos!
John entrega a Jaime puesto P9 Ra´ ul entrega a Yadran puesto P9 Jaime y Yadran se quejan del mal servicio
John
¡No hay consistencia!
Raúl pbx
ticket: P9
ticket: P9
Jaime
C.Ruz (PUC)
IIC2523
Yadran
1/2013
10 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Clientes descontentos!
John entrega a Jaime puesto P9 Ra´ ul entrega a Yadran puesto P9 Jaime y Yadran se quejan del mal servicio ¡No hay consistencia! Versi´on 3
John pbx ticket: P9
ticket: P9
Jaime
C.Ruz (PUC)
Raúl
IIC2523
Yadran
1/2013
10 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Clientes descontentos!
John entrega a Jaime puesto P9 Ra´ ul entrega a Yadran puesto P9 Jaime y Yadran se quejan del mal servicio ¡No hay consistencia! Versi´on 3
John
Raúl pbx
ticket: P9
Cuando uno recibe una solicitud de reserva, primero debe avisar al otro.
ticket: P10
Jaime
Yadran
Despu´es de eso la venta contin´ ua. C.Ruz (PUC)
IIC2523
1/2013
10 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Clientes descontentos!
John entrega a Jaime puesto P9 Ra´ ul entrega a Yadran puesto P9 Jaime y Yadran se quejan del mal servicio ¡No hay consistencia! Versi´on 3
John
Raúl pbx
ticket: P9
Cuando uno recibe una solicitud de reserva, primero debe avisar al otro.
ticket: P10
Jaime
Yadran
Despu´es de eso la venta contin´ ua. ¡Consistencia solucionada! C.Ruz (PUC)
IIC2523
1/2013
10 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¿Y si uno no llega a trabajar?
Ra´ ul usa el Transantiago. John no puede hacer reservas mientras Ra´ ul no llegue. John
Raúl pbx
C.Ruz (PUC)
IIC2523
1/2013
11 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¿Y si uno no llega a trabajar?
Ra´ ul usa el Transantiago. John no puede hacer reservas mientras Ra´ ul no llegue. Jaime y Yadran se quejan del mal servicio
John
Raúl pbx
Jaime
C.Ruz (PUC)
IIC2523
1/2013
11 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¿Y si uno no llega a trabajar?
Ra´ ul usa el Transantiago. John no puede hacer reservas mientras Ra´ ul no llegue. Jaime y Yadran se quejan del mal servicio
John
¡No hay disponibilidad!
Raúl pbx
Jaime
C.Ruz (PUC)
IIC2523
1/2013
11 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¿Y si uno no llega a trabajar?
Ra´ ul usa el Transantiago. John no puede hacer reservas mientras Ra´ ul no llegue. Jaime y Yadran se quejan del mal servicio ¡No hay disponibilidad! Versi´on 4
C.Ruz (PUC)
John
Raúl pbx
Jaime
IIC2523
1/2013
11 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¿Y si uno no llega a trabajar?
Ra´ ul usa el Transantiago. John no puede hacer reservas mientras Ra´ ul no llegue. Jaime y Yadran se quejan del mal servicio
John P9
¡No hay disponibilidad! Versi´on 4
Raúl pbx
ticket: P9
Jaime
John hace reservas y guarda un registro Cuando Ra´ ul llega, le informa de los reservas hechas
C.Ruz (PUC)
IIC2523
1/2013
11 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¿Y si uno no llega a trabajar?
Ra´ ul usa el Transantiago. John no puede hacer reservas mientras Ra´ ul no llegue. Jaime y Yadran se quejan del mal servicio ¡No hay disponibilidad! Versi´on 4
P9
John
Raúl pbx
John hace reservas y guarda un registro Cuando Ra´ ul llega, le informa de los reservas hechas
C.Ruz (PUC)
IIC2523
1/2013
11 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¿Y si uno no llega a trabajar?
Ra´ ul usa el Transantiago. John no puede hacer reservas mientras Ra´ ul no llegue. Jaime y Yadran se quejan del mal servicio
P9
John
¡No hay disponibilidad! Versi´on 4
Raúl pbx
John hace reservas y guarda un registro Cuando Ra´ ul llega, le informa de los reservas hechas ¡Disponibilidad y consistencia! C.Ruz (PUC)
IIC2523
1/2013
11 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Oficina remota!
Se pierde capacidad Misma disponiblidad que con sistema centralizado John
Raúl pbx
Jaime
C.Ruz (PUC)
IIC2523
X Yadran
1/2013
12 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Oficina remota!
Se pierde capacidad Misma disponiblidad que con sistema centralizado ¡No hay tolerancia a particiones!
John
Raúl pbx
Jaime
C.Ruz (PUC)
IIC2523
X Yadran
1/2013
12 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Oficina remota!
Se pierde capacidad Misma disponiblidad que con sistema centralizado ¡No hay tolerancia a particiones! Versi´on 5
John pbx
Jaime
C.Ruz (PUC)
IIC2523
Raúl
X Yadran
1/2013
12 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Oficina remota!
Se pierde capacidad Misma disponiblidad que con sistema centralizado ¡No hay tolerancia a particiones! Versi´on 5
John P9
Raúl K4
pbx
ticket: K4
ticket: P9
Ra´ ul trabaja remotamente
Jaime
Yadran
Cada uno anota sus reservas y guarda un registro
C.Ruz (PUC)
IIC2523
1/2013
12 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Oficina remota!
Se pierde capacidad Misma disponiblidad que con sistema centralizado ¡No hay tolerancia a particiones! Versi´on 5
P9
John
Raúl K4 pbx
Ra´ ul trabaja remotamente Cada uno anota sus reservas y guarda un registro Al final del d´ıa intercambian los registros
C.Ruz (PUC)
IIC2523
1/2013
12 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! ¡Oficina remota!
Se pierde capacidad Misma disponiblidad que con sistema centralizado ¡No hay tolerancia a particiones! Versi´on 5
P9
John
Raúl K4 pbx
Ra´ ul trabaja remotamente Cada uno anota sus reservas y guarda un registro Al final del d´ıa intercambian los registros ¡Disponibilidad y tolerancia a particiones! C.Ruz (PUC)
IIC2523
1/2013
12 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! Pero perdimos consistencia . . .
Jaime reserva con John Yadran reserva con Ra´ ul
John P9
Raúl P9
pbx
ticket: P9
ticket: P9
Jaime
C.Ruz (PUC)
IIC2523
Yadran
1/2013
13 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! Pero perdimos consistencia . . .
Jaime reserva con John Yadran reserva con Ra´ ul Reciben la misma entrada, pero no se sabe hasta que se intercambian registros.
P9
John
Raúl P9 pbx
C.Ruz (PUC)
IIC2523
1/2013
13 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! Pero perdimos consistencia . . .
Jaime reserva con John Yadran reserva con Ra´ ul Reciben la misma entrada, pero no se sabe hasta que se intercambian registros. Jaime y Yadran se quejan del mal servicio
C.Ruz (PUC)
IIC2523
P9
John
Raúl P9 pbx
1/2013
13 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! Pero perdimos consistencia . . .
Jaime reserva con John Yadran reserva con Ra´ ul Reciben la misma entrada, pero no se sabe hasta que se intercambian registros. Jaime y Yadran se quejan del mal servicio
P9
John
Raúl P9 pbx
¡Perdimos la consistencia!
C.Ruz (PUC)
IIC2523
1/2013
13 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! Pero perdimos consistencia . . .
Jaime reserva con John Yadran reserva con Ra´ ul Reciben la misma entrada, pero no se sabe hasta que se intercambian registros. Jaime y Yadran se quejan del mal servicio
P9
John
Raúl P9 pbx
¡Perdimos la consistencia! Versi´on 6
C.Ruz (PUC)
IIC2523
1/2013
13 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! Pero perdimos consistencia . . .
Jaime reserva con John Yadran reserva con Ra´ ul Reciben la misma entrada, pero no se sabe hasta que se intercambian registros. Jaime y Yadran se quejan del mal servicio
P9
John pbx
ticket: P10
ticket: P9
Jaime
¡Perdimos la consistencia! Versi´on 6
Raúl P10
Yadran
Registros se env´ıan inmediatamente: chat, whatsapp, email, tel´efono C.Ruz (PUC)
IIC2523
1/2013
13 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! Pero perdimos consistencia . . .
Jaime reserva con John Yadran reserva con Ra´ ul Reciben la misma entrada, pero no se sabe hasta que se intercambian registros. Jaime y Yadran se quejan del mal servicio
P9
John
Raúl P10 pbx ticket: P10
ticket: P9
Jaime
¡Perdimos la consistencia! Versi´on 6
Yadran
Registros se env´ıan inmediatamente: chat, whatsapp, email, tel´efono ¡Consistencia y tolerancia a particiones! C.Ruz (PUC)
IIC2523
1/2013
13 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! Pero ahora cada uno depende de la comunicaci´ on con el otro . . .
Red puede fallar.
C.Ruz (PUC)
IIC2523
1/2013
14 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! Pero ahora cada uno depende de la comunicaci´ on con el otro . . .
Red puede fallar. Mensajer´ıa es as´ıncrona (problema de consistencia)
C.Ruz (PUC)
IIC2523
1/2013
14 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! Pero ahora cada uno depende de la comunicaci´ on con el otro . . .
Red puede fallar. Mensajer´ıa es as´ıncrona (problema de consistencia) Se pueden perder mensajes (problema de consistencia)
C.Ruz (PUC)
IIC2523
1/2013
14 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! Pero ahora cada uno depende de la comunicaci´ on con el otro . . .
Red puede fallar. Mensajer´ıa es as´ıncrona (problema de consistencia) Se pueden perder mensajes (problema de consistencia) Tel´efono es s´ıncrono, pero requiere esperar que el otro est´e desocupado (problema de disponibilidad)
C.Ruz (PUC)
IIC2523
1/2013
14 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! Pero ahora cada uno depende de la comunicaci´ on con el otro . . .
Red puede fallar. Mensajer´ıa es as´ıncrona (problema de consistencia) Se pueden perder mensajes (problema de consistencia) Tel´efono es s´ıncrono, pero requiere esperar que el otro est´e desocupado (problema de disponibilidad) ¡Perdemos disponibilidad o consistencia!
C.Ruz (PUC)
IIC2523
1/2013
14 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! Pero ahora cada uno depende de la comunicaci´ on con el otro . . .
Red puede fallar. Mensajer´ıa es as´ıncrona (problema de consistencia) Se pueden perder mensajes (problema de consistencia) Tel´efono es s´ıncrono, pero requiere esperar que el otro est´e desocupado (problema de disponibilidad) ¡Perdemos disponibilidad o consistencia! Varias soluciones ...
C.Ruz (PUC)
IIC2523
1/2013
14 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! Pero ahora cada uno depende de la comunicaci´ on con el otro . . .
Red puede fallar. Mensajer´ıa es as´ıncrona (problema de consistencia) Se pueden perder mensajes (problema de consistencia) Tel´efono es s´ıncrono, pero requiere esperar que el otro est´e desocupado (problema de disponibilidad) ¡Perdemos disponibilidad o consistencia! Varias soluciones ... Volvemos a V4: Consistencia y disponibilidad
C.Ruz (PUC)
IIC2523
1/2013
14 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! Pero ahora cada uno depende de la comunicaci´ on con el otro . . .
Red puede fallar. Mensajer´ıa es as´ıncrona (problema de consistencia) Se pueden perder mensajes (problema de consistencia) Tel´efono es s´ıncrono, pero requiere esperar que el otro est´e desocupado (problema de disponibilidad) ¡Perdemos disponibilidad o consistencia! Varias soluciones ... Volvemos a V4: Consistencia y disponibilidad Volvemos a V5: Disponibilidad y tolerancia a partici´on
C.Ruz (PUC)
IIC2523
1/2013
14 / 42
Introducci´ on
Motivaci´ on
Book Your Concert! Pero ahora cada uno depende de la comunicaci´ on con el otro . . .
Red puede fallar. Mensajer´ıa es as´ıncrona (problema de consistencia) Se pueden perder mensajes (problema de consistencia) Tel´efono es s´ıncrono, pero requiere esperar que el otro est´e desocupado (problema de disponibilidad) ¡Perdemos disponibilidad o consistencia! Varias soluciones ... Volvemos a V4: Consistencia y disponibilidad Volvemos a V5: Disponibilidad y tolerancia a partici´on Volvemos a V6: Consistencia y tolerancia a partici´on
C.Ruz (PUC)
IIC2523
1/2013
14 / 42
Introducci´ on
Motivaci´ on
Teorema CAP 2000: Eric Brewer introduce la noci´ on de un trade-off inevitable entre Consistencia, disponibilidad (Availability), y tolerancia a Particiones. 2002: Seth Gilbert y Nancy Lynch formalizan el Teorema CAP Teorema CAP In a network subject to communication failures, it is impossible for any web service to implement an atomic read/write shared memory that guarantees a response to every request. En la pr´actica, un sistema distribuido solo puede proveer dos de estas caracter´ısticas: Consistencia Disponibilidad (Availability) Tolerancia a Particiones C.Ruz (PUC)
IIC2523
1/2013
15 / 42
Introducci´ on
Motivaci´ on
Teorema CAP
Referencias: Seth Gilbert and Nancy Lynch. Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services. SIGACT News, 33(2):58-51, June 2002. Seth Gilbert and Nancy A. Lynch. Perspectives on the CAP Theorem. Computer, 45(2):30-35, 2012. IEEE.
C.Ruz (PUC)
IIC2523
1/2013
16 / 42
Caracterizaci´ on de Sistemas Distribuidos
Contenidos 1
Introducci´on Motivaci´on
2
Caracterizaci´on de Sistemas Distribuidos
3
Casos de Sistemas Distribuidos Web Search MMOGs Aplicaciones comerciales
4
Desaf´ıos en Sistemas Distribuidos Tendencias Desaf´ıos
5
Resumen C.Ruz (PUC)
IIC2523
1/2013
17 / 42
Caracterizaci´ on de Sistemas Distribuidos
Definiciones o intento de ...
C.Ruz (PUC)
IIC2523
1/2013
18 / 42
Caracterizaci´ on de Sistemas Distribuidos
Definiciones o intento de ...
Seg´ un Coulouris, Dollmiores, Kindberg, Blair . . . . . . one in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages.
C.Ruz (PUC)
IIC2523
1/2013
18 / 42
Caracterizaci´ on de Sistemas Distribuidos
Definiciones o intento de ...
Seg´ un Coulouris, Dollmiores, Kindberg, Blair . . . . . . one in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages. Seg´ un Tanenbaum, Van Steen . . . A distributed system is a collection of independent computers that appears to its users as a single coherent system.
C.Ruz (PUC)
IIC2523
1/2013
18 / 42
Caracterizaci´ on de Sistemas Distribuidos
Definiciones o intento de ...
Seg´ un Coulouris, Dollmiores, Kindberg, Blair . . . . . . one in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages. Seg´ un Tanenbaum, Van Steen . . . A distributed system is a collection of independent computers that appears to its users as a single coherent system. Leslie Lamport alguna vez escribi´ o ... A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable. C.Ruz (PUC)
IIC2523
1/2013
18 / 42
Caracterizaci´ on de Sistemas Distribuidos
Caracter´ısticas
M´as que definiciones ... consecuencias:
C.Ruz (PUC)
IIC2523
1/2013
19 / 42
Caracterizaci´ on de Sistemas Distribuidos
Caracter´ısticas
M´as que definiciones ... consecuencias: Concurrencia Capacidad de trabajar simult´aneamente y compartir recursos.
C.Ruz (PUC)
IIC2523
1/2013
19 / 42
Caracterizaci´ on de Sistemas Distribuidos
Caracter´ısticas
M´as que definiciones ... consecuencias: Concurrencia Capacidad de trabajar simult´aneamente y compartir recursos. ¿C´omo manejar m´as recursos? ¿C´omo coordinar distintos agentes?
C.Ruz (PUC)
IIC2523
1/2013
19 / 42
Caracterizaci´ on de Sistemas Distribuidos
Caracter´ısticas
M´as que definiciones ... consecuencias: Concurrencia Capacidad de trabajar simult´aneamente y compartir recursos. ¿C´omo manejar m´as recursos? ¿C´omo coordinar distintos agentes? Ausencia de tiempo global Coordinaci´ on s´ olo por paso de mensajes.
C.Ruz (PUC)
IIC2523
1/2013
19 / 42
Caracterizaci´ on de Sistemas Distribuidos
Caracter´ısticas
M´as que definiciones ... consecuencias: Concurrencia Capacidad de trabajar simult´aneamente y compartir recursos. ¿C´omo manejar m´as recursos? ¿C´omo coordinar distintos agentes? Ausencia de tiempo global Coordinaci´ on s´ olo por paso de mensajes. ¿C´omo sincronizar los relojes?
C.Ruz (PUC)
IIC2523
1/2013
19 / 42
Caracterizaci´ on de Sistemas Distribuidos
Caracter´ısticas
M´as que definiciones ... consecuencias: Concurrencia Capacidad de trabajar simult´aneamente y compartir recursos. ¿C´omo manejar m´as recursos? ¿C´omo coordinar distintos agentes? Ausencia de tiempo global Coordinaci´ on s´ olo por paso de mensajes. ¿C´omo sincronizar los relojes? Fallas independientes M´as computadores → m´as maneras de fallar.
C.Ruz (PUC)
IIC2523
1/2013
19 / 42
Caracterizaci´ on de Sistemas Distribuidos
Caracter´ısticas
M´as que definiciones ... consecuencias: Concurrencia Capacidad de trabajar simult´aneamente y compartir recursos. ¿C´omo manejar m´as recursos? ¿C´omo coordinar distintos agentes? Ausencia de tiempo global Coordinaci´ on s´ olo por paso de mensajes. ¿C´omo sincronizar los relojes? Fallas independientes M´as computadores → m´as maneras de fallar. Fallas de red: ¿lentitud o desconexi´ on? Fallas individuales: ¿ca´ıdas o deadlocks?
C.Ruz (PUC)
IIC2523
1/2013
19 / 42
Caracterizaci´ on de Sistemas Distribuidos
Falacias de la programaci´on distribuida Peter Deutsch (Sun Microsystems) plante´ o1 (1991): 1
The network is reliable
2
Latency is zero
3
Bandwidth is infinite
4
The network is secure
5
Topology doesn’t change
6
There is one administrator
7
Transport cost is zero
8
The network is homogeneous
1
https://blogs.oracle.com/jag/resource/Fallacies.html C.Ruz (PUC)
IIC2523
1/2013
20 / 42
Casos de Sistemas Distribuidos
Contenidos 1
Introducci´on Motivaci´on
2
Caracterizaci´on de Sistemas Distribuidos
3
Casos de Sistemas Distribuidos Web Search MMOGs Aplicaciones comerciales
4
Desaf´ıos en Sistemas Distribuidos Tendencias Desaf´ıos
5
Resumen C.Ruz (PUC)
IIC2523
1/2013
21 / 42
Casos de Sistemas Distribuidos
¿Para qu´e se usan? A´ un m´ as cerca de lo que uno cree...
C.Ruz (PUC)
IIC2523
1/2013
22 / 42
Casos de Sistemas Distribuidos
¿Para qu´e se usan? A´ un m´ as cerca de lo que uno cree...
Finanzas y comercio eCommerce: Amazon, eBay, PayPal, bancos online
C.Ruz (PUC)
IIC2523
1/2013
22 / 42
Casos de Sistemas Distribuidos
¿Para qu´e se usan? A´ un m´ as cerca de lo que uno cree...
Finanzas y comercio eCommerce: Amazon, eBay, PayPal, bancos online Sist. de Informaci´ on Web, b´ usquedas, ebooks, Wikipedia, Facebook, Twitter, Flickr
C.Ruz (PUC)
IIC2523
1/2013
22 / 42
Casos de Sistemas Distribuidos
¿Para qu´e se usan? A´ un m´ as cerca de lo que uno cree...
Finanzas y comercio eCommerce: Amazon, eBay, PayPal, bancos online Sist. de Informaci´ on Web, b´ usquedas, ebooks, Wikipedia, Facebook, Twitter, Flickr Entretenimiento Streaming multimedia, juegos online: YouTube, World of Warcraft, Star Wars: Old Republic
C.Ruz (PUC)
IIC2523
1/2013
22 / 42
Casos de Sistemas Distribuidos
¿Para qu´e se usan? A´ un m´ as cerca de lo que uno cree...
Finanzas y comercio eCommerce: Amazon, eBay, PayPal, bancos online Sist. de Informaci´ on Web, b´ usquedas, ebooks, Wikipedia, Facebook, Twitter, Flickr Entretenimiento Streaming multimedia, juegos online: YouTube, World of Warcraft, Star Wars: Old Republic Salud Fichas electr´ onicas, monitoreo de pacientes, telemedicina: diagn´ostico remoto y cirug´ıa remota
C.Ruz (PUC)
IIC2523
1/2013
22 / 42
Casos de Sistemas Distribuidos
¿Para qu´e se usan? A´ un m´ as cerca de lo que uno cree...
Finanzas y comercio eCommerce: Amazon, eBay, PayPal, bancos online Sist. de Informaci´ on Web, b´ usquedas, ebooks, Wikipedia, Facebook, Twitter, Flickr Entretenimiento Streaming multimedia, juegos online: YouTube, World of Warcraft, Star Wars: Old Republic Salud Fichas electr´ onicas, monitoreo de pacientes, telemedicina: diagn´ostico remoto y cirug´ıa remota Educaci´ on eLearning, distance learning, collaborative learning: Coursera, MIT OpenCourseWare
C.Ruz (PUC)
IIC2523
1/2013
22 / 42
Casos de Sistemas Distribuidos
¿Para qu´e se usan? A´ un m´ as cerca de lo que uno cree...
Finanzas y comercio eCommerce: Amazon, eBay, PayPal, bancos online Sist. de Informaci´ on Web, b´ usquedas, ebooks, Wikipedia, Facebook, Twitter, Flickr Entretenimiento Streaming multimedia, juegos online: YouTube, World of Warcraft, Star Wars: Old Republic Salud Fichas electr´ onicas, monitoreo de pacientes, telemedicina: diagn´ostico remoto y cirug´ıa remota Educaci´ on eLearning, distance learning, collaborative learning: Coursera, MIT OpenCourseWare Transporte y log´ıstica Gesti´ on de tr´aficos, rutas: GPS, MapQuest, Google Maps, Google Earth
C.Ruz (PUC)
IIC2523
1/2013
22 / 42
Casos de Sistemas Distribuidos
¿Para qu´e se usan? A´ un m´ as cerca de lo que uno cree...
Finanzas y comercio eCommerce: Amazon, eBay, PayPal, bancos online Sist. de Informaci´ on Web, b´ usquedas, ebooks, Wikipedia, Facebook, Twitter, Flickr Entretenimiento Streaming multimedia, juegos online: YouTube, World of Warcraft, Star Wars: Old Republic Salud Fichas electr´ onicas, monitoreo de pacientes, telemedicina: diagn´ostico remoto y cirug´ıa remota Educaci´ on eLearning, distance learning, collaborative learning: Coursera, MIT OpenCourseWare Transporte y log´ıstica Gesti´ on de tr´aficos, rutas: GPS, MapQuest, Google Maps, Google Earth Ciencia Sistemas de c´alculo de alto rendimiento (HPC), eScience: Grid, BigData, workflows
C.Ruz (PUC)
IIC2523
1/2013
22 / 42
Casos de Sistemas Distribuidos
¿Para qu´e se usan? A´ un m´ as cerca de lo que uno cree...
Finanzas y comercio eCommerce: Amazon, eBay, PayPal, bancos online Sist. de Informaci´ on Web, b´ usquedas, ebooks, Wikipedia, Facebook, Twitter, Flickr Entretenimiento Streaming multimedia, juegos online: YouTube, World of Warcraft, Star Wars: Old Republic Salud Fichas electr´ onicas, monitoreo de pacientes, telemedicina: diagn´ostico remoto y cirug´ıa remota Educaci´ on eLearning, distance learning, collaborative learning: Coursera, MIT OpenCourseWare Transporte y log´ıstica Gesti´ on de tr´aficos, rutas: GPS, MapQuest, Google Maps, Google Earth Ciencia Sistemas de c´alculo de alto rendimiento (HPC), eScience: Grid, BigData, workflows Gesti´ on medioambiental Redes de sensores, monitoreo y manejo de desastres naturales, cambio clim´atico C.Ruz (PUC)
IIC2523
1/2013
22 / 42
Casos de Sistemas Distribuidos
Web Search
Ejemplos: Web Search Algunos desaf´ıos: 100.000.000.000 consultas por mes2 Espacio de b´ usqueda: > 30.000.000.000.000 p´aginas
2
http://searchengineland.com/google-search-press-129925 C.Ruz (PUC)
IIC2523
1/2013
23 / 42
Casos de Sistemas Distribuidos
Web Search
Ejemplos: Web Search Algunos desaf´ıos: 100.000.000.000 consultas por mes2 Espacio de b´ usqueda: > 30.000.000.000.000 p´aginas ¿C´ omo lo hace Google?
2
http://searchengineland.com/google-search-press-129925 C.Ruz (PUC)
IIC2523
1/2013
23 / 42
Casos de Sistemas Distribuidos
Web Search
Ejemplos: Web Search Algunos desaf´ıos: 100.000.000.000 consultas por mes2 Espacio de b´ usqueda: > 30.000.000.000.000 p´aginas ¿C´ omo lo hace Google? Cache MUCHOS computadores en red y datacenters Sistema de archivos distribuido: GFS, GFS2 (Colossus) Almacenamiento de grandes cantidades de datos Algoritmos de Locking distribuido y consenso Modelo de programaci´ on para consultas paralelas
2
http://searchengineland.com/google-search-press-129925 C.Ruz (PUC)
IIC2523
1/2013
23 / 42
Casos de Sistemas Distribuidos
MMOGs
Ejemplos: Massively Multiplayer Online Games (MMOGs) WoW, EverQuest II, EVE Online, PlanetSide 2, Need For Speed World Otros desaf´ıos: Tiempo de respuesta r´apido (baja latencia) Propagaci´on de eventos en tiempo real (consistencia)
C.Ruz (PUC)
IIC2523
1/2013
24 / 42
Casos de Sistemas Distribuidos
MMOGs
Ejemplos: Massively Multiplayer Online Games (MMOGs) WoW, EverQuest II, EVE Online, PlanetSide 2, Need For Speed World Otros desaf´ıos: Tiempo de respuesta r´apido (baja latencia) Propagaci´on de eventos en tiempo real (consistencia) ¿Soluciones?
C.Ruz (PUC)
IIC2523
1/2013
24 / 42
Casos de Sistemas Distribuidos
MMOGs
Ejemplos: Massively Multiplayer Online Games (MMOGs) WoW, EverQuest II, EVE Online, PlanetSide 2, Need For Speed World Otros desaf´ıos: Tiempo de respuesta r´apido (baja latencia) Propagaci´on de eventos en tiempo real (consistencia) ¿Soluciones? EVE Online: arquitectura cliente servidor, una copia del mundo Server: cluster particionado por sectores del mundo Copia u ´nica: facilita el manejo de consistencia
C.Ruz (PUC)
IIC2523
1/2013
24 / 42
Casos de Sistemas Distribuidos
MMOGs
Ejemplos: Massively Multiplayer Online Games (MMOGs) WoW, EverQuest II, EVE Online, PlanetSide 2, Need For Speed World Otros desaf´ıos: Tiempo de respuesta r´apido (baja latencia) Propagaci´on de eventos en tiempo real (consistencia) ¿Soluciones? EVE Online: arquitectura cliente servidor, una copia del mundo Server: cluster particionado por sectores del mundo Copia u ´nica: facilita el manejo de consistencia
Arquitecturas distribuidas Jugadores asignados por proximidad (geogr´afica o de latencia) M´as escalable
C.Ruz (PUC)
IIC2523
1/2013
24 / 42
Casos de Sistemas Distribuidos
MMOGs
Ejemplos: Massively Multiplayer Online Games (MMOGs) WoW, EverQuest II, EVE Online, PlanetSide 2, Need For Speed World Otros desaf´ıos: Tiempo de respuesta r´apido (baja latencia) Propagaci´on de eventos en tiempo real (consistencia) ¿Soluciones? EVE Online: arquitectura cliente servidor, una copia del mundo Server: cluster particionado por sectores del mundo Copia u ´nica: facilita el manejo de consistencia
Arquitecturas distribuidas Jugadores asignados por proximidad (geogr´afica o de latencia) M´as escalable
Arquitecturas descentralizadas: P2P
C.Ruz (PUC)
IIC2523
1/2013
24 / 42
Casos de Sistemas Distribuidos
Aplicaciones comerciales
Ejemplos: Transacciones comerciales Acceso a fuentes de informaci´ on en tiempo real Detecci´on de eventos en grandes fuentes de datos
Sistemas distribuidos para detecci´ on de eventos Procesamiento de eventos complejos (CEP) C.Ruz (PUC)
IIC2523
1/2013
25 / 42
Desaf´ıos en Sistemas Distribuidos
Contenidos 1
Introducci´on Motivaci´on
2
Caracterizaci´on de Sistemas Distribuidos
3
Casos de Sistemas Distribuidos Web Search MMOGs Aplicaciones comerciales
4
Desaf´ıos en Sistemas Distribuidos Tendencias Desaf´ıos
5
Resumen C.Ruz (PUC)
IIC2523
1/2013
26 / 42
Desaf´ıos en Sistemas Distribuidos
Tendencias
Tendencias ¿Hacia d´ onde va la micro?
Pervasive networking Computaci´on m´ovil y ubicuidad Sistemas multimedia distribuidos Computaci´on distribuida como utilidad
C.Ruz (PUC)
IIC2523
1/2013
27 / 42
Desaf´ıos en Sistemas Distribuidos
Tendencias
Pervasive Networking Internet everywhere!!
Alta conectividad Internet es un GRAN sistema distribuido
intranet ☎
ISP
☎
☎
☎
backbone
satellite link desktop computer: server: network link:
C.Ruz (PUC)
IIC2523
1/2013
28 / 42
Desaf´ıos en Sistemas Distribuidos
Tendencias
Computaci´on m´ovil y ubicuidad3 Computers everywhere!!
Conectividad en laptops, celulares, veh´ıculos, ¿refrigeradores?, ¿lavadoras?, ¿relojes?, ¿anteojos? Location-aware, Context-aware, ubiquitous computing ¿C´omo manejar conexiones espor´adicas?
C.Ruz (PUC)
IIC2523
1/2013
29 / 42
Desaf´ıos en Sistemas Distribuidos
Tendencias
Sistemas multimedia distribuidos Streamings everywhere!!
Streaming. Transmisi´on de contenido multimedia. ¡Tiempo real! Compartir contenido: 1 fuente → N receptores Proveer y mantener QoS ... o bien, adaptarse ¿En qu´e casos? Telefon´ıa IP. Comunicaci´ on P2P: Skype. Webcasting: Live8, eventos deportivos, conciertos
C.Ruz (PUC)
IIC2523
1/2013
30 / 42
Desaf´ıos en Sistemas Distribuidos
Tendencias
Computaci´on distribuida como utilidad Clouds everywhere!!
Recursos como commodities o servicios de: Infrastructura: Amazon EC2, S3 Plataformas: Google App Engine, Windows Azure Software: GMail, Office 365, AWS Cloud Computing: recursos escalables y el´asticos
No solo recursos f´ısicos, sino virtuales C.Ruz (PUC)
IIC2523
1/2013
31 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Desaf´ıos en sistemas distribuidos
Cada uno con subdesaf´ıos Heterogeneidad Apertura (Openness) Seguridad Escalabilidad Manejo de fallas Concurrencia Transparencia Calidad de servicio (QoS)
C.Ruz (PUC)
IIC2523
1/2013
32 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Heterogeneidad Pero si en mi computador funciona bien
Distintos tipos de: Redes Arquitecturas Sistemas operativos Lenguajes de programaci´ on Diferentes implementaciones de una misma aplicaci´on
C.Ruz (PUC)
IIC2523
1/2013
33 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Heterogeneidad Pero si en mi computador funciona bien
Distintos tipos de: Redes Arquitecturas Sistemas operativos Lenguajes de programaci´ on Diferentes implementaciones de una misma aplicaci´on ¿Soluciones? Middleware M´aquinas virtuales (c´ odigo m´ ovil)
C.Ruz (PUC)
IIC2523
1/2013
33 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Apertura de ... ¡interfaces!
Capacidad de agregar elementos al sistema: Funcionalidades Recursos
C.Ruz (PUC)
IIC2523
1/2013
34 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Apertura de ... ¡interfaces!
Capacidad de agregar elementos al sistema: Funcionalidades Recursos ¿Qu´e se necesita? → Conocer las interfaces Interfaces conocidas Mecanismo de comunicaci´ on uniformes Ayuda al problema de heterogeneidad
C.Ruz (PUC)
IIC2523
1/2013
34 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Seguridad Si no quiere que nadie lo sepa, no lo suba a Facebook
Varios aspectos de seguridad: Confidencialidad Integridad Disponibilidad Adem´as de otros cl´asicos: autentificaci´ on.
C.Ruz (PUC)
IIC2523
1/2013
35 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Seguridad Si no quiere que nadie lo sepa, no lo suba a Facebook
Varios aspectos de seguridad: Confidencialidad Integridad Disponibilidad Adem´as de otros cl´asicos: autentificaci´ on. Amenazas: Denial of service Seguridad de c´odigo m´ ovil (ejecutables)
C.Ruz (PUC)
IIC2523
1/2013
35 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Escalabilidad Donde comen 1000, comen 10000
Un sistema es escalable si contin´ ua funcionando bien ante un alto incremento en la cantidad de recursos o de usuarios. Fecha Julio 1993 Julio 1995 Julio 1997 Julio 1999 Julio 2001 Julio 2003 Julio 2005
C.Ruz (PUC)
Computadores 1.776.000 6.642.000 19.540.000 56.218.000 125.888.197 200.000.000 353.284.187
IIC2523
Web Servers 130 23.500 1.203.096 6.598.697 31.299.592 42.298.371 67.571.581
% 0.008 0.4 6 12 25 21 19
1/2013
36 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Escalabilidad Donde comen 1000, comen 10000
Un sistema es escalable si contin´ ua funcionando bien ante un alto incremento en la cantidad de recursos o de usuarios. Fecha Julio 1993 Julio 1995 Julio 1997 Julio 1999 Julio 2001 Julio 2003 Julio 2005
Computadores 1.776.000 6.642.000 19.540.000 56.218.000 125.888.197 200.000.000 353.284.187
Web Servers 130 23.500 1.203.096 6.598.697 31.299.592 42.298.371 67.571.581
% 0.008 0.4 6 12 25 21 19
Costo de recursos adicionales. n usuarios → costo O(n) P´erdida de rendimiento. Acceso jer´arquico O(log n) sobre lineal O(n) Evitar escasez de recursos. Ej: IPv4 versus IPv6 Evitar cuellos de botella. Arquitecturas decentralizadas. C.Ruz (PUC)
IIC2523
1/2013
36 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Manejo de fallas Shit happens
Si un computador falla una vez por a˜ no, ¿cada cu´anto fallan 1000 computadores?
C.Ruz (PUC)
IIC2523
1/2013
37 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Manejo de fallas Shit happens
Si un computador falla una vez por a˜ no, ¿cada cu´anto fallan 1000 computadores? Algunos desaf´ıos: ¿C´omo detectar fallas? ¿Error, ca´ıda, lentitud? ¿C´omo ocultar fallas? Retransmitir, replicar, . . . ¿C´omo tolerar fallas? Redundancia, informar al usuario ¿C´omo recuperarse de fallas? Rollbacks, recuperaciones
C.Ruz (PUC)
IIC2523
1/2013
37 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Concurrencia Un programador ten´ıa un problema y decidi´ o usar threads. tiene ´el problemas. Ahora dos
¿C´ omo manejar adecuadamente el uso de recursos compartidos? Se deben evitar inconsistencias.
C.Ruz (PUC)
IIC2523
1/2013
38 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Concurrencia Un programador ten´ıa un problema y decidi´ o usar threads. tiene ´el problemas. Ahora dos
¿C´ omo manejar adecuadamente el uso de recursos compartidos? Se deben evitar inconsistencias. Coordinaci´on de procesos Sincronizaci´on de threads Sem´aforos, locks ¿Funcionan igual en un sistema distribuido?
Atomicidad de transacciones y rollbacks
C.Ruz (PUC)
IIC2523
1/2013
38 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Transparencia Ahora lo ves, ahora no
Ocultamiento, al usuario y al programador, de la separaci´on de componentes en un sistema distribuido → visi´ on de sistema u ´nico.
C.Ruz (PUC)
IIC2523
1/2013
39 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Transparencia Ahora lo ves, ahora no
Ocultamiento, al usuario y al programador, de la separaci´on de componentes en un sistema distribuido → visi´ on de sistema u ´nico. Muchos tipos de transparencia: Acceso. Local versus remoto.
C.Ruz (PUC)
IIC2523
1/2013
39 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Transparencia Ahora lo ves, ahora no
Ocultamiento, al usuario y al programador, de la separaci´on de componentes en un sistema distribuido → visi´ on de sistema u ´nico. Muchos tipos de transparencia: Acceso. Local versus remoto. Ubicaci´on. URLs en lugar de direcciones IP.
C.Ruz (PUC)
IIC2523
1/2013
39 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Transparencia Ahora lo ves, ahora no
Ocultamiento, al usuario y al programador, de la separaci´on de componentes en un sistema distribuido → visi´ on de sistema u ´nico. Muchos tipos de transparencia: Acceso. Local versus remoto. Ubicaci´on. URLs en lugar de direcciones IP. Concurrencia. Accesos concurrentes sin interferencia para ninguno.
C.Ruz (PUC)
IIC2523
1/2013
39 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Transparencia Ahora lo ves, ahora no
Ocultamiento, al usuario y al programador, de la separaci´on de componentes en un sistema distribuido → visi´ on de sistema u ´nico. Muchos tipos de transparencia: Acceso. Local versus remoto. Ubicaci´on. URLs en lugar de direcciones IP. Concurrencia. Accesos concurrentes sin interferencia para ninguno. Replicaci´on. Uso de m´ ultiples instancias. Ej: Mirrors.
C.Ruz (PUC)
IIC2523
1/2013
39 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Transparencia Ahora lo ves, ahora no
Ocultamiento, al usuario y al programador, de la separaci´on de componentes en un sistema distribuido → visi´ on de sistema u ´nico. Muchos tipos de transparencia: Acceso. Local versus remoto. Ubicaci´on. URLs en lugar de direcciones IP. Concurrencia. Accesos concurrentes sin interferencia para ninguno. Replicaci´on. Uso de m´ ultiples instancias. Ej: Mirrors. Fallas. Cambio de mirror autom´atica en caso que alguno desaparezca.
C.Ruz (PUC)
IIC2523
1/2013
39 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Transparencia Ahora lo ves, ahora no
Ocultamiento, al usuario y al programador, de la separaci´on de componentes en un sistema distribuido → visi´ on de sistema u ´nico. Muchos tipos de transparencia: Acceso. Local versus remoto. Ubicaci´on. URLs en lugar de direcciones IP. Concurrencia. Accesos concurrentes sin interferencia para ninguno. Replicaci´on. Uso de m´ ultiples instancias. Ej: Mirrors. Fallas. Cambio de mirror autom´atica en caso que alguno desaparezca. Movilidad. Cambio de celdas de celular autom´aticamente.
C.Ruz (PUC)
IIC2523
1/2013
39 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Transparencia Ahora lo ves, ahora no
Ocultamiento, al usuario y al programador, de la separaci´on de componentes en un sistema distribuido → visi´ on de sistema u ´nico. Muchos tipos de transparencia: Acceso. Local versus remoto. Ubicaci´on. URLs en lugar de direcciones IP. Concurrencia. Accesos concurrentes sin interferencia para ninguno. Replicaci´on. Uso de m´ ultiples instancias. Ej: Mirrors. Fallas. Cambio de mirror autom´atica en caso que alguno desaparezca. Movilidad. Cambio de celdas de celular autom´aticamente. Rendimiento. Reconfigurable para ajustarse a la carga.
C.Ruz (PUC)
IIC2523
1/2013
39 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Transparencia Ahora lo ves, ahora no
Ocultamiento, al usuario y al programador, de la separaci´on de componentes en un sistema distribuido → visi´ on de sistema u ´nico. Muchos tipos de transparencia: Acceso. Local versus remoto. Ubicaci´on. URLs en lugar de direcciones IP. Concurrencia. Accesos concurrentes sin interferencia para ninguno. Replicaci´on. Uso de m´ ultiples instancias. Ej: Mirrors. Fallas. Cambio de mirror autom´atica en caso que alguno desaparezca. Movilidad. Cambio de celdas de celular autom´aticamente. Rendimiento. Reconfigurable para ajustarse a la carga. Escalabilidad. Expandible sin modificar estructura o algoritmos.
C.Ruz (PUC)
IIC2523
1/2013
39 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Transparencia Ahora lo ves, ahora no
Ocultamiento, al usuario y al programador, de la separaci´on de componentes en un sistema distribuido → visi´ on de sistema u ´nico. Muchos tipos de transparencia: Acceso. Local versus remoto. Ubicaci´on. URLs en lugar de direcciones IP. Concurrencia. Accesos concurrentes sin interferencia para ninguno. Replicaci´on. Uso de m´ ultiples instancias. Ej: Mirrors. Fallas. Cambio de mirror autom´atica en caso que alguno desaparezca. Movilidad. Cambio de celdas de celular autom´aticamente. Rendimiento. Reconfigurable para ajustarse a la carga. Escalabilidad. Expandible sin modificar estructura o algoritmos. Transparencia de acceso y ubicaci´ on ↔ transparencia de red. Ejemplo: email. C.Ruz (PUC)
IIC2523
1/2013
39 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Calidad de Servicio Yo s ... loading ... oy tu ... loading ... padr...
Caracter´ısticas no-funcionales de un servicio: confiabilidad, seguridad, rendimiento, adaptabilidad.
C.Ruz (PUC)
IIC2523
1/2013
40 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Calidad de Servicio Yo s ... loading ... oy tu ... loading ... padr...
Caracter´ısticas no-funcionales de un servicio: confiabilidad, seguridad, rendimiento, adaptabilidad. Rendimiento en t´erminos de tiempo de respuesta y procesamiento.
C.Ruz (PUC)
IIC2523
1/2013
40 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Calidad de Servicio Yo s ... loading ... oy tu ... loading ... padr...
Caracter´ısticas no-funcionales de un servicio: confiabilidad, seguridad, rendimiento, adaptabilidad. Rendimiento en t´erminos de tiempo de respuesta y procesamiento. ... pero tambi´en en capacidad de cumplir garant´ıas de tiempo.
C.Ruz (PUC)
IIC2523
1/2013
40 / 42
Desaf´ıos en Sistemas Distribuidos
Desaf´ıos
Calidad de Servicio Yo s ... loading ... oy tu ... loading ... padr...
Caracter´ısticas no-funcionales de un servicio: confiabilidad, seguridad, rendimiento, adaptabilidad. Rendimiento en t´erminos de tiempo de respuesta y procesamiento. ... pero tambi´en en capacidad de cumplir garant´ıas de tiempo. Ejemplo: streaming de video Sin adecuado ancho de banda, imposible transmitir 1080p fluidamente ... pero, talvez se puede bajar a 480p y obtener fluidez Clave: adaptabilidad para cumplir QoS de fluidez (talvez no de definici´on)
C.Ruz (PUC)
IIC2523
1/2013
40 / 42
Resumen
Contenidos 1
Introducci´on Motivaci´on
2
Caracterizaci´on de Sistemas Distribuidos
3
Casos de Sistemas Distribuidos Web Search MMOGs Aplicaciones comerciales
4
Desaf´ıos en Sistemas Distribuidos Tendencias Desaf´ıos
5
Resumen C.Ruz (PUC)
IIC2523
1/2013
41 / 42
Resumen
Resumen
Los sistemas distribuidos existen hace mucho tiempo, sin embargo no todos sus desaf´ıos est´an resueltos. M´ ultiples hilos (threads) en ejecuci´ on de manera realmente concurrente, comunic´andose a trav´es de paso de mensajes. La coordinaci´on no es trivial. Teorema CAP: debemos hacer un trade-off entre consistencia, disponibilidad y tolerancia a particiones. Desaf´ıos: heterogeneidad, apertura, seguridad, escalabilidad, manejo de fallas, concurrencia, transparencia, calidad de servicio.
C.Ruz (PUC)
IIC2523
1/2013
42 / 42