La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Planificación Cíclica Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.

Presentaciones similares


Presentación del tema: "Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Planificación Cíclica Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación."— Transcripción de la presentación:

1 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Planificación Cíclica Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación

2 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 2 Indice Planificación Cícilica Estructura del ciclo principal y secundario Método para construir el plan cíclico Cambios de Modo Tareas Aperiodicas y Esporadicas Grafica de flujo de red Ventajas y Desventajas

3 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 3 Planificacion basada en el Reloj Se calcula una plantilla de planificacion estatica fuera de linea Se minimiza la sobrecarga Aplica solo cuando los parametros temporales son conocidos y no cambian.

4 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 4 Planificacion basada en el Reloj Modelo de tareas periodicas para planificacion ciclica – Cada tarea Ti es invocada regularmente con un periodo Pi – Cada tarea tiene su propia fase – Los parametros son conocidos a priori Para aplicaciones periodicas, el plan estatico se construye para un hiperperiodo. Las tareas aperiodicas se planifican buscando intervalos vacios dentro de la planificacion.

5 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 5 Planificación Cíclica Si todas las tareas son periódicas, se puede confeccionar un plan de ejecución fijo Se trata de un esquema que se repite cada ( ciclo principal ) El ciclo principal se divide en ciclos secundarios, con período En cada ciclo secundario se ejecutan las actividades correspondientes a determinadas tareas El sistema debe ser determinista,todos los parametros temporales deben ser conocidos a priori. T = m c m ( Tj ) M T ( T = k T ) SMS

6 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 6 Ejemplo  El ciclo principal dura 100 ms  Se compone de 4 ciclos secundarios de 25 ms cada uno T = 100ms M AAAABBBBCCDDE 0 25 50 75 100 T = 25ms S

7 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 7 Programación del Ejecutivo cíclico procedure Cyclic_Executive is type Cycle is mod 4; Frame ; Cycle : = 0; begin loop Wait_for_Interrupt; case Frame is when 0 => A; B; C; when 1 => A; B; D; E; when 2 => A; B; C; when 3 => A; B; D; end case; Frame : = Frame + 1; end loop; end Cyclic_Executive;

8 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 8 Programación del Ejecutivo cíclico Plan ciclico: (tk,  (tk)), al instante tk, ejecuta la tarea  (tk) o tiempo ocioso Planificador: proximo punto de desicion i y entrada k de la tabla = 0 timer = tk do forever acepta interrupcion del timer timer =  i/N  + tk Ejecuta la tarea  sleep Se asume que solo hay una tarea por frame

9 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 9 El cumplimiento de tiempos debe verificarse al final de cada frame Las reglas para seleccionar el valor de m para una tarea con parametros {(Ti,Ci, D i )} para n tareas es: –m  d i, y m  Ci ; i = 1, 2, …, n –M / n = entero (m divide a Ti en al menos una tarea) –debe haber al menos un frame en el intervalo entre el tiempo de inicio y el plazo de cada Job. 2m - gcd (m, T i )  Di, for i = 1, 2, …, n ciclo principal frames (ciclos secundarios) i - 1 idleframe overrun 1234 ii + 1 tt + mt + 2mt + 3mt + 4mt + M ... Estructura del ciclo principal

10 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 10 Tareas = {(T,C,D)} = {(15, 1, 14), (20, 2, 26), (22, 3,22)} Hiperperiodo = 660 Valores posibles de m - f  min{D i } = 14  m = 1, 2, 3, 4, …, 14 - f  max{Ci} = 3  m = 3, 4, 5, …, 14 - f divide a Ti  m = 3, 4, 5, 10, 11 - 2f - gcd(f,Ti)  Di  m = 3, 4, 5 Ejemplo: selección del valor de m

11 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 11 Ejemplo: selección del valor de m f = 4 02024 4048 72 96 660 …. (15, 1, 14) (20, 2, 26) (22, 3) 

12 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 12 Ejemplo: selección del valor de m Suponga que T = {(5, 1, 4), (20, 7, 26), (22, 5)} Reglas: – 1 f  min{Di} = 4 – 2 f  max{Ci} = 7 no pueden satisfacerse simultaneamente Podemos descomponer tareas grandes en tareas pequenas T’ = {(5, 1, 4), (20, 3, 26), (20, 4, 26), (22, 2), (22, 3)} para planificarlas en un procesador La programacion del planificador del ejecutivo ciclico cambia cuando las tareas se descomponen.

13 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 13 1/17/01CIS 64213 Aplicar las reglas para seleccionar el valor del frame. Si no existe un plan de ejecución factible (no existe un valor factible del frame), partir los jobs en partes menores y seleccionar de nuevo el valor del frame. Asignar las partes en los frames. Algoritmo flujo de red iterativo: –Permite encontrar un plan de ejecución, si este existe. –Encuentra los planes factibles para cada tamaño de frame, desde el frame mas grande al mas pequeño. –Si se encuentra un plan factible, este nos dirá si es necesario descomponer las tareas en partes. –Si el algoritmo no encuentra un plan factible para todos los tamaños de frames, no existe un plan factible. Método para construir el plan cíclico

14 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 14 Asuma que cada tarea se puede dividir (es expulsable) eligir f que divida a H y a 2f - gcd ( f, p i )  D i Para cada f, construya un diagrama de flujo de red. una fuente y un destino un vértice (vertex) para cada job J i,k (instancia de la tarea) y una flecha (edge) desde el destino con capacidad C i un vértice para cada frame f k y una flecha(edge) desde cada frame hacia el destino (sink) con capacidad f Si J i,j puede planificarse en el frame f k, añade una flecha (edge) entre los vértices con capacidadad f Encuentre el máximo flujo entre el destino (source) y la fuente(sink). la planificación es factible si el flujo máximo es igual a el tiempo de ejecución total. Algoritmo para la construccion del plan cícilico.

15 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 15 Plan de Ejecución Cíclico (ejemplos) Tres tareas (15, 1, 14) (20, 2, 26) and (22,3) H = 330, f  3, y f = 3, 4, 5, 10, o 11 f no pueder ser muy grande dado que 2f - gcd(….)  14 f puede tener valores 3, 4, y 5 Tres tareas (4, 1) (5, 2, 7) and (20, 5) H=20, f  5, pero f  4 job slices: divide la 3ra. tarea en (20, 1) (20, 3) y (20, 3) f puede tener valor de 4 T 1 T 2 T 3,,1 T 1 T 3,2 T 1 T 2 T 3,3 T 1 T 2 T 1 T 2 0 2 4 6 8 10 12 14 16 18 20

16 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 16 Grafica de flujo de red Tres tareas (4, 1) (5, 2, 7) y (20, 5) H=20, f = 2 o 4 source sink J i,k f1f1

17 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 17 Propiedades No hay concurrencia en la ejecución Cada ciclo secundario es una secuencia de invocaciones de procedimientos Los procedimientos pueden compartir datos No hace falta usar mecanismos de exclusión mutua Los períodos deben ser armónicos Puede ser necesario utilizar períodos más cortos de lo necesario No hace falta analizar el comportamiento temporal El sistema es correcto por construcción

18 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 18 Ventajas del ejecutivo cíclico Simplicidad y Predecibilidad: Las restricciones temporales pueden checarse facilmente. El plan de ejecución cíclico puede representarse en una tabla para usarse por el kernel Cambio de contexto muy pequeño, poco overhead de planificación Facil para representar restricciones de precedencia

19 Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 19 Desventajas del ejecutivo cíclico Las tareas esporádicas son difíciles de tratar Se puede utilizar un servidor de consulta El plan cíclico es difícil de construir Si los períodos son de diferentes órdenes de magnitud el número de ciclos secundarios se hace muy grande Puede ser necesario partir una tarea en varios procedimientos En el caso más general es NP-duro Es poco flexible y difícil de mantener Cada vez que se cambia una tarea hay que rehacer toda la planificación No permite integrar tareas con plazos criticos y acriticos.


Descargar ppt "Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Planificación Cíclica Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación."

Presentaciones similares


Anuncios Google