• No results found

Data Processing The chain of a typical Earth obser-

DIMS / EOWEB HMA-compliant data interfaces

1. Al iniciar la ejecución de una planificación, todas las tareas se encuentran listas para ser ejecutadas y todos los procesadores libres. Las tareas de mayor prioridad ocupan los procesadores.

Para comprobar que al iniciar una planificación, las tareas de mayor prioridad son las que toman control de los procesadores se define un conjunto de tareas (Cuadro 4.1) y procesa- dores (Cuadro 4.2) y se realiza una planificación con un planificador por prioridades fijas y si la instancia de una tarea alcanza su plazo máximo, aplica el aborto de la instancia que lo alcanza.

Como se observa en la figura 4.6, en el instante 0 (cero) de tiempo de la planificación, las tareas que toman control de los procesadores son T5, T1, T7, T4 yT10 y permanecen en la lista de tareas listas para ejecutar las tareasT2, T6,T3,T9 yT8, las cuales tienen menor prioridad que las tareas que se encuentran en los procesadores. Comprobando que al iniciar la ejecución de una planificación y al estar todos los procesadores libres, las tareas de mayor prioridad se ejecutan antes que las de menor prioridad.

Tarea T. Inicio T. Computo Periodo=Prioridad Compatibilidad T1 0 3 6 CPU-GPU T2 0 5 8 CPU T3 0 9 9 CPU T4 0 1 3 FPGA T5 0 3 3 CPU-GPU T6 0 5 8 FPGA-CPU T7 0 2 6 CPU-GPU T8 0 4 10 FPGA-GPU T9 0 6 9 FPGA-GPU T10 0 3 7 FPGA

Cuadro 4.1: Ejemplo 1 de definición de tareas

Procesador Tipo Clock

P1 CPU 2

P2 CPU 2

P3 GPU 1

P4 FPGA 3

P5 FPGA 3

2. Al ocuparse todos los procesadores, las tareas que están listas para ser ejecutadas y no fueron asignadas a un procesador, deben esperar.

Para este caso, se utiliza la definición de tareas (Cuadro 4.1) y procesadores (Cuadro 4.2) y se realiza una planificación con un planificador por prioridades fijas y si la instancia de una tarea alcanza su plazo máximo, aplica el aborto de la instancia que lo alcanza.

Como se observa en la figura 4.6, en el instante 0 (cero) de tiempo de la planificación, las tareasT2,T3, T6, T8 y T9 están listas para ser ejecutadas pero todos los procesadores se encuentran ocupados por tareas de mayor prioridad, es por eso que deben esperar para ser ejecutadas en la lista de pendientes o listas para ejecutar.

A medida que transcurre el tiempo, el planificador consultará ésta lista para ir ejecutando las tareas cuando sea posible.

Figura 4.7: Planificación PF ABORTO instante 2 (dos) y 3 (tres) de tiempo

3. Una tarea se encuentra en ejecución, pero llega una nueva tarea con mayor priori- dad y lista para ser ejecutada. Se realiza un cambio de contexto.

Para este caso, se utiliza la definición de tareas (Cuadro 4.1) y procesadores (Cuadro 4.2) y se realiza una planificación con un planificador por prioridades fijas y si la instancia de

una tarea alcanza su plazo máximo, aplica el aborto de la instancia que lo alcanza.

Como se observa en la figura 4.7, en el instante 3 (tres) de tiempo de la ejecución se produce un cambio de contexto en el procesadorid=3 de tipo GPU, el cual en el instante 2 (dos) de tiempo ejecuta la tarea T8 cuya prioridad es 10 (diez), pero en el instante 3 (tres) de tiempo, la tarea T8 es desalojada del procesador y es colocada en la lista de tareas listas para ejecutar y en el procesador id =3 de tipo GPU se ejecuta la tareaT5 cuya prioridad es 3 (tres) como la prioridad de T5 es mayor que la prioridad deT8, se produce un cambio de contexto.

La tareaT5, puede ser ejecutada en los procesadores tipo GPU y CPU, pero en el instante 3 (tres) de tiempo, en los procesadores tipo CPU, se ejecutan las tareasT2 yT3 las cuales tienen mayor prioridad que la tareaT8 (Cuadro 4.2).

4. Una tarea desalojada de un procesador producto de un cambio de contexto, debe conservar el tipo de procesador en el que se comenzó a ejecutar.

Para este caso, se utiliza la definición de tareas (Cuadro 4.1) y procesadores (Cuadro 4.2) y se realiza una planificación con un planificador por prioridades fijas y si la instancia de una tarea alcanza su plazo máximo aplica el aborto de la instancia que lo alcanza.

Como se observa en la figura 4.8, en el instante 3 (tres) de tiempo en la ejecución se produce un cambio de contexto, la tareaT8 es desalojada del procesador y se coloca en la lista de tareas lista para ejecutar, conservando el tipo de procesador en el que comenzó a ejecutarse para continuar su ejecución solo en un procesador compatible.

En este caso y como se observa en la figura 4.7, la tareaT8 conserva el tipo GPU ya que en el instante 2 (dos) de tiempo se encontraba ejecutándose en el procesador id=3 de tipo GPU (figura 4.7)

5. Una tarea desalojada de un procesador producto de un cambio de contexto, vuelve a tomar control de un procesador del mismo tipo donde comenzó su ejecución para continuar con la misma.

Figura 4.8: Planificación PF ABORTO instante 3 (tres) de tiempo

y se realiza una planificación con un planificador por prioridades fijas y si la instancia de una tarea alcanza su plazo máximo aplica el aborto de la instancia que lo alcanza.

Como se observa en la figura 4.9, la tareaT3 se ejecuta en el instante 5 (cinco) de tiempo en el procesador id =2 de tipo CPU, pero en el instante siguiente la tareaT7 provoca un cambio de contexto desalojando a la tarea T3. La tarea T7 se ejecuta y finaliza su ejecución en el instante 6 (seis) de tiempo y al finalizar libera al procesadorid=2 el cual es ocupado en el instante siguiente de tiempo nuevamente por la tareaT3 para continuar su ejecución.

6. Una tarea lista para ser ejecutada, espera aún habiendo procesadores libres, si la tarea no puede ser ejecutada en los procesadores disponibles.

Para este caso, se utiliza la definición de tareas (Cuadro 4.1) y procesadores (Cuadro 4.2) y se realiza una planificación con un planificador por prioridades fijas y si la instancia de una tarea alcanza su plazo máximo aplica el aborto de la instancia que lo alcanza.

Como se observa en la figura 4.18, en el instante 4 (cuatro) y 5 (cinco) de tiempo, la tarea

T8 se encuentra en la lista de tareas listas para ser ejecutadas y los procesadores id=4 yid=5 se encuentran libres (ambos de tipo FPGA). Debido a que la tareaT8 comenzó a ser ejecutada en un procesador de tipo GPU, en los instantes 4 (cuatro) y 5 (cinco) de tiempo, no es compatible con los procesadores id =4 y id=5 ambos de tipo FPGA y aún estando disponible nos los puede ocupar para continuar con su ejecución

7. Una tarea crea una nueva instancia de la misma, al cumplirse su periodo y la ins- tancia anterior finalizó correctamente.

Para este caso, se utiliza la definición de tareas (Cuadro 4.1) y procesadores (Cuadro 4.2) y se realiza una planificación con un planificador por prioridades fijas y si la instancia de una tarea alcanza su plazo máximo aplica el aborto de la instancia siguiente (finalización tardía).

Como se observa en la figura 4.10, en el instante 5 (cinco) de tiempo la tareaT5 que se ejecuta en el procesador id=3 de tipo GPU, finaliza correctamente la ejecución de la instancia 2 (dos) y en el instante siguiente de tiempo, la tarea T5 comienza la ejecución de la instancia 3 (tres) en el procesadorid=1 de tipo CPU.

Como se observa en el ejemplo anterior la tareaT5 tiene un periodo de 3 (tres), es decir, que en el instante 6 (seis) de tiempo la tarea comienza la ejecución de una nueva instancia en el instante anterior de tiempo finaliza la ejecución de la instancia anterior.

Figura 4.10: Planificación PF FINALIZACIÓN TARDÍA instante 5 (cinco) y 6 (seis) de tiempo

8. Una tarea retiene a un procesador y se mantiene en ejecución hasta que la mis- ma complete su tiempo de cómputo, siempre que no haya una tarea que genere un cambio de contexto con la misma.

y se realiza una planificación con un planificador por prioridades fijas y si la instancia de una tarea alcanza su plazo máximo aplica el aborto de la instancia que lo alcanza.

Como se observa en la figura 4.19, la tareaT9 que se ejecuta en el procesadorid=5 de tipo FPGA lo retiene en los instantes 1 (uno) y 2 (dos) de tiempo y se ejecuta la tarea hasta finalizar correctamente. Como se puede observar en los instantes de tiempo en los que se ejecuta la tarea, esta retiene al procesador y en dichos instantes no hay ninguna tarea disponible para ejecutar que produzca un cambio de contexto conT9.

9. Una tarea finaliza correctamente su ejecución, al completar su tiempo de cómputo y no alcanzar su plazo máximo de espera.

Para este caso, se utiliza la definición de tareas (Cuadro 4.1) y procesadores (Cuadro 4.2) y se realiza una planificación con un planificador por prioridades fijas y si la instancia de una tarea alcanza su plazo máximo aplica el aborto de la instancia que lo alcanza.

Como se observa en la figura 4.19, la tarea T9 que se ejecuta en el procesador id =5 de tipo FPGA en los instantes 1 (uno) y 2 (dos) de tiempo, finaliza correctamente su ejecución en el instante 2 (dos) de tiempo antes de alcanzar su plazo máximo, que para la instancia que se esta ejecutandosería el instante 9 (nueve) de tiempo. Como el periodo de la tareaT9 esT =9, en el instante 10 (diez) de tiempo se comienza a ejecutar la siguiente instancia de tiempo.

10. Una tarea alcanza su plazo máximo de espera y debe abortar la ejecución de la instancia actual.

Para este caso, se utiliza la definición de tareas (Cuadro 4.1) y procesadores (Cuadro 4.2) y se realiza una planificación con un planificador por prioridades fijas y si la instancia de una tarea alcanza su plazo máximo aplica el aborto de la instancia que lo alcanza.

Como se observa en la figura 4.11, la tareaT8 alcanza su plazo máximo de espera, por lo que debe abortar la instancia actual de la misma, en éste caso se debe abortar la instancia 1 (uno) de la tarea.

id=3 de tipo GPU como se puede observar en la figura 4.7, pero se produjo un cambio de contexto en el instante 3 (tres) de tiempo y fue desalojada del procesador id=3 de tipo GPU por la tareaT5.

T8 no recupero el procesador para continuar con su ejecución y de esta manera no finalizó correctamente, al alcanzar su plazo máximo de espera sin haber terminado su ejecución, se produce el aborto de esa instancia de la tarea.

El aborto de la instancia 1 (uno) de T8 se produce al finalizar el instante 9 (nueve) de tiempo y comenzar el instante 10 (diez) de tiempo.

Figura 4.11: Planificación PF ABORTO instante 9 (nueve) y 10 (diez) de tiempo

11. Al alcanzar una tarea su plazo máximo de espera y abortar la instancia actual, debe aparecer lista para ejecutarse la instancia siguiente de la tarea.

Para este caso, se utiliza la definición de tareas (Cuadro 4.1) y procesadores (Cuadro 4.2) y se realiza una planificación con un planificador por prioridades fijas y si la instancia de una tarea alcanza su plazo máximo aplica el aborto de la instancia que lo alcanza.

Como se observa en la figura 4.11, la tareaT8 alcanza su plazo máximo de espera, por lo que debe abortar la instancia actual de la misma, en éste caso se debe abortar la instancia

1 (uno) de la tarea.

Al completarse el periodo deT8 en el instante 10 (diez) de tiempo, la nueva instancia (en este caso instancia 2 (dos) de la tarea) se encuentra disponible para ejecutarse y como se observa en la figura 4.11, en el instante 10 (diez) de tiempo la instancia 2 (dos) de la tarea

T8 se encuentra ejecutándose en el procesadorid=4 de tipo FPGA.

12. Una tarea alcanza su plazo máximo de espera y debe abortar la ejecución de la instancia siguiente de la tarea y darle más tiempo a la instancia actual para que termine su ejecución.

Para este caso, se utiliza la definición de tareas (Cuadro 4.1) y procesadores (Cuadro 4.2) y se realiza una planificación con un planificador por prioridades fijas y si la instancia de una tarea alcanza su plazo máximo aplica el aborto de la instancia siguiente (finalización tardía).

Como se observa en la figura 4.12, al finalizar la instancia 9 (nueve) de tiempo y comenzar la instancia 10 (diez) de tiempo, la tarea T8 alcanzo su plazo máximo de espera y debe abortar, pero en este caso no se aborta la instancia actual que se esta ejecutando (en este caso instancia 1 (uno)) sino que se aborta la instancia siguiente (en este caso instancia 2 (dos) de la tarea) ya que el planificador es con finalización tardía.

Al mantener la instancia que se estaba ejecutando (instancia 1 (uno) de la tarea), se debe actualizar el plazo máximo de espera para dicha instancia, ampliando el plazo con el valor de la instancia que se aborto, como se ve en la figura 4.12 en el instante 10 (diez) de tiempo la tareaT8 modifica el plazo máximo de espera de 10 (diez) a 20 (veinte), como se observa en[n=t8,c=4,T =20,phi=0,p=10,i=1,cr=1ProcType=GPU], ampliando su plazo máximo y de esta manera continuar en la espera para poder ser ejecutada.

13. Una tarea puede producir que se aborten más de una instancia siguiente a la que se encuentra en ejecución si no finaliza y alcanza el plazo máximo de espera.

Para este caso, se utiliza la definición de tareas (Cuadro 4.1) y procesadores (Cuadro 4.2) y se realiza una planificación con un planificador por prioridades fijas y si la instancia de

Figura 4.12: Planificación PF FINALIZACIÓN TARDÍA instante 9 (nueve) y 10 (diez) de tiem- po

una tarea alcanza su plazo máximo aplica el aborto de la instancia siguiente (finalización tardía).

Como se observa en la figura 4.12, la tarea T8 alcanza su plazo máximo y produce el aborto de la instancia siguiente de la tarea, en ese caso se aborta la instancia 2 (dos) ya que se encuentra en ejecución o espera la instancia 1 (uno) de la tarea.

Al producirse el aborto de la instancia 2 (dos), la instancia 1 (uno) aumenta el plazo máximo de espera a 20 (veinte), pero dada la planificación y el conjunto de tareas defi- nidos, éste nuevo plazo máximo de espera no es suficiente para finalizar la ejecución de la instancia 1 (uno) de la tarea, y como se observa en la figura 4.13 se alcanza el nuevo plazo máximo de espera de la instancia y se vuelve a producir el aborto de una instancia siguiente, en este caso se debe abortar la instancia 3 (tres) de la tarea.

La instancia 1 (uno) de la tarea T8 vuelve a modificar su plazo máximo de espera para continuar ejecutándose o a la espera de poder hacerlo ([n=t8,c=4,T=30,phi=0,p=

14. Una tarea que generó el aborto de una instancia siguiente finaliza su ejecución antes de alcanzar el nuevo plazo máximo.

Para este caso, se utiliza la definición de tareas (Cuadro 4.3) y procesadores (Cuadro 4.4) y se realiza una planificación con un planificador por prioridades fijas y si la instancia de una tarea alcanza su plazo máximo aplica el aborto de la instancia siguiente (finalización tardía).

Como se observa en la figura 4.14, la tarea T4 alcanza su plazo máximo de espera al finalizar el instante 5 (cinco) de tiempo, al comienzo del instante 6 (seis) de tiempo se produce el aborto de la instancia siguiente a la que se esta ejecutando, en este caso se aborta la instancia 2 (dos) de la tareaT4 y en el instante 7 (siete) de tiempo, la instancia 1 (uno) de la tareaT4 finaliza su ejecución correctamente.

Figura 4.13: Planificación PF FINALIZACIÓN TARDÍA instante 19 (diecinueve) y 20 (veinte) de tiempo

15. Al finalizar la ejecución y cumplirse el periodo de una tarea que produjo el aborto de la instancia siguiente de la misma, la nueva instancia a ejecutar debe considerar a la/s instancia/s abortada/s.

Tarea T. Inicio T. Computo Periodo=Prioridad Compatibilidad

T1 0 3 4 CPU-GPU

T2 0 5 5 CPU

T3 0 2 4 CPU

T4 0 4 6 GPU

Cuadro 4.3: Ejemplo 2 de definición de tareas

Procesador Tipo Clock

P1 CPU 2

P2 CPU 2

P3 GPU 1

Cuadro 4.4: Ejemplo 2 de definición de procesadores

Figura 4.14: Planificación PF FINALIZACIÓN TARDÍA instante 5 (cinco), 6 (seis) y 7 (siete) de tiempo

y se realiza una planificación con un planificador por prioridades fijas y si la instancia de una tarea alcanza su plazo máximo aplica el aborto de la instancia siguiente (finalización tardía).

Como se observa en la figura 4.14, la tarea T4 alcanza su plazo máximo de espera y produce el aborto de la instancia siguiente a la que se esta ejecutando, luego, en el instante 7 (siete) de tiempo la instancia 1 (uno) de la tareaT4 finaliza su ejecución correctamente. Finalmente, como se observa en la figura 4.15, una nueva instancia de la tarea T8 esta lista para ser ejecutada y como se puede observar en la figura, la instancia que espera para ser ejecuta, es la instancia 3 (tres), considerando que la instancia 1 (uno) finalizo correctamente y la 2 (dos) fue abortada.

Figura 4.15: Planificación PF FINALIZACIÓN TARDÍA instante 12 (doce) de tiempo

16. Una tarea conserva su prioridad fija durante toda su ejecución.

Para este caso, se utiliza la definición de tareas (Cuadro 4.1) y procesadores (Cuadro 4.2) y se realiza una planificación con un planificador por prioridades fijas y si la instancia de una tarea alcanza su plazo máximo aplica el aborto de la instancia que lo alcanza.

Como se observa en la figura 4.16, la tareaT3 que se ejecuta en el procesadorid=2 de tipo CPU, conserva en cada instante de tiempo la prioridad fija, la cual se mantiene en 9 (nueve).

Al ser una planificación por prioridades fijas las prioridades de cada tarea se mantienen igual para la ejecución de cada instancia de la misma.

Figura 4.16: Planificación PF ABORTO instante 3 (tres), 4 (cuatro) y 5 (cinco) de tiempo

17. Una tarea varía su prioridad durante su ejecución en cada instante de tiempo. La prioridad de la tarea disminuye en uno para que su prioridad aumente. Planificación con prioridades dinámicas.

Para este caso, se utiliza la definición de tareas (Cuadro 4.1) y procesadores (Cuadro 4.2) y se realiza una planificación con un planificador por prioridades dinámicas y si la instancia de una tarea alcanza su plazo máximo aplica el aborto de la instancia siguiente (finalización tardía).

Como se observa en la figura 4.17, por cada instante de tiempo que pasa la prioridad de las tareas que se encuentran en ejecución o en espera de un procesador para poder ser ejecutadas, se disminuye en 1 (uno).

Por ejemplo, si tomamos la tareaT2, que en el instante 0 (cero) de tiempo se encuentra esperando para ser ejecutada, se puede observar que la misma tiene en dicho instante de tiempo una prioridad p=8, luego en el instante 1 (uno) de tiempo la misma tareaT2 que permanece a la espera para ser ejecutada modificó su prioridad y es p=7.

instante de tiempo que transcurre, su prioridad se disminuye en uno, por ejemplo la tarea

T5 que se encuentra en ejecución también modifica su prioridad, como se puede observar en la figura 4.17.

Figura 4.17: Planificación EDF FINALIZACIÓN TARDÍA instante 0 (cero), 1 (uno) y 2 (dos) de tiempo

18. Un procesador se mantiene libre si no hay ninguna tarea lista para ejecutarse com- patible con él.

Para este caso, se utiliza la definición de tareas (Cuadro 4.1) y procesadores (Cuadro 4.2) y se realiza una planificación con un planificador por prioridades fijas y si la instancia de una tarea alcanza su plazo máximo aplica el aborto de la instancia que lo alcanza.

Como se observa en la figura 4.18, en el instante 4 (cuatro) y 5 (cinco) de tiempo, tanto el procesador id =4 y el procesador id=5 ambos de tipo FPGA, se encuentran libres aunque hay tareas esperando para ser ejecutadas, pero no son compatibles con los proce- sadores.

En ambos instantes de tiempo, se observa que la tarea T8 espera para ser ejecutada, la misma es compatible con los procesadores FPGA, pero comenzó a ser ejecutada en un procesador de tipo GPU, en el instante 2 (dos) de tiempo, por lo que no puede continuar su ejecución en un procesador de tipo FPGA.

Figura 4.18: Planificación PF ABORTO instante 4 (cuatro) y 5 (cinco) de tiempo

19. Una tarea libera al procesador cuando la misma completa su ejecución correcta- mente.

Para este caso, se utiliza la definición de tareas (Cuadro 4.1) y procesadores (Cuadro 4.2) y se realiza una planificación con un planificador por prioridades fijas y si la instancia de una tarea alcanza su plazo máximo aplica el aborto de la instancia que lo alcanza.

Como se observa en la figura 4.19, la tarea T9 comienza su ejecución en el procesador

id =5 de tipo FPGA en el instante 1 (uno) de tiempo, en el instante siguiente continua