230 likes | 543 Views
Agenda. Sistemas distribuidosDefinici?nCaracter?sticasRetosComputaci?n en mallaLo que la computaci?n en malla puede hacerConceptos y componentesConstrucci?n de la mallaLo que la computaci?n en malla no puede hacer. Sistemas distribuidos. Definici?n. Un sistema distribuido es aquel en el
E N D
1. Conceptos básicos de la computación en malla Oscar A. Nieto
Proyecto ABBA-unGrid
2. Agenda Sistemas distribuidos
Definición
Características
Retos
Computación en malla
Lo que la computación en malla puede hacer
Conceptos y componentes
Construcción de la malla
Lo que la computación en malla no puede hacer
3. Sistemas distribuidos
4. Definición
Un sistema distribuido es aquel en el que sus componentes se encuentran en diferentes nodos de una red y coordinan sus acciones únicamente a través del paso de mensajes. Su motivación es la de compartir recursos.
5. Definición Recurso
Susceptible de ser compartido
Servicio
Maneja una colección de recursos relacionados
Presenta su funcionalidad usando interfaces
Usuarios
Aplicaciones
6. Características Concurrencia de componentes
Inherente al hecho de compartir recursos
Ausencia de reloj o tiempo global
Paso del reloj
Latencia de la red
Jitter
Fallas independientes
Difíciles de detectar
Inesperadas
Resultados inesperados
7. Retos Heterogeneidad
SO, Tipos de datos, Redes, Desarrollos
Extensibilidad
Interfaces, comunicación estandarizada
Seguridad
Confidencialidad, integridad, disponibilidad
Escalabilidad
Costo, desempeño
Manejo de fallas
Detección, enmascaramiento, tolerancia, etc.
Concurrencia
Transparencia
Acceso, ubicación, fallas, movilidad, etc.
8. Computación en malla
9. Lo que puede hacer Explotación de recursos subutilizados
Procesamiento en paralelo
Aplicaciones
Acceso a recursos adicionales
Balanceo de recursos
Confiabilidad
Administración
10. Explotación de recursos subutilizados Correr una aplicación en una máquina diferente (aplicación más sencilla)
Aplicación ejecutable remotamente
La máquina debe proporcionar los recursos a la aplicación.
Interacción de la tarea
Trabajo por lotes Vs. Procesador de texto
Demoras y latencia de la red
11. Explotación de recursos subutilizados Recursos
Procesador
Heterogeneidad (Arquitecturas)
Disponibilidad variable
Disco duro (DataGrid)
Replicación (Backups)
Sistema de archivos distribuido
Memoria
Direcciones distribuidas
¿Lenguaje?¿Encapsulación?
Costo
12. Procesamiento en paralelo Aplicación más atractiva
Tareas y subtareas
Algoritmos
Comunicación Vs. Escalabilidad
Barreras
Número limitado de partes
Dependencia de partes (mensajes)
Acceso concurrente a recursos
13. Aplicaciones Tareas
Paralelizables
Parcialmente paralelizables
No paralelizables
Desarrollo
Escritura en paralelo
Lenguaje o entorno de desarrollo
Estándares (¿multilenguajes?)
Transformación
Particionamiento (área en nacimiento)
Soporte multilenguaje
Inmodificables
Encapsulación
14. Acceso a recursos adicionales Recursos de alto costo
Software
Licencias
Software especializado
Hardware
Dispositivos especializados
Administración remota
¿Tarjetas de video?
Administración y reserva de recursos
15. Balanceo de recursos Migración de tareas Hibernación de procesos Direccionamiento de volúmenes de trabajo Clasificación de máquinas Clasificación de tareas Conocimiento de requerimientos Tareas predeterminadas