Story Transcript
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