Obiettivi di apprendimento:Comprendere il ruolo del Runtime nello scheduling di risorse di calcolo eterogenee e nel preservare la componibilità degli algoritmi.
Concetti chiave:Scheduling di risorse di calcolo eterogenee.
Runtime: livello di scheduling e astrazione nella base unificata
Nella base unificata di EvoX, il Runtime funge da ponte: verso l'alto accoglie i moduli di algoritmi, problemi e workflow, mentre verso il basso gestisce risorse di calcolo eterogenee come CPU e GPU. Attraverso l'isolamento delle interfacce mantiene la componibilità degli algoritmi, evitando che il livello algoritmico si leghi direttamente all'hardware sottostante, alle strategie di parallelizzazione o ai dettagli di compilazione. Così, quando l'utente sostituisce algoritmi come DE o PSO o cambia il problema di ottimizzazione, non deve riscrivere il codice parallelo GPU/CPU sottostante; il Runtime pianifica valutazione e aggiornamento secondo un workflow unificato, disaccoppiando la composizione degli algoritmi dall'esecuzione hardware.
Punti chiave
- Il ruolo del Runtime nello scheduling di risorse di calcolo eterogenee: in base allo stato del workflow e dei moduli di monitoraggio, pianifica task come popolazione, valutazione e operatori sulle unità più adatte, gestendo in modo unificato l'esecuzione parallela e l'uso delle risorse.
- Condizioni per la componibilità degli algoritmi: algoritmi, problemi e operatori si compongono tramite interfacce modulari, senza legarsi direttamente all'hardware sottostante, alle strategie di parallelizzazione o ai dettagli di compilazione.
- Isolamento dall'hardware sottostante: le differenze tra dispositivi, l'esecuzione tensorizzata e le ottimizzazioni di compilazione vengono assorbite dal Runtime, mantenendo il livello algoritmico indipendente dal dispositivo, a vantaggio di sostituibilità e riutilizzo.
- I confini tra scheduling e composizione: l'astrazione comporta costi di scheduling e di movimentazione dei dati, rendendo necessario un compromesso tra flessibilità, prestazioni e complessità ingegneristica.
- Il valore della base unificata: lo stesso Runtime può supportare applicazioni in più ambiti e offre un ambiente di esecuzione stabile per l'evoluzione dei metodi e la sostituzione degli algoritmi.
Sintesi dei punti chiave del meccanismo di scheduling
| Oggetto dello scheduling | Risorse eterogenee | Meccanismo di disaccoppiamento | Vantaggi in termini di componibilità | Compromesso principale |
|---|---|---|---|---|
| Moduli algoritmo/problema | CPU/GPU | Interfaccia unificata | Algoritmi sostituibili | Costo dell'astrazione delle interfacce |
| Popolazione/valutazione/operatori | Dispositivi multipli | Scheduling del workflow | Esecuzione parallela | Costo di movimentazione dei dati |
| Workflow | Risorse di calcolo eterogenee | Isolamento hardware | Riutilizzo in più ambiti | Complessità dello scheduling |
