Tema 12 Nuevas tendencias

Tema 12 Nuevas tendencias Grupo ARCOS Sistemas Distribuidos Grado en Ingeniería Informática Universidad Carlos III de Madrid Creciente capacidad de ...
2 downloads 4 Views 8MB Size
Tema 12 Nuevas tendencias Grupo ARCOS Sistemas Distribuidos Grado en Ingeniería Informática Universidad Carlos III de Madrid

Creciente capacidad de computación Computacion ubicua Wireless Sensor Networks (WSN)

Computación distribuida de alto rendimiento Peer-to-peer (P2P) Computación voluntaria Grid computing Cloud computing Tendencias en web

2

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Computación ubicua Computadores portables, con capacidades de comunicación inalámbrica Portátiles (1990s) Netbooks (2000s) Personal Digital Assistants (PDAs)

„The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it.“, Mark Weiser.

Tecnología en background e implícita (Mark Weiser) Mejorar la calidad de vida de las personas (smart cities, smart X) Optimizar los recursos Conocimiento del entorno

Ejemplo: sensores para monitorizar anything, anytime, anywhere! Redes de sensores

3

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Wireless Sensor Networks (WSN) Una red de sensores (el inglés, Wireless Sensor Network) es un sistema distribuido donde parte de sus nodos (nodos sensores) son capaces de interactuar con el entorno físico Interactuar: lectura/actuación sobre el medio Wireless Sensor and Actuator Networks (WSAN)

Nodos sensores son dispositivos electrónicos, autónomos, distribuidos geográficamente alrededor de un fenómeno para monitorizarlo, con capacidades de: sensing, cómputo, almacenamiento y comunicación inalámbrica

4

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Elementos de una WSN (I) S

S

S

M

M

M

Nodo sensor: sensor (S) + mote (M)

S

S

M

M

S

S

M

M

G A PC (estación base), LAN, Internet

5

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Elementos de una WSN (II) Nodos sensores: Placa de sensores (S): Variables medioambientales: e.g. luz, temperatura, humedad, presión, concentración de polen.

Químicos: e.g. C02, oxígeno, ozono.

S

S

S

M

M

M

S

S

M

M

S

M G

S M

Acústicos: e.g. ruido, ultrasonido.

etc.

Mote (M): Radio µcontrolador 6

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Elementos de una WSN (III) Gateway:

S

S

S

M

M

M

Dos funciones: Pasarela de comunicaciones entre la WSN y el exterior Reprogramador de nodos sensores

S

S

M

M

S S M M

G A PC (estación base), LAN, Internet

7

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Elementos de una WSN (IV) Una estación base: Dispositivo de mayor capacidad (ej. PC, portátil) para el almacenamiento, análisis y procesamiento de los datos procedentes de los nodos

S

S

S

M

M

M

S

S

M

M

S S M

G

M

Estación base

8

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Historia “antigua” Proyecto Distributed Sensor Networks (DSN) Década de los años 80 DARPA (Defense Advanced Research Projects Agency) de EEUU Sound Surveillance System (SOSUS) Red de boyas sumergidas instaladas en las costas de los EEUU durante la Guerra Fría para la detección de submarinos Considerada la primera red de sensores http://en.wikipedia.org/wiki/SOSUS

9

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

La ley de Bell (1972): “aparecerá una nueva tecnología cada diez años” Proyecto Smart Dust (1998): cómo empaquetar en una mote de1mm3 un dispositivo sensorial autónomo (Dr. Kristofer Pister, Universidad de California, Berkeley) La primera mote: René (1999) El primer sistema operativo para nodos sensores: TinyOS (2002) Wireless Sensor Networks, la primera de las 10 tecnologías emergentes que cambiarán el mundo (MIT Journal, 2003)

10

log (people per computer)

Historia moderna

year

Source: http://robotics.eecs.berkeley.edu/ ~pister/SmartDust/BlowDust.htm

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Características Redes ad-hoc, sin infraestructura de red Redes formadas por miles, millones de pequeños dispositivos de bajo coste Despliegue en terrenos inhóspitos, de difícil acceso: e.g. volcanes, glaciares, océanos, bosques

Nodos autónomos y cooperantes, pensados para operar de manera desatendida un largo período de tiempo Nodos muy restringidos en cómputo, comunicación, almacenamiento y energía Típicamente redes inalámbricas (aunque también cableadas) Características específicas de comunicación: bajo throughput de datos, bajo consumo, topologías dinámicas (nodos móviles) 11

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Aplicaciones medioambientales Objetivo: Monitorización medioambiental No intrusiva No necesidad de infraestructuras Conocimiento preciso y actualizado Source: http://www.biologie.uni-hamburg.de

Ej: Great Duck Island Mainwaring et al., 2002; Szewczyk et al., 2004

Source: http://envisense.org/glacsweb/

12

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Automatización de edificios Objetivo: automatización de tareas para el confort y seguridad en el hogar Desde edificios inteligentes hasta u-cities Ubiquitous cities Ej. Songdo City (Korea) New Songdo City finalizará en 2014 $25 billones Smart-cards, RFID, WSNs, etc. http://www.youtube.com/watch?v= V2uzo-xzta0 Source: http://www.songdo.com/

13

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Monitorización de infraestructuras Objetivo: cuantificar el grado en que los materiales se desgastan así como sus defectos estructurales

Ej. Sustainable bridges Source: http://www.sustainablebridges.n et/

14

Proyecto europeo del 6PM Emplean sensores cableados para monitorizar puentes de ferrocarriles [Krüger and Grosse, 2004] ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Aplicaciones sanitarias Objetivo: diagnóstico de pacientes, respuesta a desastres, rehabilitación http://www.youtube.com/watch?v=V_UCF 3ZENv4&feature=related

Ej. CodeBlue Sensores que miden las constantes vitales de los pacientes desde sus hogares Source: http://fiji.eecs.harvard.edu/CodeBlue 15

Frecuencia cardíaca Saturación de oxígeno Etc. ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Aplicaciones logísticas Objetivo: Monitorización de equipajes, contenedores, etc. Localización exacta en cada momento del tiempo Monitorización de otras variables RFID: otra tecnología adecuada

Ej: Intelligent Container Monitorización y planificación completamente automatizada de transportes Source:

[Behrens et al., 2006]

http://www.intelligentcontainer.com 16

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Tipos de despliegues No confundir con topología Aleatorio e.g., instalados desde un avión Distribución aleatoria de los nodos sobre un área finita

Regular e.g., mantenimiento preventivo, monitorización Distribución manual y localización fija No necesariamente estructura geométrica

Nodos sensores móviles Los nodos pueden desplazarse debido a una fuerza externa (viento, agua) Pueden localizar áreas interesantes

17

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

wakeup

Funcionamiento de una WSN

18

sleep Tiempo

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Arquitectura HW de un nodo sensor Microcontrolador Radio Memoria flash LEDs Conector de expansión Fuente de energía

19

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Arquitectura de software

20

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Sistemas Operativos Los nodos sensores incluyen un microcontrolador capaz de ejecutar tareas que requieren el acceso a elementos de hardware (sensores, memoria, radio, etc.) Dispositivos no dedicados

Necesidad de un sistema operativo de propósito general, cuyos objetivos son: Gestionar eficientemente los recursos de hardware Facilitar la programación de aplicaciones de alto nivel

21

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Características Generalmente diseñados específicamente teniendo en cuenta las restricciones de los nodos sensores Arquitectura monolítica Aplicación y S.O. integrados en el mismo programa

Responsable de: Gestión del microcontrolador (típicamente monotarea), tiempo (temporizadores) y concurrencia Ofrecer interfaces de acceso (APIs) a los elementos de hardware (sensores, memoria, radio, etc.) Ahorro de energía Programación de aplicaciones Descargar el código ejecutable en el microcontrolador 22

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Sistemas Operativos TinyOS : Primer S.O. desarrollado específicamente para nodos sensores Jason Lester Hill y David Culler Berkeley University, 2002

Quasi-estándar o estándar de facto Sistema operativo de código libre Desarrollo activo por parte de numerosos colaboradores

Basado en eventos (modelo de ejecución) Basado en componentes (modelo de programación) Multiplataforma No soporta todas las plataformas de nodos sensores

Pequeño footprint 250 bytes of ROM 16 bytes of RAM

Importante! App. Monolíticas

La primera versión fue escrita en C, y posteriormente fue reescrito íntegramente en nesC Actualmente versión 2.1.1 Versión 1.x y 2.x no son compatibles

http://www.tinyos.net 23

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Estándares inalámbricos y arquitectura de red Arquitectura de red Capa física Capa de acceso al medio (MAC) Capa de red Otros protocolos: seguridad, localización, aplicación, etc.

Estándares inalámbricos IEEE 802.15.4 ZigBee

Comparativa estándares de comunicación inalámbricos

24

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Perspectiva/estado de estandarización Capa de aplicación Propietaria

Capas de red Actualmente están siendo estandarizadas por ZigBee Routing/localización/mante nimiento de topología, seguridad, etc. Interfaz de acceso (API)

Capas física y MAC Estándar IEEE 802.15.4

25

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Estándares inalámbricos En el IEEE existen unos 130 borradores de estándares inalámbricos MUY POCOS TIENEN ÉXITO COMERCIAL!!!

802.11a/b/g 802.15.1 Norma 802.15.4 ZigBee es una alianza, sin ánimo de lucro, de 25 empresas, la mayoría de ellas fabricantes de semiconductores, con el objetivo de auspiciar el desarrollo e implantación de una tecnología inalámbrica de bajo coste. Es el estándar aceptado en WSN 26

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Estándares inalámbricos (II) Comparativa estándares inalámbricos Standard

Wi-Fi (802.11.g)

Wi-Fi (802.11.b)

Bluetooth

802.15.4 (ZigBee)

Usage

Main WLAN

WLAN

WPAN

Monitoring

Memory

1 MB

1 MB

256 KB

4-32 KB

Lifetime (days)

0.5-5

0.5-5

1-7

100-1000+

Network size 32

32

7

255-65000

Speed

54 Mbps

11 Mbps

720 Kbps

20-250 kbps

Coverage (meters)

100

100

10

1-100

Features

Speed, flexibility

Speed, flexibility

Cost, application profiles

Low-power, low-cost, reliability

27

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

IEEE 802.15.4 Objetivo: “to investigate a low data rate solution with multi-month to multi-year battery life and very low complexity”

Estandariza la capa física (PHY) y la capa de acceso al medio (MAC) Capa física: PHY data service and PHY management service Capa MAC: MAC data service y MAC management service

Primera versión fue aprobada en 2004

28

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

IEEE 802.15.4 PHY Especifica el uso/modulación de canales de radio en tres bandas: Tres ámbitos: mundial, América y Europa Espacio entre canales consecutivos es de 2 Mhz (915 Mhz) y 5 Mhz (2.4 Ghz)

La capa física se subdivide en dos: PHY data service PHY management service

Unidad de datos del protocolo: PPDU (PHY protocol data unit)

Responsable de: Energy detection (ED): selección del canal a usar Link quality indication (LQI): representa la fuerza o calidad de la señal Clear Channel Assessment (CCA): para implementar CSMA/CA

29

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Envío y recepción de unidades de datos, denominadas MPDU (MAC protocol data Unit) a través de PHY MAC se subdivide en dos: MAC data service MAC management service

Responsable de: Mecanismo CSMA/CA Seguridad (cifrado AES) Calidad de servicio (QoS) Fiabilidad de mensajes (ACK)

Tipos de dispositivos:

Foto: Topologías de red definidas por Zigbee: 1) Estrella 2) Mesh, 3) Arbol

IEEE 802.15.4 MAC

Tipos de roles: Coordinador PAN Coordinador (coordinator) Dispositivo (device) 30

Foto: Estructura de trama

FFD (Full Function Device) capacidad para realizar todas las funciones RFD (Reduced Function Device) funcionalidad limitada

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

ZigBee Alliance Consorcio de empresas fabricantes de semiconductores (inicialmente Philips, Samsung, Mitsubishi, Invensys, Honeywell) Objetivo: Promocionar y garantizar el desarrollo e implantación de una tecnología inalámbrica de bajo coste Definir un conjunto de especificaciones globales para aplicaciones inalámbricas

Estandarizar capas de red (por encima de MAC): Algoritmos de enrutamiento Algoritmos de mantenimiento de topología Protocolos de seguridad Etc.

Asume IEEE 802.15.4 http://www.zigbee.org/ 31

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Computación distribuida Idea: agregar recursos computacionales para resolver problemas que no pueden ser resueltos por un único sistema Ejemplos modelado del clima, física computacional.

Los desafíos incluyen: Planificación de recursos (pesimista y optimista) Escalabilidad de los algoritmos y protocolos Rendimiento en entornos heterogéneos

32

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Computación en Cluster Idea: agrupar un conjunto de (heterogéneos) PCs conectados mediante una red Más barato que un supercomputador o mainframe Diferentes tamaños de cluster Escalable – un cluster puede crecer añadiendo más PCs Desafíos: Rendimiento Disponibilidad Balance de carga Escalabilidad

33

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Arquitectura cluster

34

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Clusters

Características: Sistema centralizado basado en cluster de computadores Baratos y fácilmente extensibles Necesidad de electricidad, ventilación y espacio 35

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Supercomputación

Características Uso of supercomputadores Sistemas centralizados basados en multiprocesador o multicomputadores Caros y difíciles de extender 36

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Computación Peer-to-Peer SD compuesto por nodos que se comportan simultáneamente como clientes y servidores El acceso a los ficheros se puede realizar a cualquier nodo del sistema Permite compartir datos de una manera descentralizada Ejemplos: Napster, Spotify, Skype, BitTorrent

37

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Arquitectura Peer to Peer

38

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Grid Computing Ian Foster y Carl Kesselman (1999) plantean un sistema distribuido como una analogía con el suministro eléctrico: El usuario debe tener acceso a los recursos computacionales en condiciones similares a las que tiene para utilizar la energía eléctrica: desde cualquier sitio (geográficamente dispersos) con una interfaz uniforme pudiendo confiar en su funcionamiento (fiables,robustos) a un coste asequible

Este concepto se basa en: Agregar Compartir 39

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Grid Computing Un sistema grid es una colección de recursos distribuidos conectados a través de Internet y que residen en dominios de administración diferentes Objetivo: compartir y agregar recursos

Una aplicación grid es una aplicación que ejecuta en un entorno grid Un middleware grid es el software que permite la construcción de sistemas y aplicaciones grid

40

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Grid Computing

WAN

41

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Computación voluntaria Idea: Los usuarios donan sus recursos de computación (privados) para resolver problemas muy costosos. muchos PCs activos en Internet

Ejemplos: Exploración de grandes conjuntos de datos geofísicos Vida inteligente extraterrestre (SETI@home)

Desafíos: Operaciones en tiempo real para aplicaciones colaborativas

42

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Computación voluntaria

voluntarios

Internet Proyectos

43

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Potencialidad de la computación voluntaria SETI@home: 500.000 CPUs, 65 TeraFLOPs 1000 Millones de PCs conectados a Internet in 2010, 50% de uso privado Con 100M: ~ 100 PetaFLOPs ~ 1 Exabyte (10^18) de almacenamiento public computing

Potencia CPU almacenamiento

Grid computing cluster computing Supercomputing

coste 44

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Middlewares para computación voluntaria Berkeley Open Infrastructure for Network Computing (BOINC) Bayanihan: general-purpose web-based volunteer computing systems using Java Xtremweb: the Open Source Platform for Desktop Grids Xgrid: Simple solution for distributed computing

45

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Arquitectura de BOINC Proyecto BOINC Identificado por una URL Incluye múltiples aplicaciones BBDD con información sobre aplicaciones/participantes/trabajos/resultados Servidor de tareas Envía trabajos a los clientes y recibe los resultados

Servidor de datos Descarga los datos sobre los clientes

46

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Servidor BOINC voluntarios

BBDD BOINC Interfaces web

Cliente BOINC

Servidor de tareas

BBDD de aplicaciones

Servidor de datos ficheros

47

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Ejemplos de proyectos basados en BOINC Einstein@home LIGO; gravitational wave astronomy

Rosetta@home U. Washington; protein study

SETI@home U.C. Berkeley; SETI

LHC@home CERN; accelerator simulation

Africa@home STI, U. of Geneva; malaria epidemiology

IBM World Community Grid 48

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Cloud Computing "Cloud computing is a model for enabling ubiquitous, convenient, ondemand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.“ NIST, 2011

49

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Seasonal Spikes

50

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Cloud vs. Grid Computing Grid Computing Refer to resource-pooled environments for running compute jobs (like image processing) rather than long running processes (such as a Web site or e-mail server)

Cloud Computing Refer to a variety of services available over the Internet that deliver compute functionality on the service provider's infrastructure Its environment (infrastructure) may actually be hosted on either a grid or utility computing environment, but that doesn't matter to a service user The data in the cloud, as “Intel inside” (or intelligence inside), is often an important part of the services

51

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Cloud computing. Modelos de servicio Cloud Computing

52

= Software as a Service + Platform as a Service + Infrastructure as a Service + Data as a Service

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Cloud computing. Modelos de servicio Cloud Computing

= Software as a Service + Platform as a Service + Infrastructure as a Service + Data as a Service

Software as a Service (SaaS) Proporciona al cliente el uso de aplicaciones que ejecutan sobre la infraestructura cloud Las aplicaciones se localizan en el cloud Las aplicaciones son accesibles desde (thin) clientes a través de Internet El consumidor no tiene control sobre la infrastructura cloud Ejemplo: Gmail 53

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Cloud computing. Modelos de servicio Cloud Computing

= Software as a Service + Platform as a Service + Infrastructure as a Service + Data as a Service

Platform as a Service (PaaS) Proporciona al cliente el despliegue sobre el cloud de aplicaciones creadas usando software proporcionado por el proveedor del cloud Punto de vista del desarrollador (i.e. usuarios del cloud) El usuario no controla la infrastructura cloud pero tiene cierto control sobre las aplicaciones que desarrolla

Ejemplo: Google Apps 54

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Cloud computing. Modelos de servicio Cloud Computing

= Software as a Service + Platform as a Service + Infrastructure as a Service + Data as a Service

Infrastructure as a Service (IaaS) Proporciona al cliente recursos (procesamiento, almacenamiento, bandwith, etc.) para permitir al cliente instalar y ejecutar software Datacenter as a service Los clientes del cloud alquilan recursos (pay-per-use) El usuario no controla la infrastructura cloud pero tiene cierto control sobre las aplicaciones que ejecuta Ejemplos: VM, hosting 55

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Infrastructura (Mega Datacenters)

56

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Gen 4 Modular Datacenter

57

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Knowledge & Data Inteligence as a Service Cloud Computing

Data

Information

= Software as a Service + Platform as a Service + Infrastructure as a Service + Data as a Service Knowledge

Intelligence

Infrastructure for Web-scale data mining and knowledge discovery Empower people with knowledge Empower applications and services with intelligence OpenStack, OpenNebula, Eucalyptus...

58

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Amazon Cloud services EC2: Elastic Compute Cloud Proporciona recursos de cómputo Coste: $0.10/instancia*hora + ancho de banda Máquinas virtuales con IPs estáticas o dinámicas

S3: Simple Storage Service Capacidad de almacenamiento virtual Coste: $0.15/GB*mes + ancho de banda Acceso gratis y a alta velocidad a los nodos EC2

SQS: Simple Queue Service SDB: Simple Database 59

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

EC2 SOAP/API Images: RegisterImage DescribeImages DeregisterImage Instances: RunInstances DescribeInstances TerminateInstances GetConsoleOutput RebootInstances Keypairs: CreateKeyPair DescribeKeyPairs DeleteKeyPair 60

Image Attributes: ModifyImageAttribute DescribeImageAttribute ResetImageAttribute Security Groups: CreateSecurityGroup DescribeSecurityGroups DeleteSecurityGroup AuthorizeSecurityGroupIngress RevokeSecurityGroupIngress

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Tendencias en la Web Web Services

XML-RPC SOAP REST

61

Contenidos dinámicos

JSP (J2EE) ASP Ruby on Rails Python PHP ColdFusion …

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

REST vs SOAP

62

ARCOS@UC3M 2012-2013 Sistemas Distribuidos

Tema 12 Nuevas tendencias Grupo ARCOS Sistemas Distribuidos Grado en Ingeniería Informática Universidad Carlos III de Madrid