Planificación con Prioridades Fijas Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Sección de Computación
Download ReportTranscript Planificación con Prioridades Fijas Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Sección de Computación
Planificación con Prioridades Fijas Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Sección de Computación Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Indice • Planificación con prioridades estaticas • Tareas periódicas independientes • • • • • Modelo Rate Monotonic Factor de Utilización Instante crítico Análisis de tiempo de respuesta Planificación Deadline Monotonic Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 2 Planificación con prioridades fijas Las tareas se ejecutan como • procesos concurrentes Una tarea puede estar en varios • estados Las tareas ejecutables se • despachan para su ejecución en orden de prioridad El despacho puede hacerse — — con desalojo sin desalojo activar suspender lista desalojar despachar ejecutandose bloquear En general supondremos • prioridades fijas con desalojo Dr. Pedro Mejía Alvarez suspendida Sistemas de Tiempo Real bloqueada Transparencia 3 activar Modelo Rate Monotonic La asignación de mayor prioridad a las tareas de menor período ( rate monotonic scheduling: Liu & Layland ) es óptima para el modelo de tareas simple ( tareas periódicas, independientes, con plazos iguales a los períodos ) Si se puede garantizar los plazos de un sistema de tareas con otra asignación de prioridades, se pueden garantizar con la asignación monótona en frecuencia Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 4 Modelo RM • Las instancias de la tareas periodica i se activan regularmente con una frecuencia constante. El intervalo Ti entre dos instancias consecutivas es el periodo de la tarea. •Todas las instancias de la tarea i tienen el mismo tiempo (constante) de ejecución (peor caso) Ci. •Todas las instancias de una tarea periodica i tienen el mismo plazo relativo Di, el cual es igual al periodo Ti. • Asumiremos no se comparten recursos entre tareas •No existen restricciones de precedencia entre las tareas. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 5 Modelo RM • Todos las tareas se ejecutan en un solo procesador • Tiempo en ejecutar el cambio de contexto = 0 • Inicialmente no tendremos tareas aperiodicas. •La tarea de mas alta prioridad (y menor periodo) se ejecuta primero. Si hay tareas de igual prioridad, se escoge “arbitrariamente”. • Las tareas son expulsables. •Las tareas no se pueden suspender por si mismas, por ejemplo por operaciones de E/S. •Las tareas se inician tan pronto como arriban al sistema, y tan pronto como se marca su inicio de instancia. Despues trataremos el tema de las tareas aperiodicas y de compartir recursos Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 6 Planificación basada en Prioridades • Rate-Monotonic (2, 1) (5, 2.5) missed deadline • Earliest Deadline First (2, 1) (5, 2.5) • Shortest slack time first (2, 1) (5, 2.5) 0 Dr. Pedro Mejía Alvarez 1 2 3 4 5 Sistemas de Tiempo Real 6 7 8 9 Transparencia 7 10 Factor de utilización • La cantidad U N Cj T j 1 j es el factor de utilización del procesador • Es una medida de la carga del procesador para un conjunto de tareas • En un sistema monoprocesador la prueba de utilizacion consiste en verificar: U< 1 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 8 Factor de utilización La prueba del factor de utilización puede tener 1 de 3 resultados: • • 0 < U < Umin(N) ----- Éxito Umin(N) < U < 1.0 ----- Prueba inconclusa •1.0 < U ----- Sobrecarga La prueba de la utilización es conservadora Es necesario una prueba mas precisa. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 9 Condición de garantía de los plazos basada en la utilización • Para el modelo simple, con prioridades monótonas en frecuencia, los plazos están garantizados si N U Cj j 1 T j • N 2 1/ N 1 La cantidad Umin = N ( 21/N - 1) es la utilización mínima garantizada para N tareas Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 10 Utilización mínima garantizada N 1 2 3 4 5 N0 1.000 0.828 0.779 0.756 0.743 limnU0 N log 2 0,693 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 11 Ejemplo 1 Tarea T C P U 1 30 10 3 0.333 2 40 10 2 0.250 3 50 12 1 0.240 El sistema no cumple la prueba de utilización (U > 0.779) La tarea 3 falla en t = 50 0.823 1 2 fallo! 3 0 20 Dr. Pedro Mejía Alvarez 40 60 80 100 Sistemas de Tiempo Real 120 140 160 Transparencia 12 Ejemplo 2 Tarea T C P U 1 16 4 3 0.250 2 40 5 2 0.125 3 80 32 1 0.400 Este sistema está garantizado (U < 0.779) 0.775 1 2 3 0 10 Dr. Pedro Mejía Alvarez 20 30 40 50 Sistemas de Tiempo Real 60 70 80 Transparencia 13 Ejemplo 3 Tarea T C P U 1 20 5 3 0.250 2 40 10 2 0.250 3 80 40 1 0.500 Este sistema no pasa la prueba (U < 0.779), pero se cumplen los plazos 1.000 1 2 3 0 10 Dr. Pedro Mejía Alvarez 20 30 40 50 Sistemas de Tiempo Real 60 70 80 Transparencia 14 Rate Monotonic •RMS no puede utilizar 100% del CPU, aunque el tiempo de cambio de contexto sea cero. A menos que las tareas sean harmónicas. •Tareas Harmónicas: Los periodos de las tareas son múltiplos unos de otros. •Segun estudios estadisticos las tareas llegan a utilizar hasta un 90% del CPU. •Ventajas: Su implementación es facil, eficiente y predecible. •Desventajas:desperdicio del CPU. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 15 Instante crítico • El cronograma se puede utilizar para comprobar si se cumplen los plazos • Hay que trazar el cronograma durante un hiperperíodo completo • En el caso más desfavorable, H = O(NN ) • El tiempo de respuesta es máximo cuando todas las tareas se activan a la vez • Se denomina instante crítico • Si el instante inicial es crítico basta comprobar la primera instancia de cada tarea. No hay que analisar todo el hiperperiodo. Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 16 Análisis del tiempo de respuesta • La prueba del factor de utilización no es exacta, ni se puede generalizar a modelos de tareas más complejos • La construcción de un cronograma es compleja, incluso considerando que el instante inicial es crítico • Veremos una prueba basada en el cálculo del tiempo de respuesta de cada tarea Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 17 Ecuación del tiempo de respuesta Cj j Cj j Rj Rj = C j + I j El tiempo de respuesta de una tarea es la suma de su tiempo de cómputo más la interferencia que sufre por la ejecución de tareas más prioritarias Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 18 Ecuación del tiempo de respuesta 1 2 3 0 10 20 30 40 50 60 70 80 R3 R3 = C3 + I3 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 19 Cálculo de la interferencia máxima j Cj Cj j Rj Para una tarea de prioridad superior Para todas las tareas de prioridad superior Dr. Pedro Mejía Alvarez Ii j Ri Tj Cj Rj I j Cj j hp ( i ) Tj Sistemas de Tiempo Real Transparencia 20 Cálculo del tiempo de respuesta La ecuación del tiempo de respuesta queda así: Rj Rj C j C j j hp ( j ) Tj Rj es la solución mínima de la ecuación Wj W Cj Cj j hp ( j ) Tj • • La ecuación no es continua ni lineal No se puede resolver analíticamente Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 21 Iteración lineal La ecuación del tiempo de respuesta se puede resolver mediante la relación de recurrencia Wi n 1 Wi n Ci Cj j hp ( i ) Tj Un valor inicial aceptable es Wi 0 Ci C j j hp ( i ) Se termina cuando a) W n 1 W n , o bien b) W n 1 Tj (no se cumple el plazo) Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 22 Ejemplo 4 Tarea T C P R 1 7 3 3 3 2 12 3 2 6 3 20 5 1 20 1: 2: 3: W10 3; W20 3 3 6; 6 W21 3 3 6 7 W30 5 3 3 11; 11 11 W 5 3 3 14; 7 12 14 14 W32 5 3 3 17; 7 12 17 17 W33 5 3 3 20; 7 12 20 20 4 W3 5 3 3 20 7 12 1 3 Todas las tareas tienen sus plazos garantizados Tenemos una condición suficiente y necesaria Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 23 Deadline Monotonic Cuando los plazos son menores o iguales que los períodos, la asignación de mayor prioridad a las tareas de menor plazo de respuesta (deadline monotonic scheduling) es óptima El tiempo de respuesta se calcula de la misma forma que con la asignación monótona en frecuencia — se termina cuando W — o cuando W Dr. Pedro Mejía Alvarez n+1 n =W , i i n+1 >D i i Sistemas de Tiempo Real Transparencia 24