Está en la página 1de 27

1

Universidad del Cauca


Corporacin
Universitaria Autnoma de Occidente
Especializacin en Telemtica
Sistemas
Distribuidos de
Tiempo Real
Sistemas de Tiempo Real
Dr. Ing. lvaro Rendn Galln
Cali, agosto de 2003
UdelC - Telemtica
2
Temario
s Aspectos generales
s Comunicaciones
s Planificacin
2
UdelC - Telemtica
3
Aspectos generales
s Casi todos los sistemas reales contienen ms de un
procesador

s Dependiendo del costo de las comunicaciones:
Sistema Centralizado o Multiprocesador
Sistema Distribuido
Un PC tiene al menos 2: la CPU y la unidad de disco
Nodo A
Nodo D
Nodo B
Nodo E
Nodo C
Nodo F
Sistema de Comunicaciones de Tiempo Real
UdelC - Telemtica
4
Sistema Multiprocesador
s Fuertemente acoplado (tightly coupled)
Procesador
de Campo
Procesador
de Campo
Procesador
de Campo
Procesador
de Campo
Procesador
de Control
Memoria Compartida
A sensores
...
3
UdelC - Telemtica
5
Sistema Multiprocesador
s Los procesadores est localizados en un punto nico
del sistema
s El costo de la comunicacin es despreciable en
relacin al tiempo de ejecucin
s El estado global y la informacin de la carga en todos
los procesadores se mantiene actualizada sin costo
s El sistema puede usar un despachador/planificador
centralizado
s Cuando cada procesador usa su propio planificador,
las decisiones y acciones de cada uno son coherentes
UdelC - Telemtica
6
Sistema Distribuido
s Dbilmente acoplado (loosely coupled)
s Estn compuestos por subsistemas autnomos que
cooperan para lograr un propsito comn
Procesador
de Campo
Procesador
de Campo
Procesador
de Campo
Procesador
de Campo
Procesador
de Control
Bus CAN
(Controller Area Network)
4
UdelC - Telemtica
7
Sistema Distribuido
s Los procesadores estn localizados en diferentes
puntos del sistema
s El costo de la comunicacin es significativo en
relacin al tiempo de ejecucin
s Es costoso (o impracticable) mantener actualizado el
estado global y la informacin de la carga en todos
los procesadores
s Los planificadores en los diferentes procesadores
pueden tomar decisiones de manera independiente
s Esas decisiones pueden ser incoherentes
UdelC - Telemtica
8
Sistema Distribuido
s Por qu distribuir?
Requisitos de procesamiento
Distribucin fsica del sistema
Fiabilidad: tolerancia a fallos
s Ejemplos
Manufactura integrada
Robtica
Avinica
Se suelen estructurar jerrquicamente para tratar con:
Plazos de respuesta en diversas escalas
Tipo de informacin
Requisitos del procesador
Sistemas multimedia
SCADA
Automviles
5
UdelC - Telemtica
9
Sistemas de fabricacin
s Sistema integrado de fabricacin:
Automatizacin, Integracin y Flexibilidad
s Modelo simplificado de un sistema integrado de fabricacin
Centro de Proceso de Datos
Control de Planta
Control de Celda
Control de rea
Control de Celda
PLCs Robots Robots PLCs
Procesamiento de informacin
Control de planta
Control de mquina
Control de celda
Control de rea
Alejandro Alonso Muoz
UdelC - Telemtica
10
Problemas especficos
s Asignacin de tareas a procesadores
s Plazos de respuesta globales (end-to-end)
s Planificacin del medio de comunicacin
s Sincronizacin de relojes
s Tolerancia a fallos
Alejandro Alonso Muoz
6
UdelC - Telemtica
11
Asignacin de tareas
s Determina en qu procesador se ejecuta cada tarea
s Puede ser esttica o dinmica
s Una distribucin no adecuada puede infrautilizar
recursos e impedir el cumplimiento de plazos
s Criterios de asignacin:
Los procesadores tienen recursos limitados. Reparto de
carga
Replicacin de tareas
Requisitos de utilizacin de recursos especficos (incluido el
tipo de procesador)
Distribucin geogrfica
Alejandro Alonso Muoz
UdelC - Telemtica
12
Plazos de respuesta globales
s En SDTR: plazo de respuesta asociado a una transaccin
s Transaccin: conjunto de actividades relacionadas que se
sincronizan/comunican mediante mensajes
s Ejemplo de plazo global:
Entorno
Proc. SAD
PSD
PSD: Procesador de Seales Digitales
SAD: Sistema de Adquisicin de datos
Bus
SAD
Bus
PSD
Bus
Proc.
Plazo global
7
UdelC - Telemtica
13
Medio de comunicacin
s En sistemas monoprocesador, el procesador suele
ser el nico recurso a planificar
s En SDTR, hay que planificar el medio de
comunicacin
s Los mensajes suelen tener un plazo desde que se
solicita su envo hasta que se reciben
s Para garantizar estos plazos y acotar el tiempo de
envo: protocolos de comunicacin deterministas
s En muchos casos la arquitectura de niveles OSI
introduce demasiada sobrecarga
Alejandro Alonso Muoz
UdelC - Telemtica
14
Tiempo de respuesta de un mensaje
Fuente
Bus
Destino
G Q T E
r
m
E: Entrega. Tiempo que
tarda el procesa-
miento del mensaje
en el destino, antes
de notificar a la tarea
de destino
G: Generacin. Tiempo
que tarda la
aplicacin en generar
el mensaje y ponerlo
en la cola
Q: En CoIa. Tiempo que permanece el
mensaje en la cola de envo, antes de
ser entregado al medio
Competencia con otros mensajes del
mismo procesador
Competencia con mensajes de otros
procesadores
T: Transmisin.
Tiempo que el
mensaje tarda en el
medio
8
UdelC - Telemtica
15
Sincronizacin de relojes
s Granularidad del tiempo: suficiente para la aplicacin
s Los procesadores deben tener la misma visin del
tiempo
s Los relojes presentan variaciones que obligan a
sincronizarlos
s La diferencia entre los valores locales del tiempo de
observacin del mismo evento en diferentes
procesadores debe estar acotada
s La sincronizacin de los relojes no debe
degradar el rendimiento del sistema
Alejandro Alonso Muoz
UdelC - Telemtica
16
Tolerancia a fallos
s El sistema produce resultados correctos, an en
presencia de fallos hardware y/o software
s En SDTR las actividades se completan en el plazo
adecuado
s Las tcnicas de tolerancia a fallos para sistemas de
tiempo real estn muy poco maduras
s Se deben considerar fallos en procesadores y en los
medios de comunicacin
Alejandro Alonso Muoz
9
UdelC - Telemtica
17
Temario
s Aspectos generales
s Comunicaciones
s Planificacin
UdelC - Telemtica
18
Comunicaciones en sistemas
distribuidos de tiempo real
s Los SDTR requieren protocolos de comunicacin que
soporten un comportamiento determinstico
s Los protocolos deben producir a los mensajes
retardos de comunicacin acotados
s Retardo de comunicacin de un mensaje: Intervalo entre
Una tarea solicita la transmisin del mensaje
El mensaje es entregado con xito a su destino
s Hay que considerar las siguientes
actividades:
Generacin
Espera en cola
Transmisin
Entrega
Bus
r
m
10
UdelC - Telemtica
19
Modelo de comunicaciones de
tiempo real
aplicacio-
nes
capa de
transporte
interfaz
de red
red de comunicaciones
1RGRL 1RGRN
MPT
MCAR
MPT
MCAR
MPT: Manejador
del Protocolo de
Transporte
MCAR: Manejador
del Control de
Acceso a la Red
... ...
UdelC - Telemtica
20
Arquitectura de comunicaciones de
tiempo real
Pasarela
Nodo Nodo
Pasarela
Pasarela
Bus de Tiempo Real
Red Troncal a
otros sistemas
Buses de Campo
con Sensores y
Actuadores
11
UdelC - Telemtica
21
Arquitectura de comunicaciones de
tiempo real
s Bus de Campo
Conecta un nodo del sistema distribuido a los
sensores y actuadores
Mensajes con campo de datos corto
Transmisin peridica con requisitos temporales
s Red de Tiempo Real
Es el corazn del SDTR
Transmisin confiable y predecible en el tiempo
Tolerante a fallos
s Red Troncal
Intercambio de informacin sin restricciones
temporales (programas e informes de produccin)
UdelC - Telemtica
22
Protocolos de acceso al medio
s Establecen a cul nodo se le permite acceder al
medio (nico) de comunicacin en un instante dado
s Determinan muchas propiedades de la arquitectura
de un sistema distribuido de tiempo real
s Admiten diversos esquemas de planificacin de uso
del medio
s Se tratarn los siguientes:
CSMA/CD: Ethernet (IEEE 802.3)
CSMA/CA: Bus CAN (ISO 11898)
Token Bus: IEEE 802.4
Token Ring: IEEE 802.5
TDMA
12
UdelC - Telemtica
23
CSMA/CD
s CSMA/CD (Carrier Sense Multiple Access with
Collision Detection): Protocolo de Acceso Mltiple
Sensible a Portadora, con Deteccin de Colisin
s Ethernet: Protocolo tipo CSMA/CD
Cuando una estacin desea transmitir, escucha la portadora
para saber si el medio est libre. Si est ocupado, espera
hasta que se libere
Cuando el medio est libre, la estacin empieza a transmitir
Si detecta una colisin (otra estacin transmitiendo), se
detiene, espera un tiempo aleatorio, y empieza desde el
principio
s No determinista. Propio para
aplicaciones de oficina
UdelC - Telemtica
24
CSMA/CA: CAN
s CSMA/CA (Carrier Sense Multiple Access with Collision
Avoidance): Protocolo de Acceso Mltiple Sensible a
Portadora, con Prevencin de Colisin
s CAN (Controller Area Network): Protocolo ISO, del tipo
CSMA/CA, para aplicaciones de TR en automviles
s Los mensajes contienen un campo de arbitramiento
que acta tambin como identificador
s Los bits del campo de arbitramiento determinan cul
estacin puede transmitir
s Redes muy pequeas
(50-100 metros), a 1 Mbps
101x 1001..
13
UdelC - Telemtica
25
CSMA/CA: CAN
s Los mensajes transportan datos de 1-8 bytes:
comunicaciones con sensores y actuadores
s Una estacin recibe los mensajes con determinado
identificador (no hay direcciones de fuente ni destino)
s La prioridad del mensaje est determinada por el
identificador: 2048 niveles de prioridad
s Se utilizan esquemas de planificacin basados en
prioridades fijas
UdelC - Telemtica
26
Token Bus
s Protocolo propuesto para acotar el tiempo de envo de
las tramas
s Las estaciones se conectan a un medio comn pero
forman un anillo lgico
13 11 7
17 14 20
19
Direccin de
movimiento del testigo
Anillo lgico
Cable coaxial
de banda ancha
Esta estacin
no est incluida
en el anillo lgico
14
UdelC - Telemtica
27
Token Bus
s Una trama de control, llamada testigo, es pasada de
una estacin a otra
s Slo transmite la estacin que posee el testigo
s Cada estacin tiene un cierto tiempo para enviar sus
tramas
s Una estacin recibe los mensajes dirigidos a ella (los
mensajes llevan direcciones de fuente y destino)
UdelC - Telemtica
28
Token Bus
s Hay 4 prioridades para las tramas: 0, 2, 4 y 6 (max.)
s Se puede garantizar un ancho de banda para las
tramas de prioridad mxima
s Se utiliza un protocolo de planificacin de testigo
temporizado (Timed-Token MAC Protocol)
s Los mensajes son divididos en Sncronos (peridicos,
con plazos) y Asncronos (aperidicos)
s Cada estacin separa un ancho de banda para el
envo de los mensajes sncronos y transmite los
asncronos en el tiempo disponible
s Este protocolo tambin puede usarse en redes FDDI,
que utilizan un esquema similar de paso de testigo
15
UdelC - Telemtica
29
Token Ring
s Es un conjunto de conexiones punto a punto que
forman un anillo unidireccional
Anillo
unidireccional
Interfaz con
el anillo
Estaciones
UdelC - Telemtica
30
Token Ring
s Cuando no se transmiten tramas, circula un patrn
especial de bits llamado testigo
s El testigo contiene un campo de prioridad, que
permite establecer 8 niveles de prioridad
s Una estacin transmite cuando toma el testigo
s Slo se puede tomar el testigo si se desea transmitir
tramas de prioridad igual o mayor a la indicada por el
testigo
s Se pueden utilizar los esquemas de planificacin
basados en prioridades fijas (e.g. RMS) e incluso el
algoritmo EDF
16
UdelC - Telemtica
31
TDMA
s TDMA (Time Division Multiple Access): Acceso Mltiple
por Divisin de Tiempo
s La capacidad del medio es dividida estticamente en
intervalos de tiempo. Pueden ser de distinto tamao
s A cada nodo se le asigna un intervalo nico para
transmitir
s La secuencia de intervalos en un conjunto de nodos se
llama ronda TDMA
D E A B C
0 50
UdelC - Telemtica
32
TDMA
s Un nodo puede enviar una trama en cada ronda
TDMA
s Si no hay datos para enviar, se transmite una trama
vaca
s Se requiere un reloj global tolerante a fallos
s Se utiliza un esquema de planificacin esttico
s Un ejemplo de aplicacin es el protocolo TTP (Time-
Triggered Protocol) usado en MARS
17
UdelC - Telemtica
33
Protocolos de tiempo real sobre IP
s TCP y UDP no son tiles para aplicaciones de tiempo
real
UDP no es orientado a conexin
En TCP, los mecanismos de control de error, control de flujo y
secuenciacin introducen grandes retardos
s Para mejorar las capacidades de tiempo real de
Internet se requiere un protocolo orientado a conexin
s Muchas aplicaciones (multimedia) de tiempo real son
ms tolerantes a datos errneos o perdidos, pero
exigen un mejor rendimiento
s Para estas aplicaciones se ha desarrollado la pareja
de protocolos Real-time Transport Protocol (RTP) y
RTP Control Protocol (RTCP)
UdelC - Telemtica
34
Real-time Transport Protocol (RTP)
s RTP: Protocolo de Transporte para Tiempo Real
s Diseado para soportar comunicaciones de
multidifusin en aplicaciones multimedia interactivas
s Utiliza los servicios de multiplexacin y control de
errores de UDP
s RTCP suministra las funciones de:
Monitoreo de la calidad del servicio
Control de congestin
Identificacin de las fuentes (usuarios y aplicaciones)
18
UdelC - Telemtica
35
Real-time Transport Protocol (RTP)
s Cada medio (e.g. audio, vdeo) se transmite por
separado y utiliza dos puertos UDP: datos y control
s Los dispositivos (e.g. cmaras, micrfonos) son
llamados fuentes de sincronizacin
s Cada fuente tiene su propio identificador
s Los paquetes de datos de una fuente llevan una
marca temporal, un nmero de secuencia y el
mtodo de codificacin
s La marca temporal permite a la aplicacin sincronizar
los flujos
s El mtodo de codificacin puede modificarse durante
una conexin para ajustar la calidad del servicio
UdelC - Telemtica
36
Temario
s Aspectos generales
s Comunicaciones
s PIanificacin
19
UdelC - Telemtica
37
Planificacin en sistemas distribuidos
de tiempo real
s La poltica de planificacin en SDTR debe:
Maximizar la relacin de garanta: No. de tareas
garantizadas vs. No. de tareas que llegan
Minimizar el costo de las comunicaciones por la red
Balancear la carga entre los nodos del sistema
s Dos enfoques:
Planificacin esttica (pre-run time)
Planificacin dinmica (run-time)
UdelC - Telemtica
38
Planificacin esttica
s Se realiza fuera de lnea
s Es un problema de asignacin de tareas
s Objetivos del algoritmo de asignacin de tareas en los
nodos del sistema:
Minimizar el costo de las comunicaciones en la red
Balancear la carga entre los nodos
s Encontrar una asignacin ptima de tareas a los
nodos en un problema NP-duro
20
UdelC - Telemtica
39
Planificacin dinmica
s Se realiza en lnea (tiempo de ejecucin)
s Las tareas pueden llegar dinmicamente a cualquier
nodo en el sistema
s El estado de los nodos cambia constantemente
s El algoritmo de planificacin requiere informacin
acerca del estado de varios nodos
s La informacin disponible de los nodos remotos no
es exacta debido a los retardos de la comunicacin
s Las decisiones de planificacin se tomaran con base
en informacin desactualizada
s Los algoritmos se dividen en dos componentes
UdelC - Telemtica
40
Planificacin dinmica
Componentes de los algoritmos de planificacin
dinmica en SDTR
s AIgoritmo de pIanificacin IocaI
Decide si las tareas que llegan al nodo son
planificables en l
Se puede usar cualquier algoritmo para sistemas
centralizados
s AIgoritmo de pIanificacin distribuida
Decide dinmicamente dnde transferir las tareas
que no son planificables en un nodo
Intenta maximizar la relacin de garanta
Son algoritmos de balance de carga
21
UdelC - Telemtica
41
Arquitecturas ET y TT
s Conducida por Eventos (ET, Event Triggered)
Las actividades del sistema son iniciadas en
respuesta a la ocurrencia de eventos causados
por el entorno
La planificacin puede ser esttica o dinmica
s Conducida por Tiempo (TT, Time Triggered)
Las actividades del sistema son iniciadas en
instantes predefinidos, al comps de un reloj
sincronizado globalmente
La planificacin es esttica
Pueden combinarse en un sistema distribuido:
ET a nivel de nodo (tareas)
TT a nivel de las comunicaciones (mensajes)
UdelC - Telemtica
42
Ejemplos
s Dos casos paradigmticos de SDTR:
MARS (MaintainabIe ReaI-Time System)
Planificacin esttica
Arquitectura TT (Time Triggered)
Spring
Planificacin dinmica
Arquitectura ET (Event Triggered)
22
UdelC - Telemtica
43
MARS
s Desarrollado en la U. Tcnica de Viena (1989)
s Caractersticas claves:
Tolerante a fallos
Comportamiento completamente determinista
Todas las actividades son sncronas
Protocolo de comunicaciones TDMA
s Tipos de tareas:
Crticas: Son peridicas. Deben cumplir sus plazos
Tareas de aplicacin
Tareas del sistema
Flexibles: No tienen plazos estrictos. Utilizan el tiempo libre
de la CPU en situaciones de baja carga
UdelC - Telemtica
44
MARS: Sistema operativo
s Se ejecutan copias de manera autnoma en cada
componente (nodo) MARS
s Consiste en un pequeo ncleo y tareas del sistema
s La planificacin de todas las tareas se realiza fuera
de lnea, antes del arranque del sistema
s Funciones del ncleo:
Ejecucin peridica de las tareas de acuerdo al plan
(ejecutivo cclico)
Mantenimiento del reloj global
Paso de mensajes
Administracin de recursos
Ocultar a las tareas los detalles del hardware
23
UdelC - Telemtica
45
Spring
s Desarrollado en la U. de Masachusetts (1991)
s Caractersticas claves:
Flexibilidad y predictibilidad
STR grandes y complejos
s El modelo de hardware es una red de multi-
procesadores (nodos Springnet)
s En cada nodo Springnet:
Ejecuta el ncleo de Spring
Procesadores de aplicacin: Tareas de aplicacin
Procesadores de sistema: Algoritmo de planificacin y otros
servicios del sistema operativo
Subsistema E/S: Separado del ncleo de Spring. Tareas de
E/S no crticas, dispositivos E/S lentos, sensores
UdelC - Telemtica
46
Spring: Tareas
s El ncleo gestiona y planifica:
Tareas
Grupos de tareas, con relaciones de precedencia
pero un plazo nico para el grupo
s Tipos de tareas, segn importancia y requisitos
temporales:
Crticas: Deben cumplir siempre sus plazos, pues si no
pueden obtenerse resultados catastrficos
Esenciales: Son necesarias para la operacin, tienen
restricciones temporales, y degradan el sistema si no
cumplen sus plazos
No esenciales: Pueden tener plazos y se ejecutan
cuando no afectan las tareas crticas o esenciales
24
UdelC - Telemtica
47
Spring: Planificacin
Cuatro niveles de planificacin:
1- Despachadores
Procesadores de aplicacin: Toman la siguiente
tarea lista de una tabla de tareas garantizadas
Procesadores de sistema: Ejecutan peridicamente
las tareas del sistema u otras tareas
2- Planificador local
Establece dinmicamente si, dado un conjunto de
tareas garantizadas, una nueva tarea o grupo de
tareas puede ser planificado localmente
cumpliendo sus plazos
Ordena la tabla de tareas garantizadas
UdelC - Telemtica
48
Spring: Planificacin
3- Planificador distribuido
Busca un nodo para ejecutar una tarea o
miembros de un grupo de tareas que no pueden
ser garantizados localmente
4- Controlador metanivel
Decide qu algoritmo de planificacin usar,
dependiendo de los cambios en el entorno
25
UdelC - Telemtica
49
Otros SDTR
s HARTS (Hexagonal Architecture for Real-Time
Systems)
Basado en nodos multiprocesadores de memoria
compartida, interconectados por una red hexagonal
enrollada
Sistema operativo: HARTOS
s CHAOS (Concurrent Hierarchical Adaptable Object
System)
Sistema operativo y de programacin basado en
objetos para aplicaciones dinmicas de tiempo real
Utiliza el concepto de atomicidad, heredado de la
teora de bases de datos distribuidas
UdelC - Telemtica
50
Otros SDTR
s MARUTI
Desarrollado en la U. de Maryland
S.O.D. de tiempo real crtico, tolerante a fallos
Basado en objetos
s TRON (The Real-time Operating system Nucleus)
Orientado al establecimiento de estndares para
la comunicacin en tiempo real
Abarca el desarrollo de:
Una arquitectura abierta
Una familia de circuitos VLSI
Un software de sistema
Todas sus especificaciones se obtienen gratis
26
UdelC - Telemtica
51
Otros SDTR
s ALPHA
Ncleo experimental, para aplicaciones de T.R.
distribuidas como telecomunicaciones,
automatizacin de fbricas y defensa
Las restricciones de tiempo real de los recursos
se expresan usando el Modelo de Beneficio
Acumulado
s Real-Time Mach
Versin en tiempo real del ncleo Mach
Soporta hilos de tiempo real y no tiempo real
El planificador usa un esquema de preservacin
de capacidad, que asigna a otras actividades el
tiempo no requerido por las tareas crticas
garantizadas
UdelC - Telemtica
52
Referencias (1)
s H. Kopetz. Real-Time Systems. Design Principles for
Distributed Embedded Applications. Kluwer Academic
Publishers. 1997.
s Jane W. S. Liu. Real-Time Systems. Prentice-Hall. 2000.
s A.S. Tanenbaum. Computer Networks. Third Edition, Prentice
Hall PTR.1996.
s H. Hanssson (Ed.). Distributed Real-Time Systems: A survey.
Technical Report DoCS 94/48. Department of Computer
Systems, Uppsala University, Sweden. May 1994.
s A. Alonso. Introduccin a los Sistemas Distribuidos de Tiempo
Real. Transparencias. Universidad Politcnica de Madrid.
2002.
s K. Tindell, A. Burns and A.J. Wellings. Analysis of Hard Real-
Time Communications. YCS 222, Dept. of Computer Science,
University of York. England. January 1994.
27
UdelC - Telemtica
53
Referencias (2)
s ISO. Road Vehicles - Interchange Digital Information -
Controller Area Network (CAN) for High Speed
Communications. International Standard 11898, 1993.
s H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson.
RTP: A Transport Protocol for Real-Time Applications. IETF,
Audio-Video Transport Working Group, RFC 1889. January
1996.
s H. Kopetz, A. Damm, C. Koza, M. Mulazzani, W. Schwabl, C.
Senft, and R. Zainlinger. "Distributed Fault-Tolerant Real-Time
Systems: The MARS Approach". IEEE Micro, 9(1):25-40,
February 1989.
s J.A. Stankovic anf K. Ramamritham. The Spring kernel: A new
paradigm for real-time systems. IEEE Software, 8(3), May
1991.

También podría gustarte