Modelo del Sistema Dr Pedro Meja Alvarez CINVESTAVIPN

  • Slides: 37
Download presentation
Modelo del Sistema Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Sección de Computación Dr. Pedro Mejía

Modelo del Sistema Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Sección de Computación Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1

Indice • Como se distingue a un STR • Caracterización de un Sistema de

Indice • Como se distingue a un STR • Caracterización de un Sistema de Tiempo Real • Modelo de Referencia • Parámetros temporales y restricciones • Parámetros del sistema • Tipos de Tareas • Planificación • Metodos de Planificación Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 2

Como se distingue a un Sistema de Tiempo Real ? Un Sistema de Tiempo

Como se distingue a un Sistema de Tiempo Real ? Un Sistema de Tiempo Real tiene restricciones de tiempos • Procesador: recurso activo (CPU, procesador de E/S, etc) • Recurso: recurso pasivo (dispositivos de E/S, disco, cinta, red) • Tarea: Conjunto de unidades de ejecución. • Job: Unidad de trabajo ejecutada por el sistema. • Restricciones Temporales: • Tiempo de inicio (release time). • Plazo de respuesta. • Tiempo de respuesta máximo. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 3

Plazos de respuesta críticos y no críticos Un Sistema de Tiempo Real tiene restricciones

Plazos de respuesta críticos y no críticos Un Sistema de Tiempo Real tiene restricciones de tiempos • Plazo Critico: Resultados tarde pueden ser fatales, de poca utilidad o consecuencias desastrosas • Plazos No-Críticos (suaves): Se desea que el computo termine a tiempo, pero resultados que llegan tarde son útiles (hasta cierto punto) • Definiciones: • Un Job tiene un plazo critico cuando el diseñador del sistema tiene que comprobar que nunca pierde su plazo. • Un sistema es de tiempo real critico cuando la mayor parte de los plazos son críticos. • Sobrecargas. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 4

Caracterización de la Aplicación r(t) Sensor de temperatura Termo y(t) Computadora u(t) Calefactor •

Caracterización de la Aplicación r(t) Sensor de temperatura Termo y(t) Computadora u(t) Calefactor • Componentes: tanque, censores, actuadores, interfaces A/D y computadora. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 5

Caracterización de la Aplicación Restricciones de Funcionamiento. • Componentes: tanque, censores, actuadores, interfaces A/D

Caracterización de la Aplicación Restricciones de Funcionamiento. • Componentes: tanque, censores, actuadores, interfaces A/D y computadora. • En el sistema (planta), dada una u(t), se produce una y(t). • El sistema recibe una señal de referencia r(t), el cual indica la temperatura deseada. • El objetivo del sistema de control es que y(t), sea lo mas parecida a r(t). • Para lograr el objetivo, es preciso aplicar a la planta la señal u(t) • y(t) muestra el valor real de la temperatura del termo. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 6

Caracterización de la Aplicación Restricciones de Tiempos: • Tiempos de cómputo. • Periodos de

Caracterización de la Aplicación Restricciones de Tiempos: • Tiempos de cómputo. • Periodos de muestreo. • Tiempos de acceso a los dispositivos (censores • Plazos de Respuesta. • Análisis de Planificación. • Planificar el sistema con un Sistema Operativo. actuadores) • Los tiempos hay que obtenerlos, ya sea mediante mediciones instrucción por instrucción, mediante analizadores lógicos o osciloscopios digitales. • El periodo de muestreo y el plazo de respuesta dependen de la aplicación. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 7

Sistemas de Tiempo Real Críticos Que tipos de Sistemas de tiempo real son críticos

Sistemas de Tiempo Real Críticos Que tipos de Sistemas de tiempo real son críticos ? • Tiempo Real no es cómputo rápido. • Como comprobar/verificar que siempre se cumplen los plazos en un sistema de tiempo real crítico ? • Implementar mecanismos para monitorizar el estricto cumplimiento de tiempos • Que consecuencia trae la pérdida de plazos en este tipo de Sistemas. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 8

Sistemas de Tiempo Real No Críticos Que tipos de Sistemas de tiempo real son

Sistemas de Tiempo Real No Críticos Que tipos de Sistemas de tiempo real son no críticos ? • Restricciones de Tiempo tolerantes: algunos plazos se permite que se pierdan: • n de m plazos perdidos. (% por ciento de plazos perdidos) • Tareas con Cómputo obligatorio y computo opcional. • Calidad de servicio: (obtener 70% de los mensajes de la red). • Mejor esfuerzo: que se cumplan el mayor número de plazos • posibles. U (a) Requerimientos de tiempos sin restricciones: • Sistemas de transacciones en línea, Switches de telefonía. (b) Requerimientos de plazos con pocas restricciones: • Sistema de obtención de precios de cotizaciones en bolsa. (c) Requerimientos de plazos con restricciones: • Multimedia Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real (a) (b) (c) d Transparencia 9 t

Modelo de Referencia Recursos Describe los recursos utilizados por el sistema Dr. Pedro Mejía

Modelo de Referencia Recursos Describe los recursos utilizados por el sistema Dr. Pedro Mejía Alvarez Tareas Describe la aplicación que soporta el sistema Sistemas de Tiempo Real Planificación y Manejo de Recursos Describe los algoritmos que manejan los recursos y las tareas del sistema Transparencia 10

Parámetros Temporales Ji: Job, unidad de trabajo Tarea ( i ): conjunto de Job

Parámetros Temporales Ji: Job, unidad de trabajo Tarea ( i ): conjunto de Job N Número de tareas M Número de recursos ai: tiempo de arrivo (release time) si: tiempo de inicio de ejecución Ti Período de activación Ci: Tiempo de ejecución máximo: Cj < Dj = Tj Di Plazo de respuesta relativa del Job Ji di: Plazo de respuesta absoluta del Job Ji fi: tiempo de finalización Ri Tiempo de respuesta máximo P Prioridad Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 11

Parámetros Temporales Ci Ji t ai Dr. Pedro Mejía Alvarez si fi Sistemas de

Parámetros Temporales Ci Ji t ai Dr. Pedro Mejía Alvarez si fi Sistemas de Tiempo Real di Transparencia 12

Restricciones a los Parámetros Temporales • Se trata de asegurar que: Cj < Dj

Restricciones a los Parámetros Temporales • Se trata de asegurar que: Cj < Dj < Tj y Rj < Dj • Una tarea se ejecuta concurrentemente con otras tareas. • Tiempo de ejecución: máximo, mínimo, promedio • Cual de estos parámetros es fijo o variable ? • Tiempo de inicio: Fijo, con jitter, o esporádico. • Como se obtienen las prioridades de las tareas ? • Por que no se utiliza la velocidad de procesamiento ? Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 13

Distribuciones Tipicas TA Min TA Prom TE Prom Tiempo entre Arrivos de Tareas Dr.

Distribuciones Tipicas TA Min TA Prom TE Prom Tiempo entre Arrivos de Tareas Dr. Pedro Mejía Alvarez WCET Tiempo de Computo Sistemas de Tiempo Real Transparencia 14

Carga de Trabajo del Procesador 1 1 0. 75 0. 25 0 0 tiempo

Carga de Trabajo del Procesador 1 1 0. 75 0. 25 0 0 tiempo Bajo suposición del peor caso Dr. Pedro Mejía Alvarez tiempo Bajo suposición del caso promedio Sistemas de Tiempo Real Transparencia 15

Worst-Case vs Average-Case worst-case average-case Predecibilidad Sin garantias Baja Eficiencia % Utilizacion Alta Eficiencia

Worst-Case vs Average-Case worst-case average-case Predecibilidad Sin garantias Baja Eficiencia % Utilizacion Alta Eficiencia % Utilizacion alto costo: se justifica para • sistemas de avionica • control de trafico aereo • plantas nucleares Dr. Pedro Mejía Alvarez bajo costo: se justifica para • sistemas de multimedia • robotica • realidad virtual. . . Sistemas de Tiempo Real Transparencia 16

Restricciones del Sistema • Restricciones de los parámetros temporales. • Restricciones de recursos: una

Restricciones del Sistema • Restricciones de los parámetros temporales. • Restricciones de recursos: una tarea puede requerir acceso a ciertos recursos compartidos por otras tareas, como dispositivos de E/S, redes de comunicación, estructuras de datos, archivos y bases de datos. • Restricciones de precedencia: una tarea puede requerir resultados de una u otra tarea antes de comenzar su ejecución. • Restricciones de Expulsividad. Una tarea puede ser expulsada (o no) de su ejecución por otra tarea en medio de su ejecución. • Restricciones de confiabilidad y desempeño: una tarea podría tener que cumplir con ciertas restricciones de confiabilidad, disponibilidad o desempeño. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 17

Restricciones de Precedencia 1 4 3 5 Dr. Pedro Mejía Alvarez 2 6 Sistemas

Restricciones de Precedencia 1 4 3 5 Dr. Pedro Mejía Alvarez 2 6 Sistemas de Tiempo Real J 1 precede a J 3 y J 5 J 4 precede a J 6 J 1 precede a J 4 J 2 no tiene precedencia con las demas tareas Transparencia 18

Tipos de Tareas • Tareas Periódicas. • Tareas Aperiodicas. • Tareas Imprecisas: Tareas con

Tipos de Tareas • Tareas Periódicas. • Tareas Aperiodicas. • Tareas Imprecisas: Tareas con partes obligatoria y opcional. • Tareas Multiframe: El tiempo de computo varia de instancia a instancia. • Tareas Elásticas: el periodo puede extenderse o comprimirse. • Tareas Periódicas con arrivo aperiodico y número de periodos de vida no finito. • Tareas con manejo de energia: tareas que pueden aumentar o disminuir su velocidad de procesamiento en cualquier instante para reducir su consumo de energía. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 19

Modelo de Tareas Periódicas Tareas : i. . . n. Cada tarea consiste de

Modelo de Tareas Periódicas Tareas : i. . . n. Cada tarea consiste de Job: Ji 1, Ji 2, …. . , Jin ri: Ti Ci: Di di: Ri Ui tiempo de inicio (release time) Período de activación Tiempo de ejecución máximo: Cj < Dj = Tj Plazo de respuesta relativa del Job Ji Plazo de respuesta absoluta del Job Ji Tiempo de respuesta máximo Utilización de i Ui = Ci / Ti H hiperperíodo del sistema: lcm (T 1, …Tn) Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 20

Ejemplo 0 10 Dr. Pedro Mejía Alvarez 20 30 40 50 Sistemas de Tiempo

Ejemplo 0 10 Dr. Pedro Mejía Alvarez 20 30 40 50 Sistemas de Tiempo Real 60 70 80 Transparencia 21

Tareas Aperiodicas y Esporádicas Eventos que ocurren en tiempos inesperados ai: Ii Ci: Di

Tareas Aperiodicas y Esporádicas Eventos que ocurren en tiempos inesperados ai: Ii Ci: Di tiempo de arrivo de la tarea i Tiempo entre arrivos. Tiempo de ejecución máximo: Cj < Dj Plazo de respuesta relativa del Job Ji Cada tarea consiste de un solo Job: Ji, …. . , Jn. Cada tarea arriva en tiempos inesperados. Tareas aperiodicas: los Job tienen plazos suaves o no tienen plazos. Tareas esporádicas: los Job tienen plazos de respuesta críticos. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 22

Ejemplo de Tareas Aperiodicas A A 0 A 25 B 0 B 25 Dr.

Ejemplo de Tareas Aperiodicas A A 0 A 25 B 0 B 25 Dr. Pedro Mejía Alvarez 50 75 B 50 Sistemas de Tiempo Real 100 B 75 100 Transparencia 23

Tareas Imprecisas Estas tareas contienen una parte obligatoria una parte opcional. Mi: Oi: parte

Tareas Imprecisas Estas tareas contienen una parte obligatoria una parte opcional. Mi: Oi: parte obligatoria de la tarea i parte opcional de la tarea i Mi precede en ejecución a Oi Pi puede no ejecutarse parcialmente El plazo de Mi debe de cumplirse El plazo de Oi podria no cumplirse. La ejecución de Oi permite refinar el resultado de Mi Se trata de producir la mayor ejecución posible de todas las partes opcionales, de forma que: • no comprometan a ninguna parte obligatoria • que se ejecuten al máximo posible las partes opcionales pero que no causen la pérdida de plazos de las partes obligatorias Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 24

Ejemplo de Tareas Imprecisas La tarea 3 pierde el plazo de su parte opcional

Ejemplo de Tareas Imprecisas La tarea 3 pierde el plazo de su parte opcional en su primer Job, en t = 50 la parte obligatoria O 3 no se ejecuta! 0 20 Dr. Pedro Mejía Alvarez 40 60 80 100 Sistemas de Tiempo Real 120 140 160 Transparencia 25

Planificación (scheduling) La planificación consiste en asignar un orden de ejecución a un conjunto

Planificación (scheduling) La planificación consiste en asignar un orden de ejecución a un conjunto de tareas que se ejecutan concurrentemente En la planificación existen 3 elementos: • Procesadores. • Recursos • Tareas • Planificador y Manejador de Recursos (Sistema Operativo) Cada tarea es planificada por un algoritmo de planificación y distintos recursos son asignados mediante un protocolo de acceso a recursos. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 26

Planificador (scheduler) La tarea del planificador es producir planes de ejecución validos: • A

Planificador (scheduler) La tarea del planificador es producir planes de ejecución validos: • A cada Job se le asigna un procesador para ejecución en cualquier momento • Los Job solo se ejecutan despues de su tiempo de inicio • El tiempo de procesamiento asignado cada Job corresponde a su máximo tiempo de ejecución. • Las restricciones del precedencia y de uso de recursos se satisfacen Un plan de ejecución válido es un plan de ejecución factible si cada Job cumple con sus restricciones temporales. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 27

Plan de Ejecución (schedule) Un algoritmo de planificacion es optimo: (a) si el algoritmo

Plan de Ejecución (schedule) Un algoritmo de planificacion es optimo: (a) si el algoritmo encuentra siempre encuentra planes de ejecución (schedules) en el caso de que estos existan, y (b) si el algoritmo no encuentra planes de ejecución, quiere decir que estos realmente no existen. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 28

Métricas para evaluación del desempeño Response time: Ri = (fi - ai) Average response

Métricas para evaluación del desempeño Response time: Ri = (fi - ai) Average response time = Lateness: Li = fi - di. Tardiness: Ei = max(0, Li) Laxity or Slack time: Xi = di - ai - Ci Miss Rate: (# de Jobs que son ejecutados pero que pierden plazos) Loss Rate: porcentaje Jobs que son descartados. Hard: Li negativo y Ri < di Soft: Minimizar el promedio absoluto de Li, Ri, Miss Rate y Loss Rate. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 29

Métodos de Planificación • Planificar el uso de los recursos con el fin de

Métodos de Planificación • Planificar el uso de los recursos con el fin de poder garantizar los requisitos temporales. • Un método de planificación tiene dos aspectos importantes: - Un algoritmo de planificación que determina el orden de acceso de la tareas a los recursos del sistema ( en particular al procesador ) - Un método de análisis que permite calcular el comportamiento temporal del sistema. Ø Así se puede comprobar si los requisitos temporales están garantizados en todos los casos posibles. Ø En general se estudia el peor comportamiento posible. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 30

Proceso de Planificación Aplicación Crítica Tarea Planificador Carga de Trabajo de Tiempo Real Ci

Proceso de Planificación Aplicación Crítica Tarea Planificador Carga de Trabajo de Tiempo Real Ci Ti Di Análisis de Planificabilidad No es planificable Fuera de linea (off-line) Dr. Pedro Mejía Alvarez EJECUCIÓN Sistemas de Tiempo Real En linea (on-line) Transparencia 31

Proceso de Planificación (estados) despachar activación test de aceptación SI LISTA EJECUCION expulsión NO

Proceso de Planificación (estados) despachar activación test de aceptación SI LISTA EJECUCION expulsión NO Dr. Pedro Mejía Alvarez recurso liberado Sistemas de Tiempo Real BLOQUEO espera en recurso ocupado Transparencia 32

Complejidad debida a la periodicidad de las tareas • La planificación por si sola

Complejidad debida a la periodicidad de las tareas • La planificación por si sola no resuelve el problema • La activación periódica de tareas requiere una forma estricta de análisis y garantías • La tarea no solo arriba una sola vez, sino varias. • Es necesario un mecanismo para asegurar que el plazo de cada activación también se cumple • El análisis fuera de línea provee garantías de cumplimiento de plazos a priori. Sin embargo se necesita de mecanismos de soporte de cumplimiento de plazos durante la ejecución a fin de conseguir una ejecución predecible. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 33

Planificación vs. Planificabilidad • Planificación = enfoque para priorizar una tarea sobre otra •

Planificación vs. Planificabilidad • Planificación = enfoque para priorizar una tarea sobre otra • Planificabilidad = análisis formal que permite garantizar que un conjunto de tarea periódicas pueden (o no) ser asignadas a un recurso compartido (p. ej. el procesador) tal que cada una de las tareas cumpla con su plazo de respuesta • Planificabilidad = Control de admisión Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 34

Asignacion de Prioridades • Cumplir los plazos de los procesos de mayor prioridad •

Asignacion de Prioridades • Cumplir los plazos de los procesos de mayor prioridad • Quien asigna las prioridades ? – Naturalmente el usuario (aunque después pague por ello !!) – Desafortunadamente: • El sistema necesita asignar prioridades también por llevar un control de admisión • (Orden de prioridades asignado por el sistema) (Orden de prioridades asignado por el usuario) • Se requiere una solución intermedia • Compromiso de Prioridades – Mezcla de prioridades asignadas por el usuario y el sistema – Significa esto algún sacrificio por ambas partes-es posible tolerarlo? Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 35

Clasificacion de Metodos de Planificación • Expulsivo: Permite que las tareas en ejecución sean

Clasificacion de Metodos de Planificación • Expulsivo: Permite que las tareas en ejecución sean interrumpidas en cualquier momento para asignar el procesador a otra tarea activa, de acuerdo al metodo de planificacion. • No expulsivo: Una vez que inicia su ejecución una tarea no es interrumpida hasta que termina. Las decisiones de planificacion solo pueden llevarse a cabo hasta que termina la tarea. • Estatico: Los parámetros son fijos y calculados antes de la ejecución • Dinamico: Los parámetros pueden cambiar durante la ejecución. • Off-line: La planificacion se realiza antes de la ejecución. El plan de ejecución se almacena en una tabla. • On-line: El planificador toma decisiones sobre la ejecución, cuando una tarea inicia su ejecución o cuando termina de ejecutarse. • Best-effort: Algoritmo dinamico que trata de encontrar un plan de ejecución factible, pero si no lo encuentra hara lo mejor posible para cumplir los plazos de las tareas Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 36

On-line vs. Off-line Scheduling • Off-line scheduling: el plan de ejecucion se calcula fuera

On-line vs. Off-line Scheduling • Off-line scheduling: el plan de ejecucion se calcula fuera de linea y se basa en el conocimiento de los tiempos de inicio y de computo de todos los jobs. – Para sistemas deterministicos: con parametros temporales fijos que no cambien o que cambien muy poco. • On-line scheduling: el planificador toma decisiones sin conocimiento del tiempo en que arrivaran jobs en el futuro. – No existe un plan de ejecucion optimo si los jobs son noexpulsivos – Cuando un job arriva, se acepta en el sistema si cumple con la prueba de aceptacion. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 37