Actualizado el 17 de Febrero del 2019 (Publicado el 23 de Enero del 2019)
1.591 visualizaciones desde el 23 de Enero del 2019
106,6 KB
9 paginas
Creado hace 13a (06/02/2012)
Sistemas Distribuidos
Sistemas Distribuidos
Introducción
Introducción
Contenido del tema
• Definición de sistema distribuido.
• Ventajas y desventajas de los sistemas distribuidos.
• Modelos de computación distribuida.
• Objetivos de un sistema distribuido.
• Arquitectura software de los sistemas distribuidos.
– Sistemas operativos distribuidos versus Middlewares.
• Componentes de un sistema distribuido.
Sistemas Distribuidos
1
María S. Pérez
Fernando Pérez
José María Peña
Sistema distribuido (SD)
Ventajas de los Sistemas Distribuidos
• Conjunto de procesadores conectados por una red:
– Sin memoria compartida
• Sistema débilmente acoplado
– No existe un reloj común
– Dispositivos de E/S asociados a cada procesador
– Fallos independientes de componentes del SD
– Carácter heterogéneo
• Objetivo de la asignatura: Software de sistema del SD
– Sistemas Operativos Distribuidos
– Interfaz software que oculta la complejidad hardware de un SD
• Idealmente, visión de sistema único (Single System Image)
• Término afín: Computación distribuida
– Ejecución de una aplicación en un SD
• Economía: Buena relación rendimiento/coste
– Avances en tecnología de microprocesadores y redes de área local.
• Alto rendimiento: Procesamiento paralelo.
• Soporte de aplicaciones inherentemente distribuidas.
– Por ejemplo: empresa distribuida geográficamente
• Capacidad de crecimiento: Escalabilidad.
• Fiabilidad y disponibilidad: Tolerancia a fallos.
• Carácter abierto y heterogéneo:
– Estándares de interoperabilidad.
• Compartir recursos y datos.
Sistemas Distribuidos
2
María S. Pérez
Fernando Pérez
José María Peña
Sistemas Distribuidos
3
María S. Pérez
Fernando Pérez
José María Peña
1 - Introducción
1
Sistemas Distribuidos
Desventajas de los Sistemas Distribuidos
Fallacies of Distributed Computing
• Necesidad de un nuevo tipo de software:
– Más complejo.
– No hay todavía un acuerdo sobre cómo debe ser.
• Red de interconexión introduce nuevos problemas:
– Pérdida de mensajes y saturación.
– Latencia puede provocar que al recibir un dato ya esté obsoleto.
– La red es un elemento crítico.
• Seguridad y confidencialidad
• Definición alternativa de SD:
– “Un sistema distribuido es aquél en el que no puedes trabajar con tu
máquina por el fallo de otra máquina que ni siquiera sabías que
existía” (Lamport)
• The network is reliable.
• Latency is zero.
• Bandwidth is infinite.
• The network is secure.
• Topology doesn't change.
• There is one administrator.
• Transport cost is zero.
• The network is homogeneous.
• 7 primeras propuestas en 1994 por Peter Deusch (Sun)
– Octava por James Gosling (Java/Sun) en 1996
Sistemas Distribuidos
4
María S. Pérez
Fernando Pérez
José María Peña
Sistemas Distribuidos
5
María S. Pérez
Fernando Pérez
José María Peña
Aplicaciones de los Sistemas Distribuidos
• Entornos empresariales: redes corporativas e intranets:
– Sustituye a los clásicos mainframes.
– “Sistema de información distribuido”
• Entornos de computación de altas prestaciones:
– Procesamiento paralelo, alternativa a costosos supercomputadores.
– “Sistema de computación distribuido”
• Servicios con alta disponibilidad y rendimiento.
• Sistemas distribuidos de gestión de bases de datos
• Aplicaciones multimedia.
• Sistemas industriales distribuidos y aplicaciones de control.
•
• Ubicuos: automóviles, electrodomésticos, edificios, ...
Internet: un enorme sistema distribuido.
Modelos de computación distribuida
• Cluster Computing
• Utility Computing
• Grid Computing
• Volunteer Computing
• Cloud Computing
• Autonomic Computing
• Mobile (Nomadic) Computing
• Ubiquitous (Pervasive) Computing
Definiciones no excluyentes y, en algunos casos, sin acuerdo general
Sistemas Distribuidos
6
María S. Pérez
Fernando Pérez
José María Peña
Sistemas Distribuidos
7
María S. Pérez
Fernando Pérez
José María Peña
1 - Introducción
2
Sistemas Distribuidos
Cluster Computing
Utility Computing
Sistemas Distribuidos
8
María S. Pérez
Fernando Pérez
José María Peña
Sistemas Distribuidos
9
María S. Pérez
Fernando Pérez
José María Peña
Grid Computing
Volunteer Computing
• SD dedicado a ejecutar una aplicación buscando
– Altas prestaciones y/o alta disponibilidad.
– Puede servir varias aplicaciones mediante partición
• Alternativa a supercomputadores con mejor calidad/precio
• Características usuales:
– Más fuertemente acoplado que SD general
– Poca dispersión geográfica
– Redes de alta velocidad
– Sistema homogéneos
– Carácter estático
– Uso habitual de componentes hardware estándar
• Aunque puede usar sistemas heterogéneos y virtualización
• Aspectos software más relevantes:
– Entorno para desarrollo de aplicaciones paralelas
– Planificación de trabajos
• Acuñado por Foster inspirado en power grid
• Extensión de cluster computing a mayor escala:
– Máquinas con mayor dispersión geográfica
– Menor grado de acoplamiento
– Pueden extenderse a varios dominios de administración
– Grid = “Cluster virtual” sobre máquinas de varias organizaciones
• Desde interdepartamentales hasta intercorporativos
• Recursos no dedicados
• Grid convive con SD de cada organización
– Sistemas heterogéneos (virtualización)
– Sistemas dinámicos
• Aspectos software relevantes:
– Coordinar recursos de varias organizaciones sin un control central
– Uso de estándares y sistemas abiertos
– Seguridad
•
•
•
•
•
•
•
•
Computación como otra empresa de servicio público
–
– Demanda dinámica basada en necesidades puntuales
“Alquiler” de recursos computacionales externos
• On-demand Computing
Define un modelo de trabajo más que una plataforma
– Aunque la solución natural es algún tipo de SD
•
Sistemas de computación grid o cloud
No es una idea nueva: John McCarthy (1961)
–
“Computing may someday be organized as a public utility just as the
telephone system is a public utility.”
Uso habitual de virtualización
Problema de la tarificación
SD formado por recursos donados por usuarios a proyectos
– Normalmente, ciclos de procesador y espacio de almacenamiento
– Carácter altruista (Folding@home, SETI@home)
Similar a computación grid
– Dinámico, recursos no dedicados, dispersión geográfica, ...
Pero con diferencias:
Implica individuos, no organizaciones
–
– Asimetría de roles: usuario-proyecto
Simetría del grid: organización-organización
– Mayores problema de seguridad
Usuarios anónimos
•
•
Sistemas Distribuidos
10
María S. Pérez
Fernando Pérez
José María Peña
Sistemas Distribuidos
11
María S. Pérez
Fernando Pérez
José María Peña
1 - Introducción
3
Sistemas Distribuidos
Cloud Computing
Autonomic Computing
• Recursos HW y/o SW ofrecidos como servicio (¿de pago?)
– Recursos virtualizados y dinámicamente escalables
– Siguiente etapa en la evolución grid-utility basada en Internet
• Cloud metáfora frecuente de Internet
• Modelos de uso:
• Oferta dinámica de recursos HW virtuales según necesite cliente
– Infrastructure as a Service (ej Amazon Elastic Compute Clouds, EC2)
– Platform as a Service (ej. Google App Engine)
– Software as a Service (ej. Google Apps)
• Además plataforma SW de desarrollo
• Además aplicaciones de interés
• ¿Futura convergencia cloud y grid?
• Debate sobre aspectos sociales
– ¿Un paso más hacia la globalización? ¿Mayor pérdida de privacidad?
• Sistemas cada vez más complejos: necesidad de autogestión
– Iniciativa de IBM aplicable especialmente a SD
• Inspirado por sistema nervioso autónomo
• 4 áreas funcionales:
– Auto-configuración
– Auto-reparación
– Auto-optimización
– Auto-protección
• 5 niveles evolutivos de implantación:
– Desde gestión manual de componentes aislados
– Hasta gestión automatizada del sistema en su integridad
• Uso de bucle de control cerrado (con realimentación)
Sistemas Distribuidos
12
María S. Pérez
Fernando Pérez
José María Peña
Sistemas Distribuidos
13
María S. Pérez
Fernando Pérez
José María Peña
Mobile Computing
Ubiquitous Computing
• SD incluye dispositivos portátiles con acceso remoto
– Proliferación de dispositivos portátiles y redes inalámbricas
– Usuario accede a su organización mientras viaja
• Aspectos a considerar
– Limitaciones en los recursos del dispositivo
– Control de consumo de energía del dispositivo
– Ancho de banda variable
– Modo desconectado
• Usuario debe poder trabajar sin conexión
• Al reconectarse, “reconciliación” entre info. en dispositivo y en SD
– Puede ser automática o manual
– Mayores amenazas a la seguridad y privacidad
• Computadores omnipresentes incluidos en todo tipo de objetos
• SD formado por los dispositivos de cómputo en un ámbito
• Aspectos a considerar
– Sistema dinámico: componentes (des)aparecen y se mueven
– Spontaneous Networking
– Localización de dispositivos/usuarios
– Wearable Computing
– Context-aware Computing
• Escenarios de ejemplo
– Imprimir fotos al llegar a un hotel
– Visita guiada a un museo
Sistemas Distribuidos
14
María S. Pérez
Fernando Pérez
José María Peña
Sistemas Distribuidos
15
María S. Pérez
Fernando Pérez
José María Peña
1 - Introducción
4
Sistemas Distribuidos
Objetivos de un Sistema Distribuido
• Transparencia
• Rendimiento
• Capacidad de crecimiento
• Carácter abierto
• Fiabilidad
Transparencia
Existen varios perfiles de transparencia:
– Acceso: Manera de acceder a recurso local igual que a remoto.
– Posición: Se accede a los recursos sin conocer su localización.
– Migración: Recursos pueden migrar sin afectar a los usuarios.
– Concurrencia: Acceso concurrente no afecta a los usuarios.
– Replicación: La existencia de réplicas no afecta a los usuarios.
– Fallos: La ocurrencia de fallos no afecta a los usuarios.
– Crecimiento: El crecimiento del sistema no afecta a los usuarios.
– Heterogeneidad:Carácter heterogéneo no afecta a los usuarios.
• No siempre se puede conseguir
• Ni siempre es buena:
– Diseñadores de Java RMI consideran que la invocación de métodos
remota no debe ser exactamente igual que la local
• “A Note on D
Comentarios de: 1. Introducción - Sistemas Distribuidos (0)
No hay comentarios