350 likes | 612 Views
Algoritmo de Planificación Cíclica. Curso: Sistemas de Tiempo Real. Ejemplo ilustrativo:. Planificación con expropiación,. Paso 1: Calcular el hiperperíodo :. mcm(4, 5, 20) = 20. Paso 2: hallar número de “ jobs ” por tarea: para la tarea 1:
E N D
Algoritmo de Planificación Cíclica Curso: Sistemas de Tiempo Real
Ejemplo ilustrativo: • Planificación con expropiación, • Paso 1: Calcular el hiperperíodo: mcm(4, 5, 20) = 20
Paso 2: hallar número de “jobs” por tarea: para la tarea 1: ( J1,1, J1,2, J1,3, J1,4 y J1,5 ) para la tarea 2: ( J2,1, J2,2, J2,3, J2,4 ) para la tarea 3: ( J3,1 )
Paso 4: para cada posible tamaño de “frame”, en orden decreciente de tamaño, repetir paso 5 hasta hallar planificación factible. • Paso 5: elaborar grafo de flujo de red.
source sink
J1,1 J1,2 J1,3 J1,4 J1,5 J2,1 source sink J2,2 J2,3 J2,4 J3,1 jobs
3- Hay un vértice por cada “frame”, representando cada uno de ellos en el hiperperíodo.
J1,1 1 J1,2 2 J1,3 J1,4 3 J1,5 J2,1 source 4 sink J2,2 J2,3 5 J2,4 J3,1 frames jobs
4- Hay una arista desde el nodo fuente hasta cada “job”, etiquetada con el tiempo de cómputo del “job” correspondiente.
J1,1 1 1 J1,2 1 2 J1,3 1 J1,4 1 3 J1,5 1 2 J2,1 sink source 2 4 J2,2 2 2 J2,3 5 5 J2,4 J3,1 frames jobs
5- Hay una arista desde cada “frame” hasta el nodo destino, etiquetada con el tamaño del “frame”.
J1,1 1 1 J1,2 4 1 2 J1,3 1 4 J1,4 1 3 4 J1,5 1 2 J2,1 4 sink source 2 4 J2,2 2 4 2 J2,3 5 5 J2,4 J3,1 frames jobs
6- Hay una arista desde el “job” Ji,j hasta el “frame” m si se cumplen dos ecuaciones: Tiempo Inicio del “frame” >= Tiempo Llegada del “Job” Tiempo Final del “frame” <= Plazo del “Job” frame
7- Estas aristas también se etiquetan con el tamaño del “frame”.
J1,1 1 4 1 J1,2 4 4 1 4 2 J1,3 1 4 4 4 J1,4 1 4 3 4 J1,5 4 1 2 J2,1 4 sink 4 source 2 4 4 4 J2,2 2 4 2 J2,3 4 4 5 5 J2,4 4 4 J3,1 frames jobs
8- A este grafo se le aplica un algoritmo de flujo máximo. • La planificación será factible si el flujo máximo coincide con la suma de los tiempos de cómputo de todas las tareas. • Edmonds-Karp, • Ford-Fulkerson, • Dinitz…
En optimización, el problema de flujomáximoesencontrar un flujofactible en una red de flujodesde el nodofuentehasta el nododestino, de maneraque sea máximo.
Sea G = (V, E) un grafo. Denotemos al nodofuentecomos y al nododestinocomot. La capacidad de unaaristaesunaaplicaciónquerepresenta la máximacantidad de flujoquepuedepasarporella:
Un flujoesunaaplicación: Representa la máximacantidad de flujoquepuedepasarpor la arista.
Restricciones: Restricción de capacidad: Conservación de flujos:
El valor del flujo se define como: Representa la cantidad total quepasa del nodofuente al nododestino. En el problema de flujomáximo se buscamaximizar
Relación: . . . . . . Conjunto de “jobs” Conjunto de “frames”
9- Si se halló una planificación factible, terminar. Sino, recomenzar con otro tamaño de “frame”.
Para este tamaño de “frame”, el flujo máximo resultó ser 18, que es igual a la suma de los tiempos de cómputo de todos los “jobs” en el hiperperíodo. Por lo tanto, hay una planificación factible.
Ventajas del planificador cíclico • Es simple. • No se necesita mecanismo de sincronización entre procesos (ejecución secuencial). • No presentará anomalías de planificación (modelo determinista). • Es muy útil en sistemas de tiempo real duros. • Los cambios de contexto y sobrecarga de comuni-cación pueden ser minimizados. • El comportamiento del sistema es correcto por construcción.