01 - Generalidades sobre Sistemas Distribuidos

01 - Generalidades sobre Sistemas Distribuidos IIC2523 - Sistemas Distribuidos Cristian Ruz – [email protected] Departamento de Ciencia de la Computaci´...
4 downloads 0 Views 2MB Size
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