Riassunto analitico
I sistemi eterogenei su singolo chip (HeSoCs) sono ampiamente sfruttati in molti domini applicativi, ed includono processori per scopi specifici accoppiati ad acceleratori come Graphics Processing Units (GPU) o Field Programmable Gate Arrays (FPGA). Questi sistemi affidano la comunicazione a una memoria condivisa, e gli accessi concorrenti di più componenti di calcolo come CPU o FPGA può ostacolare la latenza e la banda di un task in esecuzione.
Di recente sono state proposte soluzioni per il Controllo a Runtime della Banda (RBR) su sistemi eterogenei eterogenei su singolo chip basati su FPGA, le quali provano a mitigare il problema dell'interferenza nella memoria principale da parte di CPU e FPGA. RBR è già stato implementato e testato sulla piattaforma Zynq UltraScale+ di Xilinx per l'esecuzione in bare-metal. Questo limita l'applicabilità dell'approccio e richiede soluzioni integrate con i principali sistemi operativi.
Questa tesi propone una struttura per l'integrazione del RBR nel kernel Linux. Viene proposto un semplice controllore cosciente dell'interferenza che si aggancia allo scheduler di Linux per monitorare l'esecuzione di un task CPU e regolare di conseguenza i task FPGA, con lo scopo finale di riportare la qualità del servizio richiesta (QoS). La soluzione proposta semplifica l'adozione del sistema RBR nei sistemi basati su FPGA. Gli esperimenti valutano il costo del controllore e il suo impatto nel tempo di esecuzione dei task e della mitigazione degli effetti sull'interferenza.
|