Ecco una piccola illustrazione della mia domanda:
Assumi un lavoro di compilazione che consiste in 4 attività indipendenti denominate AD. D impiega più tempo di AC in somma.
Un sistema di generazione che non è in grado di incorporare i relativi tempi delle attività potrebbe pianificare le attività in questo modo:
---------------------------------------
CPU1: A | C |
---------------------------------------
CPU2: B | D |
---------------------------------------
Al contrario, se lo scheduler è a conoscenza delle differenze temporali dell'attività, potrebbe venire con questa pianificazione molto più breve:
---------------------------------------
CPU1: A | B | C |
---------------------------------------
CPU2: D |
---------------------------------------
Le mie domande:
- Esistono sistemi di build che incorporano i tempi relativi relativi alle attività previste nella pianificazione?
- Quale ricerca accademica su sistemi di costruzione di questo tipo esiste?
- Da dove prendono questi sistemi di compilazione (se esistono) le informazioni sul tempo? Euristica, tempistiche raccolte durante le build precedenti?
- Se tali sistemi di build non esistono, perché? C'è un gotcha che li renderebbe meno meritevoli di quanto appaiano a prima vista?