MASTER EN COMPUTACIÓN
UNIVERSIDAD
DE CANTABRIA
Sistemas Distribuidos de Tiempo Real
Apuntes: TEMA 1
Por:
J. Javier Gutiérrez
[email protected]
http://www.ctr.unican.es/
Grupo de Computadores y Tiempo Real, Universidad de Cantabria
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
1
Sistemas distribuidos de tiempo real
UNIVERSIDAD
DE CANTABRIA
PARTE I: Distribución y tiempo real
• TEMA 1. Conceptos básicos de distribución y tiempo real
• TEMA 2. Comunicaciones de tiempo real
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
2
Sistema distribuido
Conjunto de computadores que se presentan al usuario como un
único sistema coherente (Tanenbaum)
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
3
Transparencia en el sistema
distribuido
• Acceso: esconder diferencias en la representación de los datos
UNIVERSIDAD
DE CANTABRIA
y en el acceso a los recursos
• Localización: esconder dónde están los recursos
• Migración: esconder qué recursos pueden cambiar de sitio
• Relocalización: esconder el hecho de que un recurso se pueda
mover de sitio mientras se está utilizando
• Sincronización y concurrencia: esconder que un recurso puede
ser compartido por varios usuarios (consistencia)
• Replicación de recursos
• Fallo: esconder el fallo y el modo de recuperación
• Persistencia: esconder si un recurso está en memoria o en disco
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
4
Tiempo real y distribución
En un sistema de tiempo real lo importante es que los resultados
(además de ser correctos) se produzcan a tiempo
A muy alto nivel, en la distribución en tiempo real normalmente se
debe prescindir:
• de aspectos dinámicos como la migración y relocalización de
UNIVERSIDAD
DE CANTABRIA
código
• de esconder determinadas cosas como la localización de los
servicios, o la persistencia
Es necesario evaluar temporalmente todo el software (incluido el
de la red) y extraer los modelos para que puedan ser analizados:
• implementación del middleware con pautas más estrictas
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
5
Tiempo real y distribución (cont.)
Otros aspectos de la distribución que son menos relevantes o no
resueltos en tiempo real son:
• El servicio de nombres se puede sustituir por un sistema más
UNIVERSIDAD
DE CANTABRIA
sencillo y normalmente cerrado
• Las réplicas van más dirigidas a la tolerancia a fallos. En tiempo
real se utilizan otros mecanismos más sencillos y predecibles
- control de sobrepaso del tiempo de ejecución
- o simplificación de elementos en sistemas de seguridad crítica
• Aspectos como la seguridad no son tan importantes al tratarse
de sistemas normalmente cerrados
- empiezan a tener una importancia creciente
• Sistemas de ficheros distribuidos
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
6
Tiempo real y distribución (cont.)
Los aspectos importantes para tiempo real siguen siendo:
• modelo de concurrencia (software y hardware) y las políticas de
UNIVERSIDAD
DE CANTABRIA
planificación
• la sincronización que ahora se hace más compleja si se accede
a recursos compartidos remotos
Aparecen nuevos aspectos:
• sincronización de relojes cuando sea necesario
• uso de redes de comunicaciones predecibles
• conceptos relativos a la calidad de servicio que cada vez se
mezclan más con los de tiempo real
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
Conceptos del software de distribución
Sistema operativo distribuido:
• normalmente para sistemas fuertemente acoplados con
procesadores homogéneos
7
UNIVERSIDAD
DE CANTABRIA
• esconde y maneja el hardware
Sistema operativo de red:
• sistemas débilmente acoplados con procesadores
heterogéneos conectados por LAN o WAN
• ofrece servicios locales a clientes remotos
Middleware de distribución:
• proporciona el servicio de distribución de forma transparente
sobre sistema operativo local
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
8
Modelos de distribución
Cliente-Servidor:
• modelo tradicional con servicios remotos
Modelo transaccional:
• transacciones formadas por actividades y eventos que cruzan
UNIVERSIDAD
DE CANTABRIA
por diferentes procesadores y redes
Servicios Web:
• oferta de servicios a través de web
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
9
Modelo cliente-servidor
UNIVERSIDAD
DE CANTABRIA
CPU1
Cliente 1
CPU2
Servidor 2
Red
CPU4
Servidor 1
CPU3
Cliente 2
10
UNIVERSIDAD
DE CANTABRIA
11
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
Modelo transaccional
Transaction
Activity
Activity
Multicast
External
Event
Internal
Event
Event
Handler
Event
Handler
Event
Handler
Transaction
Timing
Requirement
...
Event
Handlers
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
Modelo transaccional (cont.)
Combinaciones de eventos en el modelo transaccional
Activity / Rate Divisor / Delay / Offset
Concentrator (Merge)
... +
Barrier (Join)
...
.
Delivery Server (Branch)
...+
Multicast (Fork)
...
.
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
12
Servicios Web
Ejemplo de servicio web de distribución horizontal (Tanenbaum):
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
13
UNIVERSIDAD
DE CANTABRIA
Mecanismos de distribución
Paso de mensajes:
• usa las comunicaciones tradicionales
RPC (Remote Procedure Call):
• procedimientos que se ofrecen como servicios remotos
Distribución de objetos:
• objetos que se pueden utilizar de forma remota
Distribución de componentes:
• aún en desarrollo, extiende el concepto de componente
(elemento enchufable de forma transparente) a la distribución
Mecanismo Publicación/Suscripción
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
Paso de mensajes
Modelo de comunicaciones OSI (Tanenbaum):
14
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
15
Paso de mensajes (cont.)
Modificación del modelo OSI para añadir un protocolo middleware
(Tanenbaum)
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
16
UNIVERSIDAD
DE CANTABRIA
Paso de mensajes (cont.)
Las primitivas de paso de mensajes podrían operar sobre colas de
mensajes con operaciones como:
• Enviar con y sin espera
• Recibir con y sin espera
• Notificar
En tiempo real para sistemas planificados por prioridades fijas se
pueden utilizar colas de prioridad
En cualquier caso la implementación debe ser cuidadosa de no
utilizar mecanismos no predecibles (fuentes de inversión de
prioridad no limitada)
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
Transacciones, Ada y paso de
mensajes
Modelo de acción periódica y de interrupción:
17
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
18
Transacciones, Ada y paso de
mensajes (cont.)
Patrones de eventos a la entrada:
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
Transacciones, Ada y paso de
mensajes (cont.)
Patrones de eventos a la salida:
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
RPC
Esquema temporal de llamada a procedimiento remoto
(Tanenbaum):
UNIVERSIDAD
DE CANTABRIA
19
UNIVERSIDAD
DE CANTABRIA
20
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
21
RPC (cont.)
Pasos en la llamada a un procedimiento remoto:
1. El cliente llama al stub del cliente
2. El stub del cliente construye el mensaje (marshalling)
3. Se envía el mensaje por la red
4. Se recibe el mensaje y se envía al stub de servidor
5. El stub de servidor desempaqueta los parámetros y llama al servi-
UNIVERSIDAD
DE CANTABRIA
dor (unmarshalling)
6. El servidor realiza el trabajo y devuelve el resultado al stub
7. El stub de servidor construye el mensaje de vuelta
8. Se envía el mensaje de vuelta al cliente
9. Se recibe el mensaje y se pasa al stub del cliente
10.El stub del cliente desempaqueta el resultado y se lo pasa al clien-
te
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
22
RPC asíncrono
El cliente no espera el retorno de la llamada al APC (Asynchronous
Procedure Call, figura b Tanenbaum)
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
Servidor de nombres
Ejemplo de localización de servicio (Tanenbaum):
23
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
24
Distribución de objetos
Servicio sobre objeto remoto (Tanenbaum):
UNIVERSIDAD
DE CANTABRIA
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
4/abr/13
25
Publicación/Suscripción
En expansión a partir del DDS (Data Distribution Service) de la
OMG:
• define un middleware que implementa un modelo de
comunicaciones basado en el paradigma publicación-
suscripción
UNIVERSIDAD
DE CANTABRIA
• permite a un proceso en un entorno distribuido compartir datos
independientemente de la localización física o la arquitectura
del resto de procesos
• se puede ver como una variante avanzada del modelo cliente-
servidor
GRUPO DE COMPUTADORES Y TIEMPO REAL
FACULTAD DE CIENCIAS
© J. Javier Gutiérrez
Comentarios de: MASTER EN COMPUTACIÓN - Sistemas Distribuidos de Tiempo Real - TEMA 1 (0)
No hay comentarios