Planificación con Prioridades Fijas Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Sección de Computación
Indice Planificación con prioridades estaticas Modelo Rate Monotonic Tareas periódicas independientes Modelo Rate Monotonic Factor de Utilización Instante crítico Análisis de tiempo de respuesta Planificación Deadline Monotonic 14
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 En general supondremos prioridades fijas con desalojo suspendida activar suspender lista desalojar despachar ejecutandose bloquear activar bloqueada 15
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 16
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. 17
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
Planificación basada en Prioridades Rate-Monotonic Earliest Deadline First Shortest slack time first (2, 1) (5, 2.5) missed deadline (2, 1) (5, 2.5) (2, 1) (5, 2.5) 0 1 2 3 4 5 6 7 8 9 10
Factor de utilización La cantidad 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 17
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. 17
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 La cantidad U = N ( 21/N - 1) es la utilización mínima garantizada para N tareas min 18
Utilización mínima garantizada 19
Ejemplo 1 El sistema no cumple la prueba de utilización (U > 0.779) La tarea 3 falla en t = 50 1 2 3 fallo! 0 20 40 60 80 100 120 140 160 20
Ejemplo 2 Este sistema está garantizado (U < 0.779) 1 2 3 0 10 20 30 40 50 60 70 80 22
Ejemplo 3 Este sistema no pasa la prueba (U < 0.779), pero se cumplen los plazos 1 2 3 0 10 20 30 40 50 60 70 80 23
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. 24
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. 21
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 24
Ecuación del tiempo de respuesta j j R j R = C + I j j 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 25
Ecuación del tiempo de respuesta 1 2 3 0 10 20 30 40 50 60 70 80 R3 R3 = C3 + I3 22
Cálculo de la interferencia máxima j j R j Para una tarea de prioridad superior Para todas las tareas 26
Cálculo del tiempo de respuesta La ecuación del tiempo de respuesta queda así: Rj es la solución mínima de la ecuación La ecuación no es continua ni lineal No se puede resolver analíticamente 27
Iteración lineal La ecuación del tiempo de respuesta se puede resolver mediante la relación de recurrencia Un valor inicial aceptable es Se termina cuando a) , o bien b) (no se cumple el plazo) 28
Ejemplo 4 Todas las tareas tienen sus plazos garantizados Tenemos una condición suficiente y necesaria 29
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 =W , o cuando W >D n+1 i n i n+1 i i