TEMA 6 - UVajossan/doct/cystr/fich/Tema6_x2.pdf · TEMA 6 Planificación dinámica de tareas 2 ......

Preview:

Citation preview

1

TEMA 6

Planificación dinámica de tareas

2

Introducción.Asignación dinámica de prioridades.

Planificación EDFPlanificación LSF

Sobrecargas. Estabilidad.

3

Introducción

4

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.

5

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, . . . ).

6

Valor Críticas

Firmes

Acríticas

Tiempo

Parámetros de planificación de tareas

Además de los parámetros ya definidos, se consideran:E : Instante de inicio más tempranoRR : Uso de recursos.V : valor: importancia relativa de la tarea:

7

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.

Aspectos a considerar por el planificador

8

Características de la planif. dinámica

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.

9

Fases de planificación

Análisis de planificabilidadSe comprueba si las tareas cumplen sus plazos de respuesta.Objetivo: maximizar el valor de las tareas correctas.Dos enfoques:

Basado en planes : Las tareas se ejecutan si se garantizan sus plazos.Esfuerzo óptimo (best effort): El sistema hace todo lo que puede. No se hace análisis de viabilidad.

Construcción del plan:Explícitamente: se construye un plan de ejecución explícito (EC)Implícitamente: el plan se construye al asignar prioridades a las tareas (estáticas ó dinámicas).

Despacho: Cuál es la tarea siguiente a ejecutar?.

10

Asignación dinámicade prioridades

11

El objetivo es asignar prioridades en forma dinámica a las tareasSe 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.

Métodos:Earliest Deadline First (EDF)Least Slack First (LSF)

Asignación dinámica de prioridades

12

– Planificación por prioridades expulsiva– La tarea con el plazo más cercano tiene la máxima prioridad– No se requiere tener conocimiento del tiempo de ejecución

Es óptimo si:– Hay un solo procesador, sin recursos compartidos y con

planificación expulsiva

dk di

TkTi

dk di

TkTk Ti

(no-EDF)

(EDF)

Planificación Earliest Deadline First (EDF)

k

k

13

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 más cercano es eligible para ejecución antes que otra tarea con plazo más 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 condición puede verificarse en forma estática, si conocemos todas las tareas que habrá en el sistema asícomo todos sus parámetros.

La carga de trabajo del sistema es estática si los parámetros no cambian, o puede ser dinámica si las tareas llegan al sistema en distintos tiempos, de forma que en cada llegada se realiza una prueba de aceptación (U < 1).

Planificación Earliest Deadline First (EDF)

14

Planificación EDF

• Algoritmo óptimo bajo un solo procesador y tareas expulsables.• ¿Cómo 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 al hiperperiodo con fase de tareas 0 (instante crítico).

U CT

i

ii

N

= ≤=∑ 1

1

15

Planificación EDF, suposiciones

• Las tareas pueden ser periódicas o aperiódicas.• Se ejecutan en un solo procesador• Las tareas son expulsables y no comparten recursos• Los plazos son iguales a los periodos.• No hay sobrecarga del sistema operativo.

16

Ejemplo

El sistema cumple la prueba de utilización (U < 1).

Con prioridades dinámicas (planificación EDF) se garantizan los plazos.

τ1

τ2

τ3

60 100 120 140 160 180

T D C U

τ 1 30 30 10 0.333

τ 2 40 40 10 0.250

0.823

τ 3 50 50 12 0.240

20 40 80

17

Ejemplo

Con prioridades fijas (planificación rate monotonic) no se garantizan los plazos.

τ1

τ2

τ3

60 100 120 140 160 180

T D C U

τ 1 30 30 10 0.333

τ 2 40 40 10 0.250

0.823

τ 3 50 50 12 0.240

20 40 80

10

20

52

R

18

Planificación por prioridades expulsiva– La tarea con menor holgura tiene la máxima prioridad– Es necesario tener conocimiento del tiempo de ejecución

Holgura : tiempo de cómputo disponible en ejecución.Si ci(t) es el tiempo de computación restante en el instante t, la holgura de

la tarea i es:slacki(t) = hi = di - t - ci(t)

dk

ci

Tk

di

Ti

Planificación Least Slack First (LSF)

ck

t

hi

hk

hk < hk

pk > pk

19

Ejemplo

T D C U

τ 1 30 30 10 0.333

τ 2 40 40 10 0.250

0.823

τ 3 50 50 12 0.240

Híper período = 300

Con prioridades dinámicas (planificación LSF) se garantizan los plazos.

200 50 100 150 200 250 300

5

10

15

20

25

30

35

40

h1

h3

h2

idle

τ 1

τ 2

τ 3

20

30

38

300

21

0 5 10 15 20 25 30 35 40 45 50

10

15

20

25

30

35

h1

h3

h2

idle

τ 1

τ 2

τ 3

20

30

38

19.8 19.85 19.9 19.95 20 20.05 20.1 20.15 20.218.85

18.9

18.95

19

19.05

19.1

22

Ejemplo

Con prioridades dinámicas (planificación LSF) se garantizan los plazos.

T D C U

τ 1 11 11 3 0.2727

τ 2 5 5 2 0.4000

0.9227

τ 3 8 8 2 0.2500

Híper período = 440

230 50 100 150 200 250 300 350 400 4

1

2

3

4

5

6

7

8

h1

h3

h2

440

240 50 100 150 200 250 300 350 400 45

-1

-0.5

0

0.5

1

1.5

2

idle

τ 1

τ 2

τ 3

440

250 5 10 15 20 25

0

1

2

3

4

5

6

7

8

9

10

hi

t

26

Recursos compartidos

27

Al considerar recursos compartidos y bloqueos, existe una analogía directa entre EDF y los algoritmos FPS (Fixed Priority Scheduling). Mientras que FPS adolece de inversión de prioridad, EDF sufre de inversión del tiempo límite (cuando un proceso necesita un recurso que actualmente está bloqueado por otro proceso con un deadlinemás largo). Se han desarrollado protocolos de acotación para EDF, aunque son más complejos que en FPS.

En FPS, debido a que las prioridades son estáticas, resulta fácil determinar qué proceso puede bloquear al proceso analizado actualmente. Con EDF, esta relación es dinámica: depende de cuáles sean los procesos (con tiempos límite más largos) que estén activos cuando el proceso se active, y esto varía de una activación a otra a lo largo del hiperperiodo.

Recursos compartidos y bloqueos

28

0

T3

T2

T1

InversiInversióón de prioridadn de prioridad

Ejemplo

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

5

6

14

16

Pérdida de plazo límite

29

Los recursos compartidos de forma excluyente entre tareas se pueden gestionar bajo una planificación basada en prioridades dinámicas

Protocolos:Herencia de prioridad dinámica (DIP)Techo de prioridad dinámico (DPCP)Stack Resource Policy (SRP)

El protocolo de pila de recursos es una extensión del protocolo de techo de prioridad inmediato (IPCP)Permite tratar el caso general de varias réplicas del mismo recurso

Recursos compartidos

30

0

T3

T2

T1

Herencia de prioridad dinHerencia de prioridad dináámica (DIP)mica (DIP)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

5

6

14

16

31

T0

S0

T1

S1

T2

S2

T0 :

T1 :

T2 :

S0 S1

S2

S2

S2

S1T2 S2

S2

S2 S1 S1

S1

S2

S2

T0S0

S0

S0

S1

S1 S1

T1

S2

S2

S2

S1

PT2P0

P1

P2

P0 P1 P2> >

P0 P0 P1C(Si)

t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11

Techo deTecho dePrioridadPrioridadDinDináámicomico(DPCP)(DPCP)

anidada

32

Techo de Prioridad Dinámica (DPCP)

Propiedades

Una tarea puede bloquearse como mucho una vez antes de entrar en su primera sección crítica.Evita los deadlock

Un conjunto de n tareas es planificable bajo EDF si:

Bi : tiempo de bloqueo de peor casoCi : tiempo de ejecución de peor casoTi : periodo de la tarea

11

≤+∑

=

n

i i

ii

TBC

33

Protocolo de control de concurrencia propuesto por Baker en 1991 para acotar la inversión de prioridad tanto en sistemas que utilizan prioridades estáticas como dinámicas.

Funciona de modo muy similar al protocolo de techo de prioridad inmediato para FPS (de hecho, SRP influyó en el desarrollo de IPCP).

A cada tarea, bajo SRP, se le asigna un nivel de apropiación, de forma separada de las prioridades, de tal manera que sean inversamenteproporcionales a sus plazos relativos.

Los niveles de apropiación reflejan los tiempos límite relativos de las tareas, de modo que cuanto más cortos sean, mayor será el nivel de apropiación (como si la prioridad estática de los procesos fuera asignada por el esquema deadline monotonic). En tiempo de ejecución, las tareas reciben una cota basada en el máximo nivel de apropiación de las tareas que utilizan el recurso.

Stack Resource Policy (SRP)

34

Cuando se activa una tarea sólo puede desalojar a la actualmente en ejecución si su tiempo límite absoluto es más corto y su nivel de apropiación es mayor que la cota más alta de los recursos actualmente bloqueados.

El resultado de este protocolo es idéntico al IPCP. Las tareas sufren únicamente un bloqueo que ocurre al ser activados. Así, se previenen los bloqueos mutuos y existe una fórmula simple para calcular el tiempo de bloqueo.

Permite el caso general de varias réplicas del mismo recurso.

Stack Resource Policy (SRP)

35

Stack Resource Policy (SRP)

SRP garantiza que una vez que una tarea empieza, no se bloqueará hasta que se complete, y sólo pueden apropiarse del procesador tareas con una prioridad mayor.

Por otra parte, previene los abrazos mortales, y acota el tiempo durante el cual una tarea puede ser bloqueada al que dure una sección crítica. No se necesitan colas de espera, de hecho una tarea nunca se bloquea durante su ejecución, simplemente no puede empezar a ejecutarse si su nivel de apropiación no es lo suficientemente alto.

La diferencia esencial entre PCP y SRP es en el momento en que una tarea se bloquea. Mientras que en PCP una tarea se bloquea en el momento en que haga su primera solicitud de recursos, en el caso de SRP una tarea se bloquea en el momento en que trata de desalojar a otra. Este bloqueo temprano reduce ligeramente la concurrencia, pero ahorra cambios de contexto innecesarios, lo que simplifica la aplicación del protocolo, y permite compartir la pila de recursos en tiempo de ejecución.

36

PrioridadA cada tarea Ti se le asigna una prioridad pi que indica la importancia (urgencia) de la tarea respecto al resto de tareas en el sistema. La asignación de prioridades a las tareas puede realizarse estática ó dinámicamente. En cualquier instante t, Pa > Pbsignifica que la ejecución de Ta es más importante que Tb; por tanto, Tb será retrasada en favor de Ta.Las prioridades pueden ser asignadas a las tareas en base al criterio de planificación Rate Monotonic (RM), DeadlineMonotonic (DM) ó Earliest Deadline First (EDF).

Stack Resource Policy (SRP)

37

Nivel de desalojoAdemás de su prioridad pi , una tarea Ti está caracterizada por un nivel de desalojo, πi. El nivel de desalojo es un parámetro estático, asignado a la tarea en el momento de su creación y asociado con todas las instancias de la tarea. La propiedad esencial de los niveles de desalojo es que una tarea Ta puede desalojar a otra tarea Tb sólo si πa > πb.Esto también es cierto para las prioridades. Por tanto, la razón de distinguir entre niveles de desalojo y prioridades es que los niveles de desalojo son valores fijos que se pueden usar para predecir bloqueos potenciales también en presencia de esquemas de prioridad dinámica.

pa < pb iff tb + Db < ta + Da (EDF)πa < πb iff Db < Da

Stack Resource Policy (SRP)

38

ra da

Da

Ta

rb db

Db

Tb

ra da

Da

Ta

rb db

Db

Tb

Da > Db πa < πbda > db pa < pb

Da > Db πa < πbda < db pa > pb

EDF

39

Se asigna a cada tarea un nivel de desalojo, πi, tanto mayor cuanto menor sea su plazo relativo Di (asignación DM)

Cada recurso R tiene un techo de prioridad dinámico, CR, que cambia con el número de réplicas, nR, disponibles

( ) { } { }[ ]RiRiRR nnC μπ <∪= :0max

Stack Resource Policy (SRP)

{ } { }[ ]iiR abloquearpuedeRC τπ :0max ∪=Para recursos con una sola instancia:

nº de unidades de R que necesita Ti

Si R está libre su CR es cero, mientras que si R está asignado, su techo es igual al mayor nivel de desalojo de las tareas que puedan hacer uso de R

40

El techo de prioridad del sistema , Π, se define como:

Una tarea se ejecuta sólo si:su prioridad es la más alta entre las tareas ejecutables, y πi > Π

Stack Resource Policy (SRP)

{ }RCmax=Π

41

Stack Resource Policy (SRP)

R1

R2

R3

3

1

1 1

2

1 1

3 1τ2τ3τ

Di πi1R

iμ 2Riμ 3R

10135312210113120

Ejemplo

Nivel de desalojo: asignación DM

Unidades de recursos que necesitan las tareas

42

3210

Stack Resource Policy (SRP)

R1

3τ2τ3 2 1 CR(3)

R1

CR(2) CR(1) CR(0)

Techo de prioridad dinámicodel recurso R con nR réplicas disponibles (no asignadas)1 32

( ) { } { }[ ]RiRiRR nnC μπ <∪= :0max

1Riμ

43

20--3210

Stack Resource Policy (SRP)

R2

3τ2τ1 1 CR(3)

R1

R2

CR(2) CR(1) CR(0)

Techo de prioridad dinámicodel recurso R con nR réplicas disponibles (no asignadas)1 32

( ) { } { }[ ]RiRiRR nnC μπ <∪= :0max

2Riμ

44

R3

322020--3210

Stack Resource Policy (SRP)

1τ 3τ2τ1 3 1 CR(3)

R1

R2

R3

CR(2) CR(1) CR(0)

Techo de prioridad dinámicodel recurso R con nR réplicas disponibles (no asignadas)1 32

( ) { } { }[ ]RiRiRR nnC μπ <∪= :0max

3Riμ

45

322020--3210

Stack Resource Policy (SRP)

R1

R2

R3

3

1

1 1

2

1 1

3CR(3)

R1

R2

R3

CR(2) CR(1) CR(0)

Techo de prioridad dinámicodel recurso R con nR réplicas disponibles (no asignadas)

π1=1

π3=3

π2=2

( ) { } { }[ ]RiRiRR nnC μπ <∪= :0max

46

Stack Resource Policy (SRP)

Propiedades

Si ninguna tarea puede arrancar hasta que Π < πi entonces:Ninguna tarea puede bloquearse después de arrancarNo hay bloqueos transitivos ni deadlockSi la tarea de máxima prioridad más antigua está bloqueada, se desbloqueará como muy tarde en el instante en que la tarea actualmente en ejecución deje de poseer recursos no desalojables

Un conjunto de n tareas es planificable bajo EDF si:

Bi : tiempo de ejecución de la sección crítica más larga de cualquier tarea tal que Di ≤ Dk para i != k

Ci : tiempo de ejecución de peor casoDi : plazo límite

11,...,1

≤+⎟⎟⎠

⎞⎜⎜⎝

⎛∀ ∑

==

k

kk

i i

i

nk DB

DCk

47

Sobrecargas. Estabilidad

48

Sobrecargas. Estabilidad

• 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 llegan 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 ???.

49

Ejemplo

τ1

τ2

τ3

6 10 12 14 16 18

PT=D C U

τ 1 Alta6 2 0.333

τ 2 Media-alta10 4 0.400

τ 3 Media-baja12 3 0.250

2 4 8

τ 4 Baja15 4 0.270

20 22 24

τ4

Rate monotonic

Estable

50

Ejemplo

τ1

τ2

τ3

6 10 12 14 16 18

T=D C U

τ 1 6 2 0.333

τ 2 10 4 0.400

τ 3 12 3 0.250

2 4 8

τ 4 15 4 0.270

20 22 24

τ4

EDF

Inestable

51

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.

52

Algoritmo MUF (Maximum-Urgency-First)

Urgencia:Criticidad (Prioridad estática).Prioridad Dinámica.Prioridad de Usuario.

Prioridad DinámicaCriticidad Usuario

c bits d bits u bits

53

Algoritmo MUF (Maximum-Urgency-First

Prioridad(RM)T=D C U

τ 1 Alta6 2 0.333

τ 2 Media-alta10 4 0.400

τ 3 Media-baja12 3 0.250

τ 4 Baja15 4 0.270

Criticidad (MUF)

Alta

Ata

Alta

Baja

τ1

τ2

τ3

6 10 12 14 16 182 4 8 20 22 24

τ4

Estable

54

TEMA 6

Planificación dinámica de tareas

Recommended