Analisis de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación
Indice Planificación. Analisis de Planificabilidad. Metodos Exactos. Metodos Inexactos. 14
Objetivos 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.
Modelo de tareas Inicialmente consideramos un modelo simple: El conjunto de tareas es estático Todas las tareas son periódicas Las tareas son independientes unas de otras Los plazos de respuesta de todas las tareas son iguales a los períodos respectivos El tiempo de ejecución máximo de cada tarea es conocido Las operaciones del kernel son instantáneas
Parámetros de planificación N Número de tareas T Período de activación C Tiempo de ejecución máximo D Plazo de respuesta R Tiempo de respuesta máximo P Prioridad En el modelo anterior, para todas las tareas : Se trata de asegurar que j Cj < Dj = Tj Rj < Dj
Hiperperíodo En el modelo de tareas simple, el valor H = m c m ( Tj ) se denomina hiperperíodo del sistema El comportamiento temporal se repite cada hiperperíodo H = m c m ( Tj )
Planificacion Metodos Exactos. Metodos Inexactos. Metodos Estaticos. Metodos Dinamicos. 14
Proceso de Planificación Aplicación Crítica Tarea Planificador Carga de Trabajo de Tiempo Real Análisis de Planificabilidad EJECUCIÓN Ci Ti Di No es planificable
Proceso de Planificación (estados) despachar activación SI test de aceptación LISTA EJECUCION expulsión espera en recurso ocupado recurso liberado NO BLOQUEO
Test Exactos Diseñados para verificar la planificabilidad de un Conjunto de tareas de tiempo real. Si el resultado del test es positivo entonces todas Las tareas cumplen con sus plazos. Si el resultado Es negativo, alguna tarea pierde su plazo. Tiene una alta complejidad computacional. Se conocen solo los tests basados en el tiempo de Respuesta y en la demanda de tiempo. 17
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(N ) 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 el primer ciclo de cada tarea N 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 i 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
Test Exacto de Lehhockzky: Basado en la demanda del procesador
Test Inexactos Diseñados para verificar la planificabilidad de un Conjunto de tareas de tiempo real. Si el resultado del test es positivo entonces todas las tareas cumplen con sus plazos. Si el resultado es negativo, entonces no se sabe con certeza si alguna Tarea pierde su plazo. Tienen una baja complejidad computacional. Se conocen varios tests. 17
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 debe ser U< 1 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) = N ( 2 - 1) es la utilización mínima garantizada para N tareas VN 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 fallo! 0 20 40 60 80 100 120 140 160 20
Ejemplo 2 Este sistema está garantizado (U < 0.779) 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 0 10 20 30 40 50 60 70 80 23
Test basado en el periodo: IP 28
Test basado en el periodo: PO 28
Test basado en la utilizacion: UO 28