Publicado el 17 de Febrero del 2019
733 visualizaciones desde el 17 de Febrero del 2019
145,2 KB
33 paginas
Creado hace 13a (06/02/2012)
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)
• 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
Sistemas Distribuidos
2
María S. Pérez
Fernando Pérez
José María Peña
Ventajas de los Sistemas Distribuidos
• 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
3
María S. Pérez
Fernando Pérez
José María Peña
Desventajas de los Sistemas Distribuidos
• 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)
Sistemas Distribuidos
4
María S. Pérez
Fernando Pérez
José María Peña
Fallacies of Distributed Computing
• 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
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.
Sistemas Distribuidos
6
María S. Pérez
Fernando Pérez
José María Peña
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
7
María S. Pérez
Fernando Pérez
José María Peña
Cluster 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
Sistemas Distribuidos
8
María S. Pérez
Fernando Pérez
José María Peña
Utility Computing
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
Sistemas Distribuidos
9
María S. Pérez
Fernando Pérez
José María Peña
Grid Computing
• 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
Sistemas Distribuidos
10
María S. Pérez
Fernando Pérez
José María Peña
Volunteer Computing
•
•
•
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
11
María S. Pérez
Fernando Pérez
José María Peña
Cloud 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 Distribuidos
12
María S. Pérez
Fernando Pérez
José María Peña
Autonomic Computing
• 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
13
María S. Pérez
Fernando Pérez
José María Peña
Mobile 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
Sistemas Distribuidos
14
María S. Pérez
Fernando Pérez
José María Peña
Ubiquitous Computing
• 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
15
María S. Pérez
Fernando Pérez
José María Peña
Objetivos de un Sistema Distribuido
• Transparencia
• Rendimiento
• Capacidad de crecimiento
• Carácter abierto
• Fiabilidad
Sistemas Distribuidos
16
María S. Pérez
Fernando Pérez
José María Peña
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 Distributed Computing”, Jim Waldo, 1994
Sistemas Distribuidos
17
María S. Pérez
Fernando Pérez
José María Peña
Comentarios de: 1 Introducción - Sistemas Distribuidos (0)
No hay comentarios