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.