Title: Dr.%20Pedro%20Mej
1Planificación Dinámica de Tareas
- Dr. Pedro Mejía Alvarez
- CINVESTAV-IPN,
- Sección de Computación
2Indice
- 1 Introducción.
- 2 Metodo de planificacion EDF
- 3 Asignación dinámica de prioridades.
- 4 Estabilidad.
- 5 Resumen.
31. 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.
4Modelo 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, . . . ).
5Parámetros de planificación de las tareas
Valor
Críticas
(Firm)
Acríticas
Tiempo
6Aspectos 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.
7Caracterí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.
8Fases
- Análisis de planificabilidad
- Despachado Cuál es la tarea siguiente a
ejecutar?.
92. 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.
10Planificació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
Jk
Ji
(non-EDF)
dk
di
rk
( rk )
Jk
Jk
Ji
(EDF)
dk
di
11Planificació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 lt 1).
12Planificació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 lt periodo, verifica los tiempos de
respuesta en un intervalo igual a el hiperperiodo
con fase de tareas 0.
13Planificació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.
14Ejemplo
El sistema cumple la prueba de utilización (U lt 1)
0 20 40 60
80 100 120 140
160
15Planificació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
16Ejemplo
3
T1
0
10
6
T2
2
14
4
T3
4
11
non preemptive EDF, FIFO
T1
T2
T3
0
3
9
13
missed deadline
preemptive EDF
T1
T2
T2
T3
4
0
3
8
13
non preemptive, not priority-driven
T1
T2
T3
4
0
3
8
14
intentional idle time
17 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.
T2s deadline
T1s deadline
r1 , r2
T1
T2
d1
d2
Puede transformarse en
r1 , r2
T2
T1
T2
d1
d2
18Comportamiento del algoritmo EDF
- Plan (2, 1) (5, 3) con U 1.1
- Plan (2, 0.8) (5, 3.5) con U 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
194. 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 ???.
206. 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.