Tema 3.

Anuncio
Tema 3
Scheduling
Introducción
Caracterización de tareas
Planificadores
Análisis de planificabilidad
Tareas aperiódicas
Uso de recursos
Modelo extendido
Maria Isabel Alfonso Galipienso. 2006
1
Indice
„ Introducción
„ Caracterización de tareas
„ Planificadores
„ Análisis de planificabilidad
„ Tareas aperiódicas
„ Uso de recursos
„ Modelo extendido
Maria Isabel Alfonso Galipienso. 2006
2
1
Introducción (I)
„
Un sistema de tiempo real debe ser PREDECIBLE
Capacidad del sistema para poder determinar con antelación las
características de respuesta del mismo
„
Existen muchas secuenciaciones posibles de las
tareas, pero solamente algunas de ellas cumplen las
restricciones temporales del sistema
„
Un esquema de scheduling proporciona
„
„
Un algoritmo para determinar el orden de uso de los recursos
del sistema (procesadores) PLANIFICADOR
Una forma de predecir el tiempo de respuesta del sistema en
el peor de los casos cuando se aplica el algoritmo de
scheduling TEST DE PLANIFICABILIDAD
Maria Isabel Alfonso Galipienso. 2006
3
Introducción (II)
El sistema debe:
„
Procesar las actividades periódicas:
„
„
„
Requeridas a intervalos regulares
Completar el trabajo antes de un plazo (deadline)
Responder a eventos esporádicos:
„
„
„
Requeridos a intervalos irregulares
Completar el trabajo antes de un plazo (deadline )
Minimizar la respuesta temporal media
„
Garantizar que los requerimientos temporales críticos
se cumplen durante una sobrecarga transitoria
„
Garantizar la consistencia de recursos compartidos,
como estructuras de datos y dispositivos de I/O
Maria Isabel Alfonso Galipienso. 2006
4
2
Introducción (III)
+ Tests de Planificabilidad
Scheduler
Factores de utilización
Prioridades
Ejecutivo cíclico
Estáticas
Tiempos de respuesta
Dinámicas
Fixed-Priority
Scheduling
FPS
Rate Monotonic
RM
Deadline
Monotonic
DM
Maria Isabel Alfonso Galipienso. 2006
Earliest
Deadline First
EDF
5
Indice
„ Introducción
„ Caracterización de tareas
„ Planificadores
„ Análisis de planificabilidad
„ Tareas aperiódicas
„ Uso de recursos
„ Modelo extendido
Maria Isabel Alfonso Galipienso. 2006
6
3
Notación estándar
C: Tiempo de ejecución en el peor de los casos (WCET)
D: Deadline del proceso (tarea)
I : Tiempo de interferencia para el proceso
J: Release jitter para el proceso
N: Número de procesos en el sistema
P: Prioridad asignada al proceso
R: Tiempo de respuesta en el peor de los casos
T: Periodo del proceso
U: Factor de utilización de cada proceso (igual a C/T)
7
Maria Isabel Alfonso Galipienso. 2006
Caracterización de las tareas (I)
Tiempo de respuesta (R)
Interferencia (I)
Interferencia (I)
T = 10
C=3
I=5
R=8
D=9
Deadline (D)
Periodo (T)
Determinan sus restricciones temporales de
τi =(Ci, Ti, Di, Ii, Ri)
ejecución
Maria Isabel Alfonso Galipienso. 2006
8
4
Caracterización de las tareas (II)
Prioridad → P
ττii==(Ci,
(Ci,Ti,
Ti,Di)
Di)
τ1 = {20,100,100)
τ2 = {40,150,150)
τ3 = {100,300,300)
τ1
T1
1
τ2
T2
2
τ3
T3
3
2
τT1
1
3
1
τT2
2
2
τT3
3
1
3
τT1
1
3
τT2
2
2
τT3
3
1
Maria Isabel Alfonso Galipienso. 2006
9
Modelo de procesos básico (I)
(A1) Conjunto fijo de tareas
(A2) Tareas periódicas con periodos conocidos
(A3) Tareas independientes
(A4) Se ignora overhead del procesador (cambios de
contexto, etc. tienen coste 0)
(A5) Los periodos son iguales a los deadlines (Ti =Di)
(A6) Tiempo de cómputo (C) conocido y fijo
Maria Isabel Alfonso Galipienso. 2006
10
5
Otras asunciones
„ Cada tarea se invoca periódicamente mediante la
ocurrencia de un evento particular
„ Una tarea es “lanzada” (released) cuando está
preparada para ejecución
Instante crítico (máxima carga del procesador)
„ Una tarea puede ser interrumpida (preeempted) si una
tarea de mayor prioridad está preparada para su
ejecución
Maria Isabel Alfonso Galipienso. 2006
11
Indice
„ Introducción
„ Caracterización de tareas
„ Planificadores
„ Análisis de planificabilidad
„ Tareas aperiódicas
„ Uso de recursos
„ Modelo extendido
Maria Isabel Alfonso Galipienso. 2006
12
6
Planificadores (schedulers)
„
Un planificador proporciona un algoritmo de uso de
recursos del sistema por parte de los procesos
„
Planificador óptimo
Si puede planificar todos los conjuntos de procesos que
cualquier otro puede
„
Planificacion INTERRUMPIBLE (Preemptive
scheduling)
„
Instante crítico: cuando todos los procesos son
activados simultáneamente (máxima carga del
procesador)
Maria Isabel Alfonso Galipienso. 2006
13
Planificadores estáticos
„ Analizan estáticamente las tareas para
determinar sus propiedades temporales
„ Orden de ejecución fijo determinado off-line
„ Se puede crear una tabla de ejecución que
cubra un tiempo igual al mcm de los periodos de
las tareas
„ Ejemplos:
„
„
Ejecutivo cíclico
Planificadores de prioridad fija (FPS)
Maria Isabel Alfonso Galipienso. 2006
14
7
Ejecutivo cíclico
„ Se crea una tabla secuencial de llamadas a
procedimientos
„ Se "simula" la ejecución de varias tareas
concurrentes utilizando un único proceso
„ Ventajas:
„
„
No es posible el acceso concurrente a datos
No necesita test de planificabilidad
„ Inconvenientes:
„ Dificultad de incorporar procesos esporádicos, con
largos periodos, o procesos nuevos
„ Dificultad de implementación
15
Maria Isabel Alfonso Galipienso. 2006
Ejecutivo cíclico. Ejemplo 1
t
0
5
10 15 20 25 30 35 40 45
Temp_Control
pH_Control
Level_Control
t
0
5
10 15 20 25 30 35 40 45
Temp_Control
pH_Control
Maria Isabel Alfonso Galipienso. 2006
Level_Control
loop
Temp_Control;
pH_Control ;
Level_Control;
PERIOD := PERIOD + T ;
delay until PERIOD ;
end loop;
loop
Temp_Control ;
if ((cnt mod 2) = 0) then
pH _Control ;
Level_Control;
end if ;
cnt := cnt + 1 ;
PERIOD := PERIOD + T ;
delay until PERIOD ;
end loop;
16
8
Ejecutivo cíclico. Ejemplo 2
Tarea
a
b
c
d
e
T=D
25
25
50
50
100
Interrupción
a
0
b
c
loop
esperar_interrupción;
proc_a;
proc_b;
proc_c;
esperar_interrupción;
proc_a;
proc_b;
proc_d;
proc_e;
esperar_interrupción;
proc_a;
proc_b;
proc_c;
esperar_interrupción;
proc_a;
proc_b;
proc_d;
end loop;
C
10
8
5
4
2
Interrupción
a
b
Interrupción
de
a
25
Maria Isabel Alfonso Galipienso. 2006
b
c
50
Interrupción
aa
bb dd
75
TIEMPO
17
Fixed Priority Scheduling (FPS)
RM: Rate Monotonic
p La prioridad se asigna en función del PERIODO
p A menor periodo → mayor prioridad
Ti < Tj ⇒ Pi > Pj
p Es una asignación ÓPTIMA
DM: Deadline Monotonic
p La prioridad se asigna en función del DEADLINE
p A menor deadline → mayor prioridad
Di < Dj ⇒ Pi > Pj
p Es una asignación ÓPTIMA
Maria Isabel Alfonso Galipienso. 2006
18
9
Ejemplos RM y DM
RM
DM
T
D
P
a
20
5
4
3
b
15
7
3
4
c
10
10
2
d
105 1
d
20
20
1
e
75
Tarea
T
P
a
25
5
b
60
c
42
Tarea
2
Maria Isabel Alfonso Galipienso. 2006
19
Planificadores dinámicos
„ Analizan dinámicamente las tareas para
determinar sus propiedades temporales
„ Orden de ejecución determinado on-line
„ Se obtienen secuenciaciones más flexibles
„ Comprenden los siguientes pasos:
Análisis de factibilidad, scheduling, dispatching.
„ Ejemplos:
„ EDF
Maria Isabel Alfonso Galipienso. 2006
20
10
Earliest Deadline First (EDF)
„ Selecciona la siguiente tarea a ejecutar
dependiendo de su deadline absoluto
„ Se elige la tarea con deadline absoluto más
cercano
„ La decisión se realiza en tiempo de ejecución
„ Es una asignación óptima
21
Maria Isabel Alfonso Galipienso. 2006
Ejemplo EDF
EDF
Tarea
a
0
5
10
T=D
C
a
5
2
b
7
4
15
20
25
30
35
b
0
7
14
21
28
35
TIEMPO
Maria Isabel Alfonso Galipienso. 2006
22
11
Indice
„ Introducción
„ Caracterización de tareas
„ Planificadores
„ Análisis de planificabilidad
„ Tareas aperiódicas
„ Uso de recursos
„ Modelo extendido
Maria Isabel Alfonso Galipienso. 2006
23
Tests de Planificabilidad
„ Son métodos utilizados para determinar si el
sistema cumplirá con las restricciones
establecidas
„ Ejemplos:
„
Utilización de diagramas de tiempo
„
Test basado en factores de utilización
„
Test basado en tiempos de respuesta
Maria Isabel Alfonso Galipienso. 2006
24
12
Factores de utilización
Se denomina factor de utilización U de un
conjunto Γ de N tareas periódicas a la fracción de
tiempo utilizado por el procesador para ejecutar
dicho conjunto de tareas
N
Ci
i =1 Ti
U =∑
Existe un valor máximo de U por encima del
cual Γ no es planificable
25
Maria Isabel Alfonso Galipienso. 2006
Test factores de utilización (RM)
Dado un conjunto Γ de N tareas periódicas
secuenciadas según RM, Γ será
planificable SI:
N
1
Ci
∑ T ≤ N (2 N −1)
i =1 i
N
1
2
3
4
...
∞
U
100 %
82,8 %
78,0 %
75,7 %
...
69,3%
Se trata de una condición SUFICIENTE
Maria Isabel Alfonso Galipienso. 2006
26
13
Test factores de utilización (RM). Ejemplo 1
Tarea
a
C
T=D P
U
20
100 3
0,2
b
40
150 2
0,267
c
100
350 1
0,286
RM
n
U(n)
1
1.000
2
0.828
3
0.779
4
0.756
5 0.743
...
...
∞ 0.693
Uso total 75.3 % ≤ U(3) = 77.9 %
Un 24.7 % de la CPU se puede utilizar para
cálculos sin requerimientos temporales, a más
baja prioridad.
a
b
OK!
c
0
100
150
200
300
350
27
Maria Isabel Alfonso Galipienso. 2006
Test factores de utilización (RM). Ejemplo 2
C
T=D P
a
40
80
1
0,50
b
10
40
2
0,25
c
5
20
3
0,25
Tarea
RM
U
Uso total 100 %
Falla el
test!
a
b
OK!
c
0
10
20
30
Maria Isabel Alfonso Galipienso. 2006
40
50
60
70
80
35
28
14
Test factores de utilización (DM)
Dado un conjunto Γ de N tareas periódicas
secuenciadas según DM, Γ será
planificable SI:
N
1
Ci
∑ D ≤ N (2 N −1)
i =1
i
Se trata de una condición SUFICIENTE
Maria Isabel Alfonso Galipienso. 2006
29
Test factores de utilización (EDF)
Dado un conjunto Γ de N tareas periódicas
secuenciadas según EDF, Γ será
planificable SI Y SOLO SI:
N
Ci
∑ T ≤1
i =1 i
Se trata de una condición SUFICIENTE y
NECESARIA
Maria Isabel Alfonso Galipienso. 2006
30
15
Test factores de utilización (EDF)
Ejemplo 1
C
T=D U
a
40
80
0,50
b
10
40
0,25
c
5
20
0,25
Tarea
Uso total 100 %
EDF
a
b
OK!
c
0
10
20
30
40
50
60
70
80
35
31
Maria Isabel Alfonso Galipienso. 2006
Test factores de utilización (EDF) Ejemplo
2
C
T=D U
a
2
5
0,40
b
4
7
0,57
Tarea
EDF
Uso total 97 %
a
0
5
10
15
20
25
30
35
b
0
RM
7
14
21
28
a
35
Falla!
b
0
7
Maria Isabel Alfonso Galipienso. 2006
14
21
28
35
32
16
Tiempos de respuesta
„ Instante crítico de una tarea τi: es el tiempo
en el que la activación de dicha tarea da
lugar a un tiempo de respuesta máximo para
τi
„ El tiempo máximo de respuesta Ri para una
tarea periódica τi se calcula, en su instante
crítico, como:
Ri = Ci + Ii
33
Maria Isabel Alfonso Galipienso. 2006
Cálculo de Ri
„ Tiempo máximo de respuesta de una tarea en
su instante crítico:
⎡ Ri ⎤
Ri = Ci + ∑ ⎢ ⎥ ⋅ C j
j∈hp(i ) ⎢T j ⎥
Solución de la ecuación:
k +1
i
R
Maria Isabel Alfonso Galipienso. 2006
⎡ Rik ⎤
= Ci + ∑ ⎢ ⎥ ⋅ C j
j∈hp( i ) ⎢ T j ⎥
34
17
Test tiempos respuesta (RM)
Dado un conjunto Γ de N tareas periódicas
secuenciadas según RM, Γ será
planificable SI Y SÓLO SI:
Ri ≤ Ti , ∀i = 1..N
Se trata de una condición SUFICIENTE y
NECESARIA
35
Maria Isabel Alfonso Galipienso. 2006
Test tiempos respuesta (RM) Ejemplo (I)
C
T=D P
a
40
80
1
b
10
40
2
c
5
20
3
Tarea
Tarea c
RM
Rc0 = 5
Rc1 = 5
Rc0 = Rc1 = 5 ≤ 20
Maria Isabel Alfonso Galipienso. 2006
OK!
36
18
Test tiempos respuesta (RM) Ejemplo
(II)
C
T=D P
a
40
80
1
b
10
40
2
c
5
20
3
Tarea
RM
Tarea b
Rb0 = 10
⎡10⎤
Rb1 = 10 + 5 ⋅ ⎢ ⎥ = 10 + 5 = 15
⎢ 20⎥
⎡15⎤
Rb2 = 10 + 5 ⋅ ⎢ ⎥ = 10 + 5 = 15
⎢ 20⎥
Rb1 = Rc2 = 15 ≤ 40 OK!
37
Maria Isabel Alfonso Galipienso. 2006
Test tiempos respuesta (RM)
Ejemplo (III)
Tarea
a
RM
C
40
T=D P
1
80
b
10
40
2
c
5
20
3
Tarea a
Ra0 = 40
⎡ 40 ⎤
⎡ 40 ⎤
Ra1 = 40 + 10 ⋅ ⎢ ⎥ + 5 ⋅ ⎢ ⎥ = 40 + 10 + 10 = 60
⎢ 40 ⎥
⎢ 20 ⎥
⎡ 60 ⎤
⎡ 60 ⎤
Ra2 = 40 + 10 ⋅ ⎢ ⎥ + 5 ⋅ ⎢ ⎥ = 40 + 20 + 15 = 75
⎢ 40 ⎥
⎢ 20 ⎥
⎡ 75 ⎤
⎡ 75 ⎤
Ra3 = 40 + 10 ⋅ ⎢ ⎥ + 5 ⋅ ⎢ ⎥ = 40 + 20 + 20 = 80
⎢ 40 ⎥
⎢ 20 ⎥
⎡ 80 ⎤
⎡ 80 ⎤
Ra4 = 40 + 10 ⋅ ⎢ ⎥ + 5 ⋅ ⎢ ⎥ = 40 + 20 + 20 = 80
⎢ 40 ⎥
⎢ 20 ⎥
Maria Isabel Alfonso Galipienso. 2006
OK!
38
19
Test tiempos respuesta (RM)
Ejemplo (IV)
C
T=D P
a
40
80
1
b
10
40
2
c
5
20
3
Tarea
RM
a
Ra = 80
b
Rb = 15
c
0
10
20
30
40
50
60
70
80
Rc = 5
Maria Isabel Alfonso Galipienso. 2006
35
39
Test tiempos respuesta (DM)
Dado un conjunto Γ de N tareas periódicas
secuenciadas según DM, Γ será
planificable SI Y SÓLO SI:
Ri ≤ Di , ∀i = 1..N
Se trata de una condición SUFICIENTE y
NECESARIA
Maria Isabel Alfonso Galipienso. 2006
40
20
Resumen tests planificabilidad
Prioridades estáticas
N
C
i=1
i
Di = Ti
Di≤ Ti
RM
DM
1
∑Ti ≤ N(2 N −1)
Ri ≤ Di , ∀i =1..N
Ri ≤ Ti , ∀i =1..N
EDF
Prioridades dinámicas
N
C
i=1
i
∑Ti ≤1
41
Maria Isabel Alfonso Galipienso. 2006
Cambios de contexto
„
Tiempo de salvar el contexto de la tarea en ejecución
+ atención a la interrupción
+ resolución
+ selección de la tarea a ejecutar
+ recuperación del estado de la tarea
Csb
Planificar y recuperar el contexto
Tarea 1
Tarea 2
Peor caso: 2 cambios por cada expulsión
Csa
Salvar el contexto
Maria Isabel Alfonso Galipienso. 2006
42
21
Cambios de contexto
Ejemplo (I)
Cs = 2 ms
C1 = 20 + 4 T1 = 100 U1 = 0.24
C2 = 40 + 4 T2 = 150 U2 = 0.293
C3 =100 + 4 T3 = 350 U3 = 0.297
No cumple
el test 1
U = 0.831 > U(3) = 0.779
Tarea 1: W1 = C1 = 24
0
W = C + 0 = 24 ≤ T
1
1
1
1
= 100
BIEN
W = C = 44
0
Tarea 2:
2
2
⎡
⎤
⎡ 44 ⎤
W = C + ∑ ⎢⎢W ⎥⎥ = 44+ ⎢⎢100⎥⎥24 = 68
⎢T ⎥
⎡
⎤
⎡ 68 ⎤
W = C + ∑ ⎢⎢W ⎥⎥ = 44+ ⎢⎢100⎥⎥24 = 68
T
⎢
⎥
=
=
68
≤
=
W W
T 150 BIEN!
0
1
2
2
2
∀j∈{1}
j
1
2
2
2
2
1
2
2
2
∀j∈{1}
j
2
43
Maria Isabel Alfonso Galipienso. 2006
Cambios de contexto
Ejemplo (I)
Cs = 2 ms
C1 = 20 + 4 T1 = 100 U1 = 0.24
C2 = 40 + 4 T2 = 150 U2 = 0.293
C3 =100 + 4 T3 = 350 U3 = 0.297
W =C
3
= 104
W =C
3
+
0
3
Tarea 3:
1
3
+
3
W =C
3
3
En cambio, con un T3 = 250
no cumpliria el test.
∀j∈{1, 2}
W =C
2
3
3
⎡
∑ ⎢W
⎢⎢ T
⎡
∑ ⎢W
⎢⎢ T
⎡
∑ ⎢W
⎢⎢ T
+
∀j∈{1, 2}
∀j∈{1, 2}
0
3
j
⎤
⎡104 ⎤
⎡104 ⎤
24 + ⎢
44 = 196
⎥ = 104 + ⎢
⎢100 ⎥⎥
⎢150 ⎥⎥
⎥⎥
⎤
⎡196 ⎤
⎡196 ⎤
24 + ⎢
44 = 240
⎥ = 104 + ⎢
⎢100 ⎥⎥
⎢150 ⎥⎥
⎥
j ⎥
1
3
2
3
j
⎤
⎡ 240 ⎤
⎡ 240 ⎤
24 + ⎢
44 = 264
⎥ = 104 + ⎢
⎢ 100 ⎥⎥
⎢ 150 ⎥⎥
⎥⎥
⎡ 264 ⎤
⎡ 264 ⎤
W34 = 104 + ⎢
24 + ⎢
44 = 264
⎥
⎢ 100 ⎥
⎢ 150 ⎥⎥
Cumple
W33 = W34 = 264 < T3 = 350
el test 2
Maria Isabel Alfonso Galipienso. 2006
44
22
Indice
„ Introducción
„ Caracterización de tareas
„ Planificadores
„ Análisis de planificabilidad
„ Tareas aperiódicas
„ Uso de recursos
„ Modelo extendido
Maria Isabel Alfonso Galipienso. 2006
45
Tareas aperiódicas (I)
Se pueden producir en cualquier instante.
Se ejecutan bajo petición explicita mediante una
interrupción al sistema
Pueden ser de dos tipos:
Críticas: se transforman en periódicas, con un
período que depende de plazo de entrega
deseado y la separación.
No Críticas: se pretende ofrecer buenos tiempos de
respuesta mediante un servicio aperiódico.
Manejador de interrupción
Resolución Servidor “background”
Servidor por consulta ("polling")
Servidor “diferido” ("deferred")
Maria Isabel Alfonso Galipienso. 2006
46
23
Rutina de interrupción
0
5
10
15
20
25
30
35
40
TT11::(P
(P11=15,
=15, DD11=5,
=5, CC11=1)
=1)
TT22::(P
(P22=8,
=8, DD22=8,
=8, CC22=2)
=2)
TT33::(P
(P33=5,
=5, DD33=15,
=15, CC33=6)
=6)
Distorsiona totalmente
el esquema de prioridades.
0
5
10
15
20
25
30
35
40
Tiempo de respuesta
inmediato
47
Maria Isabel Alfonso Galipienso. 2006
Background server
Se puede asumir que las tareas aperiódicas se ejecutan con la
prioridad más baja de todas y con una política de FCFS.
(Servidor de background)
El problema fundamental es el tiempo de respuesta
de las tareas aperiódicas: impredecible
(P11=15,
=15, DD11=5,
=5, CC11=1)
=1)
TT11::(P
(P22=8,
=8, DD22=8,
=8, CC22=2)
=2)
TT22::(P
(P33=5,
=5, DD33=15,
=15, CC33=6)
=6)
TT33::(P
0
5
10
15
20
25
30
35
40
TT44::(P
(P44=∞
=∞, ,DD44=∞,
=∞,CC44==∞)
∞)
Maria Isabel Alfonso Galipienso. 2006
48
24
Polling server
Se le puede asignar una prioridad mayor y limitarle el tiempo
de cómputo (Servidor de consulta). Cada período se rellena el
tiempo de cómputo.
La tarea tiene un tiempo de cómputo Cs máximo, un período y
una prioridad, con lo que se puede incorporar en el análisis de
planificabilidad del sistema.
0
5
10
15
20
25
30
35
40
En el peor caso
se comportará
así
planificable
49
Maria Isabel Alfonso Galipienso. 2006
Deferrable server
0
Factor de
utilización máximo
del servidor
CDS
Ds_Util_max = ——≤
TDS
5
10
15
20
25
30
35
40
U +2
ln P————
2UP + 1
Cs
Tiempo disponible del servidor
Mientras al servidor le quede tiempo atiende las peticiones de
servicio aperiódico que se presenten. Cuando ya no tiene tiempo, ha
de esperar al siguiente período para recargar Cs.
Si al final no ha conseguido ejecutarlo se pierde.
Maria Isabel Alfonso Galipienso. 2006
50
25
Tests planificabilidad (RM)
Condición suficiente
POLLING SERVER
Test para actividades PERIÓDICAS
U p + US ≤ U (n + 1)
para 1 servidor:
1
Ci CS
⎡
+
≤ (n + 1) ⋅ 2 ( n+1) − 1⎤
∑
⎢⎣
⎥⎦
TS
i =1 Ti
n
para m servidores:
m
UP + ∑
CSj
J =1 TSj
≤ U (n + m)
51
Maria Isabel Alfonso Galipienso. 2006
Tests planificabilidad (RM)
DEFERRABLE SERVER
Condición suficiente
Test para actividades
PERIÓDICAS
para 1 servidor:
Maria Isabel Alfonso Galipienso. 2006
⎛ U +2 ⎞
⎟⎟
U P ≤ ln⎜⎜ S
U
2
⋅
+
1
S
⎝
⎠
52
26
Indice
„ Introducción
„ Caracterización de tareas
„ Planificadores
„ Análisis de planificabilidad
„ Tareas aperiódicas
„ Uso de recursos
„ Modelo extendido
Maria Isabel Alfonso Galipienso. 2006
53
Uso de recursos
Las tareas interactuan mediante:
p Datos protegidos
p Directamente (cita)
Pueden producirse bloqueos de tareas:
p
bloqueo directo: cuando se llama a otra tarea
ocupada
p
bloqueo indirecto: una tarea se bloquea por
que otra tarea está utilizando el recurso de
modo exclusivo
Maria Isabel Alfonso Galipienso. 2006
27
Bloqueo de tareas
„ Las tareas más prioritarias se pueden
retrasar debido a otras de menor prioridad
„
Ejemplo: cuando una tarea de menor prioridad
está consumendo un recurso compartido y otra
tarea de mayor prioridad es "activada"
„ Un proceso que espera a otro proceso de
menor prioridad, se dice que está bloqueado
(inversión de prioridades)
55
Maria Isabel Alfonso Galipienso. 2006
Inversión de prioridades
T4
T3
T2
T1
0
2
4
6
8
Ejecutando
Interrumpido
Q bloqueado
Bloqueado
V bloqueado
10
12
14
16
18
Tarea Prioridad Sec. ejecución Activación
T4
4
EEQVE
4
T3
T2
T1
3
2
1
EVVE
EE
EQQQQE
2
2
0
Maria Isabel Alfonso Galipienso. 2006
28
Políticas de planificación
„ Para limitar el efecto de la inversión de
prioridad derivada de un esquema puro de
prioridades estáticas se utilizan:
„
„
„
Herencia de prioridades (No es óptimo)
Techo de prioridades (OCCP)
Techo de prioridades inmediato (ICCP)
La prioridad de un proceso ya no es estática
57
Maria Isabel Alfonso Galipienso. 2006
Herencia de prioridades
T4
T3
T2
T1
0
2
18
Ejecutando
Q bloqueado
4
6
Interrumpido
Bloqueado
V bloqueado
8
10
12
14
16
Tarea Prioridad Sec. ejecución Activación
T4
4
EEQVE
T3
3
EVVE
4
2
T2
2
EE
2
T1
1
EQQQQE
0
Maria Isabel Alfonso Galipienso. 2006
29
Herencia de prioridad. Bloqueos (I)
„ Bloqueo que puede sufrir una tarea i:
K
Bi = Σ (uso(k,i) C(k))
k=1
„ uso(k,i) = 1 si el recurso k se utiliza al menos
por un proceso con una prioridad < Pi y al
menos por un proceso con prioridad ≥ a Pi. En
otro caso será 0.
„ C(k) es el tiempo de ejecución de la sección
crítica k en el peor caso
59
Maria Isabel Alfonso Galipienso. 2006
Herencia de prioridad. Bloqueos (II)
Ambos tests son
condición suficiente
i
Test de factores de
Ck Bi
⎛⎜ 2 1i − 1⎞⎟
∀
≤
≤
+
≤
⋅
i
,
1
i
n
,
i
∑
utilización (Di= Ti):
⎝
⎠
Ti
k =1 Tk
Test de garantía
(Di ≤ Ti):
∀i, Ri = Ci + Bi +
Cálculo del bloqueo:
Bi = min(Bil , Bis )
Maria Isabel Alfonso Galipienso. 2006
Bil =
⎡ Ri ⎤
∑ ⎢ ⎥ ⋅ C j ≤ Di
j∈hp(i ) ⎢ Tj ⎥
∑ max[D
j∈lp(i )
m
k
j,k
: C(Sk ) ≥ Pi
]
Bis = ∑ max[D j,k : C(Sk ) ≥ Pi ]
k =1
j∈lp( i )
60
30
Protocolos de techo de prioridad (I)
El techo de prioridad de un recurso compartido es la
prioridad de la tarea de más alta prioridad que puede
bloquear el recurso.
Ventajas:
„
Una tarea solamente puede ser bloqueada como
mucho una sóla vez durante su ejecución por un
proceso de menor prioridad.
„
No se producen interbloqueos.
„
Se evitan bloqueos transitivos (transitive blocking)
„
Se asegura acceso en exclusión mutua a los recursos
Maria Isabel Alfonso Galipienso. 2006
OCPP
p Cada
tarea tiene una prioridad estática asignada por
defecto.
p Cada
recurso tiene definido un techo de prioridad:
máxima prioridad de la tarea que lo usa
p Cada
tarea tiene una prioridad dinámica: máximo entre
su propia prioridad estática y cualquiera que herede
debido a que bloquea a tareas más prioritarias. La
prioridad máxima que puede heredar es la del techo del
recurso.
p Una
tarea puede bloquear un recurso solamente si su
prioridad dinámica es mayor que el techo de cualquier
recurso actualmente bloqueado por otras tareas.
Maria Isabel Alfonso Galipienso. 2006
31
OCPP.Ejemplo
T4
T3
T2
T1
0
2
4
6
8
Ejecutando
Interrumpido
Q bloqueado
Bloqueado
V bloqueado
10
12
14
16
18
Tarea Prioridad Sec. ejecución Activación
T4
4
EEQVE
4
T3
3
EVVE
2
T2
2
EE
2
T1
1
EQQQQE
0
Maria Isabel Alfonso Galipienso. 2006
OCPP. Bloqueos (I)
„ Bloqueo que puede sufrir una tarea i:
K
Bi = max (uso(k,i) C(k))
k=1
„ Cálculo del tiempo de respuesta Ri = Ci + Bi + Ii
„ Se permite un primer bloqueo de un recurso en
el sistema
„ Se asegura que un segundo recurso será
bloqueado solamente si no existe un proceso de
mayor prioridad que usa ambos recursos
Maria Isabel Alfonso Galipienso. 2006
64
32
OCPP. Bloqueos (II)
Ambos tests son
condición suficiente
Test de factores de
utilización (Di= Ti):
Test de garantía
(Di ≤ Ti):
i
1
Ck Bi
+ ≤ i ⋅ ⎛⎜ 2 i − 1⎞⎟
⎝
⎠
Ti
k =1 Tk
∀i,1 ≤ i ≤ n, ∑
∀i, Ri = Ci + Bi +
Cálculo del bloqueo:
⎡ Ri ⎤
∑ ⎢T ⎥ ⋅ C
j∈hp( i )
⎢
j
⎥
j
≤ Di
{
Bi = max Dj,k Pj < Pi , C(Sk ) ≥ Pi
j ,k
Maria Isabel Alfonso Galipienso. 2006
}
65
ICPP
z
Cada tarea tiene una prioridad estática por
defecto asignada.
z
Cada recurso tiene un techo de prioridad
asignado (máxima prioridad de las tareas que lo
usan).
z
Cada tarea tiene una prioridad dinámica que es
igual al máximo entre su prioridad estática y los
valores “techo” de cualquier recurso que en ese
momento esté bloqueado.
Maria Isabel Alfonso Galipienso. 2006
33
ICPP.Ejemplo
T4
T3
T2
T1
0
2
18
Ejecutando
Q bloqueado
4
6
Interrumpido
Bloqueado
V bloqueado
8
10
12
14
16
Tarea Prioridad Sec. ejecución Activación
T4
4
EEQVE
4
T3
3
EVVE
2
T2
2
EE
2
T1
1
EQQQQE
0
Maria Isabel Alfonso Galipienso. 2006
ICPP. Características
„ El tiempo de respuesta en el peor de los
casos se calcula igual que para OCPP
„ Es más fácil de implementar que un OCPP
„ Provoca menos cambios de contexto
„ Requiere más “cambios” de prioridad (OCPP
solamente cambia la prioridad si ocurre un
bloqueo real)
Maria Isabel Alfonso Galipienso. 2006
68
34
Indice
„ Introducción
„ Caracterización de tareas
„ Planificadores
„ Análisis de planificabilidad
„ Tareas aperiódicas
„ Uso de recursos
„ Modelo extendido
69
Maria Isabel Alfonso Galipienso. 2006
Release jitter (I)
„ La variación máxima en el “lanzamiento” de un proceso se
denomina JITTER (J)
„ Las tareas esporádicas suelen sufrir jitter
P. ej. en el caso de una tarea S esporádica que es lanzada por una
tarea periódica L desde otro procesador
„
TL= 20 La primera ejecución
L
t
S
t+15
t+20
Js
RL= 15
de L termina en RL
CL=1
La segunda ejecución
de L termina después
de CL
L y S NO comparten un
instante crítico
Máxima variación Js = 15
t
t+15
Maria Isabel Alfonso Galipienso. 2006
t+21
70
35
Release jitter (II)
„ Tiempo de respuesta en el peor de los casos:
Ri = Bi + Ci + ∑
Ri + Ji
Cj
Tj
j∈hp(i)
„ Las tareas periódicas pueden sufrir “jitter”
dependiendo de la granularidad del “reloj” del
sistema
Ri periódica = Ri + Ji
71
Maria Isabel Alfonso Galipienso. 2006
Deadlines arbitrarios
„ Di puede ser mayor que el periodo Ti
„ Para cada lanzamiento se define una ventana w(q)
n
win+1(q) = Bi + (q+1)Ci + ∑ wi (q)
j∈hp(i)
Ri(q) = win(q) - qTi
T
Cj
j
„ El número de lanzamientos está limitado por el valor más
pequeño de q que cumple la relación: Ri(q) ≤ Ti
„ El peor tiempo de respuesta el por lo tanto asociado al máximo
valor encontrado para cada q:
Ri = maxq=0,1,2,... Ri(q)
Maria Isabel Alfonso Galipienso. 2006
72
36
Deadlines arbitrarios
„ Si queremos tener en cuenta el efecto del Jitter,
modificaremos el análisis anterior incrementando el factor
que representa la inferencia
win+1(q)
= Bi + (q+1)Ci + ∑
j∈hp(i)
win(q)+Jj
Tj
Cj
„ Si un proceso puede sufrir jitter, entonces dos ventanas
consecutivas pueden solapar si el tiempo de respuesta más
el jitter es mayor que el periodo
Ri(q) = win(q) - qTi + Ji
Maria Isabel Alfonso Galipienso. 2006
73
Asignación de prioridades
„ Teorema:
Si a un proceso P se le asigna la menor prioridad y es factible,
entonces, si existe una ordenación de prioridades factible para el
conjunto completo de procesos, existirá una ordenación en la que a
P se le asigne la menor prioridad
procedure assign_pri (set: in out process_set; N:natural;
ok: out:boolean);
begin
for k in 1..N loop
for next in k..N loop
swap (set, K, next);
process_test (set, k, ok);
end loop;
exit when not ok;
end loop;
end assign_pri;
Maria Isabel Alfonso Galipienso. 2006
74
37
Prioridades en Ada (I)
Hay que asociar prioridades a las tareas.
El sistema proporciona lo siguiente una rango de prioridades
(0..32) y una por defecto (16).
Se definen mediante pragma
task Controller is
pragma Priority(10);
end Controller;
Prioridad base
task type Productor(pid: INTEGER; prio: System.Priority) is
pragma Priority(prio);
end Productor;
Maria Isabel Alfonso Galipienso. 2006
Prioridades en Ada (II)
„ Prioridad BASE: prioridad asignada mediante
"pragmas"
„ Prioridad ACTIVA: es el máximo entre entre la
prioridad base y cualquier otra prioridad heredada
„ Formas de heredar prioridades:
„
Mediante el uso de objetos protegidos
„ Durante la activación: se hereda la prioridad activa del
padre
„ Durante una cita: la tarea que realiza el "accept" hereda la
prioridad activa de la tarea que realiza la llamada a la
entrada (si es mayor que la propia)
Maria Isabel Alfonso Galipienso. 2006
76
38
Prioridades Ceiling Locking
„ Los objetos protegidos necesitan mantener la consistencia de
sus datos
„ La exclusión mutua puede garantizarse mediante el uso del
modelo de prioridades de Ada
„ Cada objeto protegido tiene asignado un techo de prioridad
que es mayor o igual que la prioridad más alta de cualquiera
de las tareas que lo llaman
„ Cuando una tarea llama a una operación protegida, su
prioridad se convierte automáticamente en la del objeto
protegido
„
Si una tarea que quiere acceder a un objeto protegido está en ejecución
entonces el objeto protegido no puede estar ya ocupado
Maria Isabel Alfonso Galipienso. 2006
77
Ceiling Locking (ICCP)
„ A cada objeto protegido se le asigna una prioridad mediante
un pragma
„ Si se omite el prama, se asume Priority'Last
„ La excepción Program_Error es lanzada si la tarea que
llama tiene una prioridad activa mayor que el techo
„ Utilizando ceiling locking, una implementación efectiva usará
el hilo de ejecución de la tarea que llama para ejecutar no
solamente la operación protegida sino también para ejecutar
el código de cualqueir otra tarea que tenga que ser lanzada
(activada) como resultado de la llamada
Maria Isabel Alfonso Galipienso. 2006
78
39
Descargar