Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr....

24
z Sistemas de Tiempo Real Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación

Transcript of Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr....

Page 1: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1

Métodos de Planificación

Dr. Pedro Mejía Alvarez

CINVESTAV-IPN, Departamento de Computación

Page 2: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 2

Indice

•Planificación•Métodos de planificación•Planificación basada en prioridades

Page 3: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 3

Planificación (scheduling)

La planificación consiste en asignar un orden deejecución a un conjunto de tareas que se ejecutan concurrentemente

En la planificación existen 3 elementos:•Procesadores.•Recursos•Tareas•Planificador y Manejador de Recursos (Sistema Operativo)

Cada tarea es planificada por un algoritmo de planificación y distintos recursos son asignados mediante un protocolo de acceso a recursos.

Page 4: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 4

Métodos de Planificación

• Planificar el uso de los recursos con el fin depoder garantizar los requisitos temporales.• Un método de planificación tiene dos aspectos importantes:

Un algoritmo de planificación que determina el orden de acceso de la tareas a los recursos del sistema ( en particular al procesador ) Un método de análisis que permite calcular el comportamiento temporal del sistema.

Así se puede comprobar si los requisitos temporales están garantizados en todos los casos posibles. En general se estudia el peor comportamiento posible.

Page 5: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 5

Proceso de Planificación

Planificador

Carga de Trabajode Tiempo Real

Análisis dePlanificabilidad

AplicaciónAplicaciónCríticaCrítica

AplicaciónAplicaciónCríticaCrítica

No es planificableNo es planificableNo es planificableNo es planificable

Tarea

EJECUCIÓNCi

Ti

Di

Fuera de linea (off-line) En linea (on-line)

Page 6: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 6

Proceso de Planificación (estados)

activación test deaceptación

LISTA

BLOQUEO

EJECUCION

*despachar

*expulsión

*espera enrecurso ocupado

*recurso liberado

SI

NO

*decisiones de planificación

SUSPENSION

Page 7: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 7

Planificación vs. Planificabilidad

• Planificación = enfoque para priorizar una tarea sobre otra

• Planificabilidad = análisis formal que permite garantizar que un conjunto de tarea pueden (o no) ser asignadas a un recurso compartido (p.ej. el procesador) tal que cada una de las tareas cumpla con su plazo de respuesta

• Planificabilidad = Control de admisión

Page 8: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 8

Clasificación de Metodos de Planificación

•Expulsivo: Permite que las tareas en ejecución sean interrumpidas en cualquier momento para asignar el procesador a otra tarea activa, de acuerdo al metodo de planificacion.•No expulsivo: Una vez que inicia su ejecución una tarea no es interrumpida hasta que termina. Las decisiones de planificacion solo pueden llevarse a cabo hasta que termina la tarea.

•Estatico: Los parámetros son fijos y calculados antes de la ejecución•Dinamico: Los parámetros pueden cambiar durante la ejecución.•Off-line: La planificacion se realiza antes de la ejecución. El plan de ejecución se almacena en una tabla.•On-line: El planificador toma decisiones sobre la ejecución, cuando una tarea inicia su ejecución o cuando termina de ejecutarse.•Best-effort: Algoritmo dinamico que trata de encontrar un plan de ejecución factible, pero si no lo encuentra hara lo mejor posible para cumplir los plazos de las tareas

Page 9: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 9

Complejidad debida a la periodicidad de las tareas

• La planificación por si sola no resuelve el problema• La activación periódica de tareas requiere una forma

estricta de análisis y garantías• La tarea no solo arriba una sola vez, sino varias.• Es necesario un mecanismo para asegurar que el

plazo de cada activación también se cumple• El análisis fuera de línea provee garantías de

cumplimiento de plazos a priori. Sin embargo se necesita de mecanismos de soporte de cumplimiento de plazos durante la ejecución a fin de conseguir una ejecución predecible.

Page 10: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 10

Planificación vs. Planificabilidad

• Planificación = enfoque para priorizar una tarea sobre otra

• Planificabilidad = análisis formal que permite garantizar que un conjunto de tarea periódicas pueden (o no) ser asignadas a un recurso compartido (p.ej. el procesador) tal que cada una de las tareas cumpla con su plazo de respuesta

• Planificabilidad = Control de admisión

Page 11: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 11

Planificador (scheduler)

La tarea del planificador es producir planes de ejecuciónvalidos:

•A cada Job se le asigna un procesador para ejecución en cualquier momento•Los Job solo se ejecutan después de su tiempo de inicio•El tiempo de procesamiento asignado cada Job corresponde a su máximo tiempo de ejecución.•Las restricciones del precedencia y de uso de recursos se satisfacen

Un plan de ejecución válido es un plan de ejecución factiblesi cada Job cumple con sus restricciones temporales.

Page 12: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 12

Plan de Ejecución (schedule)

Un algoritmo de planificacion es optimo:

(a) si el algoritmo encuentra siempre encuentra planes de ejecución (schedule) en el caso de que estos existan, y

(b) si el algoritmo no encuentra planes de ejecución, quiere decir que estos realmente no existen.

Page 13: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 13

Métricas para evaluación del desempeño

Response time: Ri = (fi - ai)

Average response time =

Lateness: Li = fi - di.Tardiness: Ei = max(0,Li)Laxity or Slack time: Xi = di - ai - Ci

Miss Rate:

(# de Jobs que son ejecutados pero que pierden plazos) Loss Rate: porcentaje Jobs que son descartados.

Hard: Li negativo y Ri < diSoft: Minimizar el promedio absoluto de Li, Ri, Miss Rate y Loss Rate.

n

iii af

n 1

)(1

{0

11

)(,)( idifif

otherwisei

n

ii fmisswherefmiss

Page 14: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 14

Métodos de Planificación• Planificacion basada en el reloj (basada en el tiempo): el plan de ejecucion

se calcula fuera de linea y se basa en el conocimiento de los tiempos de inicio y de computo de todos los jobs. El plan de ejecucion esta en una tabla y no es concurrente.

• Planificacion round robin con prioridades: las tareas tienen prioridades asignadas por el usuario (fuera de linea). Dentro de cada prioridad las tareas se planifican en round robin. Cada tarea se ejecuta en forma continua como maximo un tiempo= quantum.

• Planificacion basada en prioridades: las prioridades las asigna el algoritmo de planificacion. La tarea con mayor prioridad se ejecuta en cualquier instante.

• tareas periodicas independientes

• tareas periodicas y aperiodicas, independientes.

• tareas periodicas que comparten recursos.

Page 15: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 15

Métodos de Planificación• Planificacion basada reserva de tiempo: a cada tarea se le reserva una

utilizacion del CPU. El planificador elige las tareas a ejecutar en base al tiempo que tengan asignado.

• Planificacion Heuristica: la planificacion se hace siguiendo el enfoque del mejor esfuerzo

• Planificacion Flexible: este metodo puede basarse en cualquiera de los metodos anteriores. Sin embargo, los parametros no son fijos y pueden cambiar de valor en respuesta a las condiciones del ambiente. En este metodo, es posible degradar al sistema o permitir la perdida de plazos en condiciones de sobrecarga.

Page 16: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 16

Planificación On-line vs. Off-line • Off-line scheduling: el plan de ejecucion se calcula fuera de

linea y se basa en el conocimiento de los tiempos de inicio y de computo de todos los jobs.

• Para sistemas deterministicos: con parametros temporales fijos que no cambien o que cambien muy poco.

• On-line scheduling: el planificador toma decisiones sin conocimiento del tiempo en que arrivaran jobs en el futuro.

• No existe un plan de ejecucion optimo si los jobs son no-expulsivos

• Cuando un job arriva, se acepta en el sistema si cumple con la prueba de aceptacion.

Page 17: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 17

Planificación basada en el reloj (tiempo)

Tarea T C

A 25 10

B 25 8

C 50 5

D 50 4

E 100 2

El plan de ejecucion se elabora a priori con parametros fijos.Es un esquema que se repite cada ciclo principal. El ciclo principal dura 100 ms Se compone de 4 ciclos secundarios de 25 ms cada uno

T = 100msM

A A A AB B B BC CD DE

0 25 50 75 100

T = 25msS

Page 18: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 18

Asignacion de Prioridades

• Cumplir los plazos de los procesos de mayor prioridad• Quien asigna las prioridades ?

– Naturalmente el usuario (aunque después pague por ello !!)– Desafortunadamente:

• El sistema necesita asignar prioridades también para llevar un control de admisión

• (Orden de prioridades asignado por el sistema) (Orden de prioridades asignado por el usuario)

• Se requiere una solución intermedia• Compromiso de Prioridades

– Mezcla de prioridades asignadas por el usuario y el sistema– Significa esto algún sacrificio por ambas partes y es posible

tolerarlo?

Page 19: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 19

Planificación basada en prioridades

• El planificador dicta su politica de ejecucion sobre una cola de procesos ordenados por prioridades, y el despachador elige para ejecucion a los procesos que esten listos para ejecucion de acuerdo a un orden de prioridades.

• El Job con mayor prioridad es ejecutado hasta completarse, o hasta que alguna tarea de mayor prioridad se alista, o hasta que se bloquea.

• El procesador nunca esta ocioso si hay tareas listas para ejecucion.

• Con prioridades fijas (nunca cambian) o dinamicas (cambian en cualquier momento durante la ejecucion).

• Expulsivas o no-expulsivas.

• Rate Monotonic (prioridades fijas): mayor prioridad al de menor periodo.

• EDF (prioridades dinamicas): mayor prioridad a la tarea con plazo mas cercano

Page 20: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 20

• Se implementa: (expulsivo o preemptive)– Asignando prioridades a las tareas– Las decisiones de planificacion se realizan

• cuando alguna tarea se alista,• cuando se le termina el tiempo de ejecucion a una tarea, termina de

ejecutarse,o se bloquea por algun recurso),• cuando las prioridades de las tareas cambian.• cuando ocurre un evento inesperado (errores o sobrecargas)

– Cada vez que se toma una decision de planificacion, la tarea con mayor prioridad se ejecuta.

• En el caso no-expulsivo (non-preemptive), las decisiones de planificacion son hechas solo cuando el procesador termina la ejecucion de alguna tarea.

• El metodo de planificacion (algoritmo) es estatico, si las prioridades se asignan una sola vez y permanecen fijas, y es dinamico si las priodidades cambian durante la ejecucion.

Planificación basada en Prioridades

Page 21: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 21

• Prioridades Fijas:– Rate Monotonic (prioridades fijas): mayor prioridad al de

menor periodo.• Prioridades Dinamicas:

– EDF (Earliest Deadline First): mayor prioridad a la tarea con plazo mas cercano

– Shortest slack time first (la tarea con menor tiempo de holgura primero): en cualquier instante t, la holgura (slack) de un job, es igual a d -t menos la parte de computo restante del Job.

Planificación basada en Prioridades

Page 22: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 22

• Rate-Monotonic

• Earliest Deadline First

• Shortest slack time first

(2, 1)

(5, 2.5)

missed deadline

(2, 1)

(5, 2.5)

(2, 1)

(5, 2.5)

0 1 2 3 4 5 6 7 8 9 10

Planificación basada en Prioridades

Page 23: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 23

espera por lainterrupcion

Programación de Tareas Periodicas

Inicializacion de Tareas

inicializar un timerperiodico o una ISRde un evento externo

Cómputo

start_time=time( )

Inicializacion de Tareas

Cómputo

Retrasa(period - ( time( ) -start_time) )

Page 24: Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Métodos de Planificación Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 24

Evaluación de las Políticas de Planificación

Las politicas de planificacion se evaluan en base a:

• Habilidad de cumplir con los plazos de las tareas• Utilizacion del CPU. Porcentaje de tiempo dedicado a

procesamiento util.• Eficiencia.• Overhead de la planificacion (en-linea): tiempo

requerido para tomar decisiones de planificacion• Flexibilidad ??• Habilidad de tratar sobrecargas ?