TEMA 5: PARALELISMO A NIVEL DE HILOS, TAREAS Y … · Computing): Proyecto Seti@Home • Ej:...
Transcript of TEMA 5: PARALELISMO A NIVEL DE HILOS, TAREAS Y … · Computing): Proyecto Seti@Home • Ej:...
TEMA 5: PARALELISMO A
NIVEL DE HILOS, TAREAS Y
PETICIONES (TLP, RLP)
(tercera parte)
SISTEMAS PARALELOS Y DISTRIBUIDOS
www.atc.us.es
Dpto. de Arquitectura y Tecnología de
Computadores. Universidad de Sevilla
1
INDICE
• 5.1. Conceptos básicos.
• 5.2. Taxonomía y modelos de procesamiento paralelo.
– 5.5. Multiprocesadores con memoria centralizada.
– 5.6. Multiprocesadores con memoria distribuida.
• 5.3. Caracterización de las aplicaciones y Modelos de
programación paralela.
• 5.4. Redes y topologías de interconexión.
• 5.7. Sincronización y consistencia de memoria.
• 5.8. Sistemas multicomputadores para HPC,
servicios y almacenamiento de datos (WSC).
• 5.9. Sistemas distribuidos.
SPD. Tema 5. (terc. parte). 2
Redes y topologías de interconexión • Correspondencia entre topología y patrón del algoritmo.
• Redes dinámicas (indirectas)
• Redes estáticas (directas)
Malla Hipercubo Estrella SPD. Tema 5 (terc. parte). 3
Tiempo de comunicación: mensajes
• Tiempo de comunicación («cut-through»: mensaje troceado y envío encadenado):
tmens = ts+ttransfer. = ts+ (L*tlatencia+ T / ABtransmision ) • ts: tiempo de preparación del mensaje en emisor
(>> que tr en receptor)
• L = distancia entre nodos
• tlatencia = latencia para el primer bit • T = tamaño en bytes
• Intentar ocultar el tiempo de comunicación (en paralelo con el de computación) – Ejemplo: usar mensajes no bloqueantes
– Ejemplo : Empaquetar varios datos en un solo mensaje
SPD. Tema 5 (terc. parte). 4
5.8 Sistema multicomputador: Historia
– Años 1960, 70, 80: grandes “supercomutadores”
• Centros científicos
• Centros administrativos (bancos, Hacienda, etc)
– Modelos variados:
• Proc. Vectoriales clásicos
• UMA, NUMA, MPM
– Años 90: clusters (de computación)
– Años 2000: Sist. Distribuidos + virtualización +
herramientas de gestión
www.top500.org
• Rendimiento: tiempo solución sist. ecuaciones lineales
SPD. Tema 5 (terc. parte). 5
www.top500.org (I)
• Constellations
– Un cluster que usa
SMP (UMA) como
bloque básico
• Clusters
• MPP
– “Massive Parallel
Processors”
– diseño específico
SPD. Tema 5 (terc. parte). 6
MPP
Clusters
Constellations
www.top500.org (II)
SPD. Tema 5 (terc. parte). 7
En el socket conviene
MultiThreads o Multi-
tasks?
Ejemplo: IBM Blue Gene/L (2005)
SPD. Tema 5 (terc. parte). 8
Herramientas sw: Capa middleware Se extiende sobre múltiples máquinas
Cómo se identifican y se asignan los componentes del sistema
Cómo interactúan los componentes
La cantidad y granularidad de la comunicación que se necesita
Los protocolos usados para la comunicación
SPD. Tema 5 (terc. parte). 9
Aplicaciones de los multicomputadores • (Clusters) de Alto rendimiento (Performance) (HPC)
– Utilizado en aplicaciones que realizan cálculos intensivos: Simulaciones científicas, modelos meteorológicos, renderización de gráficos, etc.
– Pretenden sustituir a los grandes y costosos supercomputadores (MPP).
• (Clusters) de alta disponibilidad (HAC)
– Intenta mantener en todo momento la prestación del servicio.
– Bases de datos, sistemas de ficheros, servidores de correo y
servidores Web.
– Interesa: Fiabilidad: (MTTF, Mean Time To Failure),
Disponibilidad, Facilidad de Mantenimiento
• (Clusters) de balanceo de carga (LBC) o alta productividad (Throughput) (HTC)
– Servidores DNS, buscadores Web, etc.
– Gran número de tareas independientes
SPD. Tema 5 (terc. parte). 10
Modelos de multicomputadores
– Términos ambiguos, confusos
• Mucho por recorrer. Hoy 3 modelos aprox.
– Según de menos a más centralizado:
• Clusters:
– Suena a más científico
• Grid:
– IDEA: aprovechar los tiempos no usados. Ejecutar
procesos de forma totalmente transparente en máquinas
remotas que se encuentran inactivas (estaciones de
trabajo desperdicia cerca del 80% de ciclos totales de
CPU)
• Cloud Computing
– software como servicio p ej horas de CPU (virtualización)
SPD. Tema 5 (terc. parte). 11
Clusters (I)
– Arquitectura distribuida de un
– conjunto de computadores independientes
– interconectados
– que funcionan como un único sistema
• (single system image)
SPD. Tema 5 (terc. parte). 12
Clusters (II)
• Primeros clusters de PCs (commodity):
– Beowulf (1994, NASA): Linux, Sistema de
ficheros compartido, MPI, red 10 Mbps
• Hoy: racks o blade solutions
• Al principio nodo frontend simple
• Hoy frontend + middleware:
– Sistemas de gestión de colas (Ej: PBS).
– Tolerancia a fallos y backups
– Single system image, etc.
– Cualquier tipo: HPC, LBC, HTC, HAC…
SPD. Tema 5 (terc. parte). 13
Grids • Aplicaciones repetitivas
• Servicios • Gestión de procesos remotos
• Acceso al almacenamiento
• Descubrimiento en registro de información
• Seguridad
• Apoyo para dar calidad de servicio (QoS) como
reserva y adquisición de recursos
• Ej: BOINC (Berkeley Open Infrastructure for Network
Computing): Proyecto Seti@Home
• Ej: Proyecto Globus: código abierto para construir
infraestructuras grid
– Gestión de Recursos, de Datos y de Servicios de Información, de
red, de planificación de cluster (gestión de tareas, de colas)
SPD. Tema 5 (terc. parte). 14
Cloud computing (I)
• “Pool” compartido de recursos configurables (redes,
almacenamiento, aplicaciones y servicios) que pueden
ser rápidamente provisionados y liberados con un
esfuerzo mínimo del proveedor de servicios.
• Ventajas para el usuario
– Reducción de costes del equipamiento informático
– Reducción en los costes de mantenimiento
– Reducción en los costes de licencias de software
– Actualizaciones del software y administración
garantizadas por el servicio
– Mayor fiabilidad
– Acceso ubicuo
SPD. Tema 5 (terc. parte). 15
Cloud computing (II)
• Empresas con exceso de capacidad de cómputo
pueden de forma rentable dejar usar sus sistemas a
distintos clientes
SPD. Tema 5 (terc. parte). 16
Tres servicios:
-Almacenamiento
-Aplicaciones
-Computación
• Futuro: intercambio
de recursos (horas
de CPU,
almacenamiento,…)
Cloud computing (III)
• Máquinas virtuales
• Hypervisor: Dos tipos:
• Los que ejecutan directamente sobre el HW
– XenServer, XenClient, KVM
• Los que ejecutan sobre un SO
– Virtual Server, Vmware, Virtual BOX, Virtual PC
SPD. Tema 5 (terc. parte). 17
Cloud computing (IV)
• Niveles de contrato (acceso) para el
usuario – Sólo almacén de datos (útil como backup)
– Sólo usa aplicaciones
– Crea herramientas y librerías (Con apoyo del
servicio)
– Tiene acceso total a máquinas (virtuales)
SPD. Tema 5 (terc. parte). 18
Cloud computing (V)
• Nuevos paradigmas de programación paralela:
– No genérico (sólo vale para grandes conjuntos de
datos)
– Más móvil (middleware trasparentemente distribuye y
flexibiliza las ejecuciones)
• Ej: MapReduce (Google, Apache Hadoop, etc):
– Map()
• El maestro clasifica, subdivide y reparte datos
– Puede existir jerarquía de Maps()
• Los esclavos devuelven su respuesta
– Reduce()
• El maestro recolecta respuestas y las combina
SPD. Tema 5 (terc. parte). 19
EJ: Amazon EC2 (Elastic Compute Cloud)
• factura por el uso de:
– Instancias de máquinas virtuales desplegadas:
• Distintos tipos de instancias: pequeña, grande,
extra-grande, etc..
– Transferencia de Datos:
• Tarifa por los datos transferidos a/desde EC2.
– Almacenamiento:
• Tarifa por las peticiones sobre los ficheros (GET,
PUT, LIST, etc.).
– Servicios adicionales:
• Almacenamiento, monitorización, direcciones IP,
reparto de carga, etc
SPD. Tema 5 (terc. parte). 20
Sistemas distribuidos
Desde punto de vista de estructura:
– Arquitecturas centralizadas
• Cliente-Servidor
– Arquitecturas descentralizadas
• Distribución horizontal
• Un cliente o un servidor puede estar físicamente
dividido; los nodos actúan como clientes y
servidores al mismo tiempo
• Sistemas peer-to-peer (P2P)
Desde punto de vista de la lógica de cooperación:
– Paradigma de publicación-suscripción
– Código Móvil SPD. Tema 5 (terc. parte). 21
Ejemplos de Sistemas Distribuidos
SPD. Tema 5 (terc. parte). 22
Finance and commerce eCommerce e.g. Amazon and eBay, PayPal,
online banking and trading
The information society Web information and search engines, ebooks,
Wikipedia; social networking: Facebook and MySpace.
Creative industries and
entertainment
online gaming, music and film in the home,
user-generated content, e.g. YouTube, Flickr
Healthcare health informatics, on online patient records,
monitoring patients
Education e-learning, virtual learning environments;
distance learning
Transport and logistics GPS in route finding systems, map services:
Google Maps, Google Earth
Science The Grid as an enabling technology for
collaboration between scientists
Environmental management sensor technology to monitor earthquakes,
floods or tsunamis
Arquitecturas centralizadas
• Los servidores mantienen bases de datos
replicadas o distribuidas
SPD. Tema 5 (terc. parte). 23
Server
Server
Server
Service
Client
Client
Arquitecturas descentralizadas (I)
• Inicio del fenómeno P2P Napster finales 90s
– Aparece contra la filosofía cliente-servidor que
dominaba internet en la época (web)
– Los usuarios ponían canciones al servicio de una
comunidad
SPD. Tema 5 (terc. parte). 24
Arquitecturas descentralizadas (II)
• Políticas de consulta no estructuradas:
– mecanismos de inundación: • Simples, pero sobrecargan la red y tienen
problemas de escalabilidad
– Caminos aleatorios (random walks) • Realizamos la búsqueda usando un número de
vecinos determinados y aleatorios: más escalable
– Caminos aleatorios adaptativos. • Según TTL (time to live)
• Políticas de consulta estructuradas: • Se usan tablas hash distribuidas (DHT)
• Varios algoritmos de reparto de claves (incluso
con Super-peers ) SPD. Tema 5 (terc. parte). 25
Lógica de cooperación – Paradigma de publicación-suscripción
– Código Móvil: ej. simple: Applets con fragmentos de
código. En general C: Componente de código, R: Recurso
SPD. Tema 5 (terc. parte). 26