210 likes | 374 Views
Planificación Dinámica de Tareas. Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Secci ó n de Computaci ó n. Indice. 1 Introducción. 2 Metodo de planificacion EDF 3 Asignación dinámica de prioridades. 4 Estabilidad. 5 Resumen. 1. Introducción.
E N D
Planificación Dinámica de Tareas • Dr. Pedro Mejía Alvarez • CINVESTAV-IPN, • Sección de Computación
Indice • 1 Introducción. • 2 Metodo de planificacion EDF • 3 Asignación dinámica de prioridades. • 4 Estabilidad. • 5 Resumen.
1. Introducción • En algunos sistemas de tiempo real la carga de trabajo no es fija: • El entorno es cambiante. • Las tareas se crean/destruyen dinámicamente. • Las tareas pueden aparecer en ráfagas. • Una parte del sistema falla. • La planificación de recursos se debe realizar en tiempo de ejecución. • La planificación se basa en los atributos de las tareas. • No se conoce a priori las necesidades de tareas futuras.
Modelo de Sistema • El sistema: compuesto por transacciones y recursos. • Recursos del sistema: procesadores, memoria, etc. • Las transacciones están compuestas por procesos, y éstos por tareas. • Una tarea necesita un conjunto fijo de recursos. • El conjunto de tareas del sistema no es fijo y sus atributos son arbitrarios (tiempo de llegada, uso de recursos, tiempo de cómputo, plazos de respuesta, valor de importancia, relaciones de precedencia, . . . ).
Parámetros de planificación de las tareas Valor Críticas (Firm) Acríticas Tiempo
Aspectos a considerar por el planificador • Tareas expulsivas y no expulsivas. • Tareas periódicas y aperiódicas. • Tareas con diversos valores de importancia. • Grupos de tareas con un sólo plazo de respuesta. • Restricciones temporales globales. • Requisitos de precedencia, comunicación y uso de recursos. • Restricciones de alojamiento en sistemas multiprocesador. • Tolerancia a fallos. • Situaciones de sobrecarga.
Características • Es un enfoque más flexible. • No es posible garantizar los plazos de respuesta. • No es adecuada para sistemas críticos. • Sobrecarga en tiempo de ejecución. • La planificación dinámica no es estable. • En el caso general, el problema de planificación es • NP-completo. • La calidad de un método de planificación se determina mediante comparación con un planificador clarividente.
Fases • Análisis de planificabilidad • Despachado:Cuál es la tarea siguiente a ejecutar?.
2. Asignación dinámica de prioridades • El objetivo es asignar prioridades en forma dinámica a las tareas. • Se basa en algunos de los parámetros de las tareas. • Es la base para métodos más complejos de planificación dinámica. • La complejidad de la asignación depende de las características de las tareas. • La prioridad se asigna cuando se activa una tarea.
Planificación Earliest-deadline First (EDF) • Planificación por prioridades expulsiva • El job con el plazo mas cercano tiene la mas alta prioridad • No se requiere tener conocimiento del tiempo de ejecución • Es optimo si: • Hay un solo procesador, sin recursos compartidos y con expulsión • Por que es optimo ?, asuma un plan de ejecución factible Ji Jk (non-EDF) dk di rk ( rk) Jk Jk Ji (EDF) dk di
Planificación Earliest-deadline First (EDF) El algoritmo de planificación EDF, utiliza el plazo de respuesta de las tareas como la base para tomar decisiones de planificación – una tarea con plazo mas cercano es eligible para ejecución antes que otra tarea con plazo mas largo. Se asume que el plazo absoluto de una tarea es fijo y constante durante el tiempo de vida de la tarea. Cuando EDF es utilizado como mecanismo de planificación, se requiere que todas las tareas cumplan con sus plazos. Esta condicion puede verificarse en forma estatica, si conocemos todas las tareas las tareas que habra en el sistema asi como todos sus parametros. La carga de trabajo del sistema es estatica si los parámetros no cambian, o puede ser dinámica si las tareas arriban al sistema en distintos tiempos, de forma que en cada arrivo se realiza una prueba de aceptacion (U < 1).
Planificación EDF • Algoritmo optimo bajo un solo procesador y tareas expulsables. • Como se sabe si un conjunto de tareas es planificable bajo EDF ? • Se pueden garantizar los plazos de respuesta si se cumple que: • Optima con una cota de utilización del 100% • Si plazo < periodo, verifica los tiempos de respuesta en un intervalo igual a el hiperperiodo con fase de tareas 0.
Planificación EDF, suposiciones • Las tareas pueden ser periódicas o aperiodicas. • Se ejecutan en un solo procesador • Las tareas son expulsables y no comparten recursos • Los plazos son iguales a los periodos. • No hay overhead del sistema operativo.
Ejemplo El sistema cumple la prueba de utilización (U < 1) 0 20 40 60 80 100 120 140 160
Planificación basada en Prioridades • Rate-Monotonic (prioridades fijas) (2, 1) (5, 2.5) missed deadline Earliest Deadline First (prioridades dinámicas) (2, 1) (5, 2.5) 0 1 2 3 4 5 6 7 8 9 10
Ejemplo 3 T1 0 10 6 T2 2 4 14 T3 4 11 non preemptive EDF, FIFO T1 T2 T3 0 3 9 13 missed deadline preemptive EDF T1 T2 T3 T2 0 3 4 8 13 non preemptive, not priority-driven T1 T3 T2 0 3 4 8 14 intentional idle time
Optimalidad del EDF • Optimalidad del EDF para planificación expulsiva en un solo procesador: • Plan factible = es aquel en el que los tiempos de inicio y los plazos se cumplen • Dado un conjunto de tareas T, si el algoritmo EDF no encuentra un plan factible, entonces no existe un plan factible. T2’s deadline T1’s deadline r1 ,r2 T1 T2 d2 d1 Puede transformarse en: r1 ,r2 T2 T2 T1 d2 d1
Comportamiento del algoritmo EDF • Plan (2, 1) (5, 3) conU = 1.1 • Plan (2, 0.8) (5, 3.5) conU = 1.1 • No se conoce que plazo se perderá a medida que se incrementa la U. NO hay predecibilidad (2, 1) (5, 3) (2, 0.8) (5, 3.5) 0 1 2 3 4 6 7 8 8 9
4. Sobrecargas • En caso de sobrecarga, comportamiento impredecible: • No se sabe qué tareas fallarán. • (No está claro ?) cual debe ser el algoritmo a emplear. • Esto ocurre: • Cuando se producen sobrecargas inesperadas. • Cuando las tareas arriban al sistema o terminan en cualquier instante. • Cuando los parámetros de las tareas cambian constantemente. • En el caso peor puede que no se cumpla ningún plazo. • Considerar la importancia de las tareas. • Que hacer ???.
6. Conclusiones • La planificación dinámica es: • más flexible. • necesaria en ciertos tipos de sistemas. • permite contemplar diversos escenarios. • Importante sobrecarga en tiempo de ejecución. • Tratamiento de recursos compartidos costoso. • No es estable. • Es un tema abierto de investigación.