Indice - uaMaria Isabel Alfonso Galipienso. 2006 9 Caracterización de las tareas (II) Prioridad →...
Transcript of Indice - uaMaria Isabel Alfonso Galipienso. 2006 9 Caracterización de las tareas (II) Prioridad →...
1
1Maria Isabel Alfonso Galipienso. 2006
Tema 3Scheduling
IntroducciónCaracterización de tareas
PlanificadoresAnálisis de planificabilidad
Tareas aperiódicasUso de recursos
Modelo extendido
2Maria Isabel Alfonso Galipienso. 2006
Indice
IntroducciónCaracterización de tareasPlanificadoresAnálisis de planificabilidadTareas aperiódicasUso de recursosModelo extendido
2
3Maria Isabel Alfonso Galipienso. 2006
Introducción (I)
Un sistema de tiempo real debe ser PREDECIBLECapacidad 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 proporcionaUn algoritmo para determinar el orden de uso de los recursos del sistema (procesadores) PLANIFICADORUna 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
4Maria Isabel Alfonso Galipienso. 2006
Introducción (II)El sistema debe:
Procesar las actividades periódicas:Requeridas a intervalos regularesCompletar el trabajo antes de un plazo (deadline)
Responder a eventos esporádicos:Requeridos a intervalos irregularesCompletar 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
3
5Maria Isabel Alfonso Galipienso. 2006
Introducción (III)
Scheduler
Ejecutivo cíclico Prioridades
Estáticas Dinámicas
Rate MonotonicRM
DeadlineMonotonic
DM
Fixed-PriorityScheduling
FPS
EarliestDeadline First
EDF
+ Tests de PlanificabilidadFactores de utilización
Tiempos de respuesta
6Maria Isabel Alfonso Galipienso. 2006
Indice
IntroducciónCaracterización de tareasPlanificadoresAnálisis de planificabilidadTareas aperiódicasUso de recursosModelo extendido
4
7Maria Isabel Alfonso Galipienso. 2006
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 procesoJ: Release jitter para el procesoN: Número de procesos en el sistemaP: Prioridad asignada al procesoR: Tiempo de respuesta en el peor de los casos T: Periodo del procesoU: Factor de utilización de cada proceso (igual a C/T)
8Maria Isabel Alfonso Galipienso. 2006
Caracterización de las tareas (I)
Tiempo de respuesta (R)
Deadline (D)
Periodo (T)
T = 10C = 3I = 5
Interferencia (I) Interferencia (I) R = 8D = 9
Determinan sus restricciones temporales de ejecución τi =(Ci, Ti, Di, Ii, Ri)
5
9Maria Isabel Alfonso Galipienso. 2006
Caracterización de las tareas (II)
Prioridad → P
τ1 = {20,100,100) τ2 = {40,150,150) τ3 = {100,300,300)
1
τi = (Ci, Ti, Di)τi = (Ci, Ti, Di)
3T1
T2
T3
3
2
1
τ1
τ2
τ3
T1
T2
T3 3
2
1τ1
τ2
τ3
2T1
T2
T3
3
2
1
τ1
τ2
τ3
10Maria Isabel Alfonso Galipienso. 2006
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
6
11Maria Isabel Alfonso Galipienso. 2006
Otras asunciones
Cada tarea se invoca periódicamente mediante la ocurrencia de un evento particularUna tarea es “lanzada” (released) cuando estápreparada para ejecución
Una tarea puede ser interrumpida (preeempted) si una tarea de mayor prioridad está preparada para su ejecución
Instante crítico (máxima carga del procesador)
12Maria Isabel Alfonso Galipienso. 2006
Indice
IntroducciónCaracterización de tareasPlanificadoresAnálisis de planificabilidadTareas aperiódicasUso de recursosModelo extendido
7
13Maria Isabel Alfonso Galipienso. 2006
Planificadores (schedulers)
Un planificador proporciona un algoritmo de uso de recursos del sistema por parte de los procesos
Planificador óptimoSi puede planificar todos los conjuntos de procesos que cualquier otro puede
Planificacion INTERRUMPIBLE (Preemptivescheduling)
Instante crítico: cuando todos los procesos son activados simultáneamente (máxima carga del procesador)
14Maria Isabel Alfonso Galipienso. 2006
Planificadores estáticos
Analizan estáticamente las tareas para determinar sus propiedades temporalesOrden de ejecución fijo determinado off-lineSe puede crear una tabla de ejecución que cubra un tiempo igual al mcm de los periodos de las tareasEjemplos:
Ejecutivo cíclicoPlanificadores de prioridad fija (FPS)
8
15Maria Isabel Alfonso Galipienso. 2006
Ejecutivo cíclicoSe crea una tabla secuencial de llamadas a procedimientosSe "simula" la ejecución de varias tareas concurrentes utilizando un único procesoVentajas:
No es posible el acceso concurrente a datosNo necesita test de planificabilidad
Inconvenientes:Dificultad de incorporar procesos esporádicos, con largos periodos, o procesos nuevosDificultad de implementación
16Maria 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 Level_Control
loopTemp_Control; pH_Control ;Level_Control;PERIOD := PERIOD + T ;delay until PERIOD ;
end loop;
loopTemp_Control ;if ((cnt mod 2) = 0) then
pH _Control ;Level_Control;
end if ;cnt := cnt + 1 ;PERIOD := PERIOD + T ;delay until PERIOD ;
end loop;
9
17Maria Isabel Alfonso Galipienso. 2006
Ejecutivo cíclico. Ejemplo 2
e cc a b dbbb bd daaa a
loopesperar_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;Interrupción Interrupción Interrupción Interrupción
TIEMPO
0 25 50 75
Tarea T=D Ca 25 10b 25 8c 50 5d 50 4e 100 2
18Maria Isabel Alfonso Galipienso. 2006
RM: Rate Monotonicp La prioridad se asigna en función del PERIODOp A menor periodo → mayor prioridad
Ti < Tj ⇒ Pi > Pj
p Es una asignación ÓPTIMA
Fixed Priority Scheduling (FPS)
DM: Deadline Monotonicp La prioridad se asigna en función del DEADLINEp A menor deadline → mayor prioridad
Di < Dj ⇒ Pi > Pj
p Es una asignación ÓPTIMA
10
19Maria Isabel Alfonso Galipienso. 2006
Ejemplos RM y DM
Tarea T D P
a 20 5
b 15 7
c 10 10
d 20 20
DM
Tarea T P
a 25
b 60
c 42
d 105
e 75
RM
5
4
3
2
1
4
3
2
1
20Maria Isabel Alfonso Galipienso. 2006
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
11
21Maria Isabel Alfonso Galipienso. 2006
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
22Maria Isabel Alfonso Galipienso. 2006
Ejemplo EDF
Tarea T=D C
a 5 2
b 7 4
EDF
TIEMPO
0 7 14 21 28 35
200 5 10 25 30 3515a
b
12
23Maria Isabel Alfonso Galipienso. 2006
Indice
IntroducciónCaracterización de tareasPlanificadoresAnálisis de planificabilidadTareas aperiódicasUso de recursosModelo extendido
24Maria Isabel Alfonso Galipienso. 2006
Tests de Planificabilidad
Son métodos utilizados para determinar si el sistema cumplirá con las restricciones establecidasEjemplos:
Utilización de diagramas de tiempo
Test basado en factores de utilización
Test basado en tiempos de respuesta
13
25Maria Isabel Alfonso Galipienso. 2006
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
Existe un valor máximo de U por encima del cual Γ no es planificable
∑=
=N
i i
i
TCU
1
26Maria Isabel Alfonso Galipienso. 2006
Test factores de utilización (RM)
)12(1
1−≤∑
=
NN
i i
i NTC
Dado un conjunto Γ de N tareas periódicas secuenciadas según RM, Γ será
planificable SI:
Se trata de una condición SUFICIENTE
N U1 100 %2 82,8 %3 78,0 %4 75,7 %... ...∞ 69,3%
14
27Maria Isabel Alfonso Galipienso. 2006
Test factores de utilización (RM). Ejemplo 1
Tarea C T=D
a 20 100
b 40 150
c 100 350
n U(n)1 1.0002 0.8283 0.7794 0.7565 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.
U
0,2
0,267
0,286
P
3
2
1
0 100 150 300 350 200
a
b
c OK!
RM
28Maria Isabel Alfonso Galipienso. 2006
Test factores de utilización (RM). Ejemplo 2Tarea C T=D
a 40 80
b 10 40
c 5 20
U
0,50
0,25
0,25
Uso total 100 % P
1
2
3Falla el
test!
0 20 40 60 80 3510 30 50 70
a
b
c OK!
RM
15
29Maria Isabel Alfonso Galipienso. 2006
Test factores de utilización (DM)
)12(1
1−≤∑
=
NN
i i
i NDC
Dado un conjunto Γ de N tareas periódicas secuenciadas según DM, Γ será
planificable SI:
Se trata de una condición SUFICIENTE
30Maria Isabel Alfonso Galipienso. 2006
Test factores de utilización (EDF)
11
≤∑=
N
i i
i
TC
Dado un conjunto Γ de N tareas periódicas secuenciadas según EDF, Γ será
planificable SI Y SOLO SI:
Se trata de una condición SUFICIENTE y NECESARIA
16
31Maria Isabel Alfonso Galipienso. 2006
Test factores de utilización (EDF) Ejemplo 1
Tarea C T=D
a 40 80
b 10 40
c 5 20
U
0,50
0,25
0,25
Uso total 100 %
0 20 40 60 80 3510 30 50 70
a
b
c OK!
EDF
32Maria Isabel Alfonso Galipienso. 2006
Test factores de utilización (EDF) Ejemplo 2
RM
Tarea C T=D
a 2 5
b 4 7
U
0,40
0,57 Uso total 97 %
0 7 14 21 28 35
200 5 10 25 30 3515
0 7 14 21 28 35
EDF
a
b
a
bFalla!
17
33Maria Isabel Alfonso Galipienso. 2006
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:
iii ICR +=
34Maria Isabel Alfonso Galipienso. 2006
Cálculo de Ri
Tiempo máximo de respuesta de una tarea en su instante crítico:
Solución de la ecuación:
jihpj j
iii C
TRCR ⋅⎥⎥⎥
⎤
⎢⎢⎢
⎡+= ∑
∈ )(
jihpj j
ki
iki C
TRCR ⋅⎥⎥
⎤⎢⎢
⎡+= ∑
∈
+
)(
1
18
35Maria Isabel Alfonso Galipienso. 2006
Test tiempos respuesta (RM)
NiTR ii ..1 , =∀≤
Dado un conjunto Γ de N tareas periódicas secuenciadas según RM, Γ será
planificable SI Y SÓLO SI:
Se trata de una condición SUFICIENTE y NECESARIA
36Maria Isabel Alfonso Galipienso. 2006
P
1
2
3
Test tiempos respuesta (RM) Ejemplo (I)
Tarea C T=D
a 40 80
b 10 40
c 5 20RM
Tarea c 50 =cR 51 =cR
20 5 10 ≤== cc RR OK!
19
37Maria Isabel Alfonso Galipienso. 2006
Test tiempos respuesta (RM) Ejemplo (II)
Tarea C T=Da 40 80b 10 40c 5 20
P123
RMTarea b
100 =bR
15510 20105101 =+=⎥⎥⎤
⎢⎢⎡⋅+=bR
40 15 21 ≤== cb RR
15510 20155102 =+=⎥⎥⎤
⎢⎢⎡⋅+=bR
OK!
38Maria Isabel Alfonso Galipienso. 2006
8020204020805
408010404 =++=⎥⎥
⎤⎢⎢⎡⋅+⎥⎥
⎤⎢⎢⎡⋅+=aR
8020204020755
407510403 =++=⎥⎥
⎤⎢⎢⎡⋅+⎥⎥
⎤⎢⎢⎡⋅+=aR
Test tiempos respuesta (RM) Ejemplo (III)
Tarea C T=Da 40 80b 10 40c 5 20
P123
RMTarea a
400 =aR
6010104020405
404010401 =++=⎥⎥
⎤⎢⎢⎡⋅+⎥⎥
⎤⎢⎢⎡⋅+=aR
OK!
7515204020605
406010402 =++=⎥⎥
⎤⎢⎢⎡⋅+⎥⎥
⎤⎢⎢⎡⋅+=aR
20
39Maria Isabel Alfonso Galipienso. 2006
Test tiempos respuesta (RM) Ejemplo (IV)
Tarea C T=D
a 40 80
b 10 40
c 5 20
P
1
2
3
0 20 40 60 80 3510 30 50 70
a
b
c
RM
80=aR
15=bR
5=cR
40Maria Isabel Alfonso Galipienso. 2006
Test tiempos respuesta (DM)
NiDR ii ..1 , =∀≤
Dado un conjunto Γ de N tareas periódicas secuenciadas según DM, Γ será
planificable SI Y SÓLO SI:
Se trata de una condición SUFICIENTE y NECESARIA
21
41Maria Isabel Alfonso Galipienso. 2006
Resumen tests planificabilidad
Di = Ti Di≤ Ti
Prioridades estáticas
Prioridades dinámicas
RM DM
EDF
)12(1
1−≤∑
=
NN
i i
i NTC
NiDR ii ..1 , =∀≤
NiTR ii ..1 , =∀≤
11
≤∑=
N
i i
i
TC
42Maria 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
Tarea 1
Tarea 2
Salvar el contexto
Planificar y recuperar el contexto
Csa
Csb
Peor caso: 2 cambios por cada expulsión
22
43Maria Isabel Alfonso Galipienso. 2006
Cambios de contexto Ejemplo (I)
Cs = 2 ms C1 = 20 + 4 T1 = 100 U1 = 0.24C2 = 40 + 4 T2 = 150 U2 = 0.293C3 =100 + 4 T3 = 350 U3 = 0.297
U = 0.831 > U(3) = 0.779
No cumple el test 1
BIEN100240
24
11
1
1
1
0
1
=≤=+=
==
TCWCW
! BIEN 15068
68241006844
68241004444
44
2
2
2
1
2
}1{
1
22
2
2
}1{
0
22
1
2
2
0
2
=≤==
=⎥⎥⎤
⎢⎢⎡+=
⎥⎥⎥
⎤
⎢⎢⎢
⎡+=
=⎥⎥⎤
⎢⎢⎡+=
⎥⎥⎥
⎤
⎢⎢⎢
⎡+=
==
∑
∑
∈∀
∈∀
TWWTWCW
TWCW
CW
j j
j j
Tarea 1:
Tarea 2:
44Maria Isabel Alfonso Galipienso. 2006
Cambios de contexto Ejemplo (I)
2644415024024
100240104
2404415019624
100196104
1964415010424
100104104
104
}2,1{
2
33
3
3
}2,1{
1
33
2
3
}2,1{
0
33
1
3
3
0
3
=⎥⎥⎤
⎢⎢⎡+⎥⎥
⎤⎢⎢⎡+=
⎥⎥⎥
⎤
⎢⎢⎢
⎡+=
=⎥⎥⎤
⎢⎢⎡+⎥⎥
⎤⎢⎢⎡+=
⎥⎥⎥
⎤
⎢⎢⎢
⎡+=
=⎥⎥⎤
⎢⎢⎡+⎥⎥
⎤⎢⎢⎡+=
⎥⎥⎥
⎤
⎢⎢⎢
⎡+=
==
∑
∑
∑
∈∀
∈∀
∈∀
j j
j j
j j
TWCW
TWCW
TWCW
CW
350264
2644415026424
100264104
34
33
3
43
=<==
=⎥⎥⎤
⎢⎢⎡+⎥⎥
⎤⎢⎢⎡+=
TWW
W
Cumple el test 2
Cs = 2 ms C1 = 20 + 4 T1 = 100 U1 = 0.24C2 = 40 + 4 T2 = 150 U2 = 0.293C3 =100 + 4 T3 = 350 U3 = 0.297
Tarea 3:
En cambio, con un T3 = 250 no cumpliria el test.
23
45Maria Isabel Alfonso Galipienso. 2006
Indice
IntroducciónCaracterización de tareasPlanificadoresAnálisis de planificabilidadTareas aperiódicasUso de recursosModelo extendido
46Maria Isabel Alfonso Galipienso. 2006
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ónServidor “background”Servidor por consulta ("polling")Servidor “diferido” ("deferred")
Resolución
24
47Maria Isabel Alfonso Galipienso. 2006
Rutina de interrupción
0 5 10 15 20 25 30 35 40
0 5 10 15 20 25 30 35 40
Distorsiona totalmenteel esquema de prioridades.
Tiempo de respuesta inmediato
T1: (P1=15, D1=5, C1=1)T2: (P2=8, D2=8, C2=2)T3: (P3=5, D3=15, C3=6)
T1: (P1=15, D1=5, C1=1)T2: (P2=8, D2=8, C2=2)T3: (P3=5, D3=15, C3=6)
48Maria 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)
0 5 10 15 20 25 30 35 40
El problema fundamental es el tiempo de respuesta de las tareas aperiódicas: impredecible
T1: (P1=15, D1=5, C1=1)T2: (P2=8, D2=8, C2=2)T3: (P3=5, D3=15, C3=6)
T1: (P1=15, D1=5, C1=1)T2: (P2=8, D2=8, C2=2)T3: (P3=5, D3=15, C3=6)
T4: (P4=∞ , D4=∞, C4= ∞)T4: (P4=∞ , D4=∞, C4= ∞)
25
49Maria Isabel Alfonso Galipienso. 2006
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
50Maria Isabel Alfonso Galipienso. 2006
Deferrable server
0 5 10 15 20 25 30 35 40
Tiempo disponible del servidor
Cs
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.
Ds_Util_max = ——≤ ln ————CDS
TDS
UP+22UP + 1
Factor de utilización máximo del servidor
26
51Maria Isabel Alfonso Galipienso. 2006
Tests planificabilidad (RM)
POLLING SERVER
Test para actividades PERIÓDICAS
para m servidores:
Condición suficiente
)1( +≤+ nUUU Sp
⎥⎦⎤
⎢⎣⎡ −⋅+≤+ +
=∑ 12)1( )1(
1
1
n
S
Sn
i i
i nTC
TC
)(1
mnUTC
Um
J Sj
SjP +≤+∑
=
para 1 servidor:
52Maria Isabel Alfonso Galipienso. 2006
Tests planificabilidad (RM)
DEFERRABLE SERVER
Test para actividades PERIÓDICAS
Condición suficiente
para 1 servidor:
⎟⎟⎠
⎞⎜⎜⎝
⎛+⋅
+≤
122ln
S
SP U
UU
27
53Maria Isabel Alfonso Galipienso. 2006
Indice
IntroducciónCaracterización de tareasPlanificadoresAnálisis de planificabilidadTareas aperiódicasUso de recursosModelo extendido
Maria Isabel Alfonso Galipienso. 2006
Uso de recursos
Las tareas interactuan mediante:p Datos protegidosp 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
28
55Maria Isabel Alfonso Galipienso. 2006
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)
Maria Isabel Alfonso Galipienso. 2006
Inversión de prioridades
0 2 4 6 8 10 12 14 16 18
Ejecutando
Q bloqueado
V bloqueado
Bloqueado
InterrumpidoT4 4 EEQVE 4T3 3 EVVE 2T2 2 EE 2T1 1 EQQQQE 0
Tarea Prioridad Sec. ejecución Activación
T4
T3
T2
T1
29
57Maria Isabel Alfonso Galipienso. 2006
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
Maria Isabel Alfonso Galipienso. 2006
Herencia de prioridades
Ejecutando
Q bloqueado
V bloqueado
Bloqueado
Interrumpido
T4
T3
T2
T1
0 2 4 6 8 10 12 14 16 18
T4 4 EEQVE 4Tarea Prioridad Sec. ejecución Activación
T3 3 EVVE 2T2 2 EE 2T1 1 EQQQQE 0
30
59Maria Isabel Alfonso Galipienso. 2006
Herencia de prioridad. Bloqueos (I)
Bloqueo que puede sufrir una tarea i:
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
Bi = Σ (uso(k,i) C(k))k=1
K
60Maria Isabel Alfonso Galipienso. 2006
Herencia de prioridad. Bloqueos (II)
∑=
⎟⎠⎞⎜
⎝⎛ −⋅≤+≤≤∀
i
k
i
i
i
k
k iTB
TCnii
1
112,1,
ijihpj j
iiii DC
TRBCRi ≤⋅⎥⎥⎥
⎤
⎢⎢⎢
⎡++=∀ ∑
∈ )(,
Ambos tests son condición suficiente
[ ]ikkj
m
k ilpj
si PSCDB ≥=∑
=∈
)(:max ,1 )(
),min( si
lii BBB =
Test de factores de utilización (Di= Ti):
Test de garantía(Di ≤ Ti):
Cálculo del bloqueo: [ ]∑∈
≥=)(
, )(:maxilpj
ikkjk
li PSCDB
31
Maria Isabel Alfonso Galipienso. 2006
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
pCada tarea tiene una prioridad estática asignada por defecto.
pCada recurso tiene definido un techo de prioridad: máxima prioridad de la tarea que lo usa
pCada 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.
pUna tarea puede bloquear un recurso solamente si su prioridad dinámica es mayor que el techo de cualquier recurso actualmente bloqueado por otras tareas.
32
Maria Isabel Alfonso Galipienso. 2006
OCPP.Ejemplo
Ejecutando
Q bloqueado
V bloqueado
Bloqueado
Interrumpido
T4
T3
T2
T1
0 2 4 6 8 10 12 14 16 18
T4 4 EEQVE 4Tarea Prioridad Sec. ejecución Activación
T3 3 EVVE 2T2 2 EE 2T1 1 EQQQQE 0
64Maria Isabel Alfonso Galipienso. 2006
OCPP. Bloqueos (I)
Bloqueo que puede sufrir una tarea i:
Cálculo del tiempo de respuesta Ri = Ci + Bi + IiSe 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
Bi = max (uso(k,i) C(k))k=1
K
33
65Maria Isabel Alfonso Galipienso. 2006
OCPP. Bloqueos (II)
∑=
⎟⎠⎞⎜
⎝⎛ −⋅≤+≤≤∀
i
k
i
i
i
k
k iTB
TCnii
1
112,1,
ijihpj j
iiii DC
TRBCRi ≤⋅⎥⎥⎥
⎤
⎢⎢⎢
⎡++=∀ ∑
∈ )(
,
Ambos tests son condición suficiente
{ }ikijkjkji PSCPPDB ≥<= )(,max ,,
Test de factores de utilización (Di= Ti):
Test de garantía(Di ≤ Ti):
Cálculo del bloqueo:
Maria Isabel Alfonso Galipienso. 2006
ICPP
Cada tarea tiene una prioridad estática por defecto asignada.
Cada recurso tiene un techo de prioridadasignado (máxima prioridad de las tareas que lo usan).
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.
34
Maria Isabel Alfonso Galipienso. 2006
ICPP.Ejemplo
Ejecutando
Q bloqueado
V bloqueado
Bloqueado
Interrumpido
T4
T3
T2
T1
0 2 4 6 8 10 12 14 16 18
T4 4 EEQVE 4Tarea Prioridad Sec. ejecución Activación
T3 3 EVVE 2T2 2 EE 2T1 1 EQQQQE 0
68Maria 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)
35
69Maria Isabel Alfonso Galipienso. 2006
Indice
IntroducciónCaracterización de tareasPlanificadoresAnálisis de planificabilidadTareas aperiódicasUso de recursosModelo extendido
70Maria 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
La segunda ejecuciónde L termina despuésde CL
TL= 20RL= 15CL=1
La primera ejecuciónde L termina en RL
t t+15 t+20
L
t t+15 t+21
SL y S NO comparten un instante crítico
Máxima variación Js = 15
Js
36
71Maria Isabel Alfonso Galipienso. 2006
Tiempo de respuesta en el peor de los casos:
Ri = Bi + Ci + ∑ Cj
Las tareas periódicas pueden sufrir “jitter”dependiendo de la granularidad del “reloj” del sistemaRi
periódica = Ri + Ji
Release jitter (II)
Ri + Ji
Tjj∈hp(i)
72Maria Isabel Alfonso Galipienso. 2006
Di puede ser mayor que el periodo Ti
Para cada lanzamiento se define una ventana w(q)
win+1(q) = Bi + (q+1)Ci + ∑ Cj
Ri(q) = win(q) - qTi
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)
Deadlines arbitrarios
win(q)Tj
j∈hp(i)
37
73Maria Isabel Alfonso Galipienso. 2006
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 + ∑ 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
win(q)+Jj
Tjj∈hp(i)
74Maria Isabel Alfonso Galipienso. 2006
Asignación de prioridadesTeorema: 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 prioridadprocedure assign_pri (set: in out process_set; N:natural;
ok: out:boolean);begin
for k in 1..N loopfor 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;
38
Maria Isabel Alfonso Galipienso. 2006
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 ispragma Priority(10);
end Controller;
task type Productor(pid: INTEGER; prio: System.Priority) ispragma Priority(prio);
end Productor;
Prioridad base
76Maria 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 heredadaFormas de heredar prioridades:
Mediante el uso de objetos protegidosDurante la activación: se hereda la prioridad activa del padreDurante 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)
39
77Maria Isabel Alfonso Galipienso. 2006
Prioridades Ceiling Locking
Los objetos protegidos necesitan mantener la consistencia de sus datosLa exclusión mutua puede garantizarse mediante el uso del modelo de prioridades de AdaCada objeto protegido tiene asignado un techo de prioridadque es mayor o igual que la prioridad más alta de cualquierade las tareas que lo llamanCuando una tarea llama a una operación protegida, suprioridad se convierte automáticamente en la del objetoprotegido
Si una tarea que quiere acceder a un objeto protegido está en ejecuciónentonces el objeto protegido no puede estar ya ocupado
78Maria Isabel Alfonso Galipienso. 2006
Ceiling Locking (ICCP)
A cada objeto protegido se le asigna una prioridad medianteun pragma
Si se omite el prama, se asume Priority'Last
La excepción Program_Error es lanzada si la tarea quellama 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 ejecutarel código de cualqueir otra tarea que tenga que ser lanzada(activada) como resultado de la llamada