Aquí hay una pequeña ilustración de mi pregunta:
Asuma un trabajo de compilación que consta de 4 tareas independientes llamadas AD. D lleva más tiempo que AC en suma.
Un sistema de compilación que no puede incorporar los tiempos de tarea relativos podría programar las tareas de esta manera:
---------------------------------------
CPU1: A | C |
---------------------------------------
CPU2: B | D |
---------------------------------------
Por el contrario, si el planificador es consciente de las diferencias de tiempo de la tarea, podría llegar a este cronograma mucho más corto:
---------------------------------------
CPU1: A | B | C |
---------------------------------------
CPU2: D |
---------------------------------------
Mis preguntas:
- ¿Hay algún sistema de compilación que incorpore tiempos de tarea relativos esperados en el cronograma?
- ¿Qué investigación académica sobre sistemas de construcción de este tipo existe?
- ¿De dónde toman estos sistemas de compilación (si existen) la información de tiempo? ¿Heurística, tiempos recopilados durante compilaciones anteriores?
- Si tales sistemas de compilación no existen, ¿por qué? ¿Hay algún problema que los haga menos valiosos de lo que parecen a primera vista?