Negli ultimi decenni si sta assistendo ad una crescita tecnologica senza precedenti al centro dell’affermazione dei sistemi embedded, con la Legge di Moore come fattore dominante nel sostenere questo trend. Al giorno d’oggi, infatti, un sempre maggiore numero di cores può essere integrato nello stesso die, segnando il passaggio dallo Stato dell’Arte rappresentato dai chips multi-core ai nuovi paradigmi di design di chips manycore. Proprio questi chips many-core presentano un duplice scopo: fornire alte performance computazionalieaumentarel’efficienzadell’hardwareinterminidiOPS/Watt. Nonostante la potenza computazionale estremamente elevata, la complessità di questi nuovi chips sta dando vita a numerose sfide che i progettisti stanno fronteggiando sia per quanto riguarda l’hardware che per il software, focalizzate soprattutto sulla gestione a runtime dell’intelaiatura di computazione. La sfida affrontata in questa tesi è duplice e incentrata sullo sfruttare a pieno il potenziale di queste architetture many-core eterogenee. Da un lato il parallelismo software non scala con la stessa entità di quello hardware, perciò un problema è rappresentato da come condividere le risorse computazionali tra un batch di applicazioni concorrenti. Dall’altro lato, i tasks per la gestione del sistema many-core diventano fondamentali operazioni a runtime, che necessitano di essere eseguite trasparentemente e allo stesso tempo senza sospendere la computazione in corso sul sistema. Questa tesi fornisce un completo set di metodi di design volti dominare la complessità del runtime di acceleratori many-core ricchi di funzionalità, affidandosi a estensioni hardware della rete di interconnessione on-chip (Network-on-Chip, NoC). L’idea chiave, al centro del lavoro di questa tesi, è quella di sfruttare una strategia di Space-Division Multiplexing per schedulare l’esecuzione di applicazioni che richiedono di essere accelerate contemporaneamente sullo stesso array di tiles omogenei di computazione, così abilitando lo sfruttamento efficiente delle potenzialità delle risorse hardware presenti. L’applicazione più avanzata di questa idea consiste nella virtualizzazione del sistema embedded controllando le architetture di computazione eterogenee, scenario in cui molteplici macchine virtuali attive sullo stesso processore host potrebbero voler assegnare parte della computazione ad un acceleratore many-core programmabile. In questo contesto, una vir tualizzazione efficiente implica un partizionamento flessibile delle risorse computazionali e delle memorie, un isolamento tra applicazioni concorrenti per motivi di sicurezza e la capacità di riconfigurarsi per adattarsi a runtime a diversi workloads. Mentre la gestione delle risorse dovrebbe essere un compito di una "torre di controllo" in software (hypervisor), il partizionamento, l’isolamento e la riconfigurazione necessitano di essere assistite in hardware, specialmente nell’infrastruttura di integrazione della piattaforma, che consiste nell’architettura di comunicazione. Il primo contributo di questa tesi consiste nel validare il nuovo paradigma di condivisione delle risorse basato sull’approccio SDM. Quindi, per prima cosa, si vuole comparare un approccio di tipo SDM con quello tradizionalmente usato e basato sul Time-Division Multiplexing. Per valutare le differenti strategie, in questa tesi si fa uso di benchmarks parallelizzati di Image Processing, la cui esecuzione è gestita da una versione ottimizzata del Runtime Environment OpenMP, necessario per abilitarne l’esecuzione parallelizzata. I benchmarks sono eseguiti su diversi ambienti di simulazione (VirtualSoC e gem5), che hanno richiesto entrambi una customizzazione per abilitare nuove funzionalità necessarie a simulare un acceleratore programmabile general-purpose (General-Purpose Programmable Accelerator, GPPA). Come risultato, questa tesi ha lo scopo di catturare l’impatto sulle performance del parallelismo, della dimensione e forma delle partizioni (numero di cluster computazionali riservati all’applicazione e loro posizione sulla struttura del manycore) e diversi settaggi di configurazione delle memorie. Ilsecondocontributoprincipaledellatesiconsistenell’abilitareunagestionealtamente dinamica delle risorse dell’acceleratore manycore. Infatti, la flessibile strategia di condivisione del manycore dipende essenzialmente dalla capacità di rinconfigurare a runtime la funzione di routing (che determina l’instradamento dei pacchetti) di una NoC, quindi in questa tesi si punta ad implementare un meccanismo di rinconfigurazione del routing veloce e scalabile e con una perturbazione minima del traffico di background. Si fornisce prima una soluzione centralizzata del problema e alla fine una completamente distribuita, valutando le implicazioni in termini di area e performance attraverso un’avanzata prototipazione su FPGA. Questo contributo apre la strada ad un futuro sviluppo di sistemi con la possibilità di configurarsi in modo molto fine, adattandosi ai diversi carichi richiesti, nonché a strategie di testing selettivo online di componenti che risultino trasparenti alle applicazioni eseguite. Inoltre, questa tesi si punta all’introduzione della strategia SDM sviluppata a sistemi più futuristici, caratterizzati dall’integrazione nella struttura del manycore di tecnologie emergenti. In particolare ci si focalizza sull’integrazione della tecnologia ottica (fotonica) e sul co-design di caratteristiche di riconfigurazione e partizionamento di acceleratori programmabili con il requisito principale di minimizzare l’overhead in potenza statica consumata delle NoCs ottiche. Questo risultato è ottenuto attraverso il riutilizzo delle stesse sorgenti laser tra diverse partizioni di computazione. In ultimo questa tesi re-architetta la completa infrastruttura gerarchica di comunicazione promuovendo un template di un’architettura di computazione eterogenea e parallela con integrazione fotonica, e giungendo ad una struttura di interconnessione ibrida che apre la strada a ricerche future.

NoC-Centric Partitionin and Reconfiguration Technology for the Efficient Sharing of General-Purose Prorammable Many-core Accelerators

2016

Abstract

Negli ultimi decenni si sta assistendo ad una crescita tecnologica senza precedenti al centro dell’affermazione dei sistemi embedded, con la Legge di Moore come fattore dominante nel sostenere questo trend. Al giorno d’oggi, infatti, un sempre maggiore numero di cores può essere integrato nello stesso die, segnando il passaggio dallo Stato dell’Arte rappresentato dai chips multi-core ai nuovi paradigmi di design di chips manycore. Proprio questi chips many-core presentano un duplice scopo: fornire alte performance computazionalieaumentarel’efficienzadell’hardwareinterminidiOPS/Watt. Nonostante la potenza computazionale estremamente elevata, la complessità di questi nuovi chips sta dando vita a numerose sfide che i progettisti stanno fronteggiando sia per quanto riguarda l’hardware che per il software, focalizzate soprattutto sulla gestione a runtime dell’intelaiatura di computazione. La sfida affrontata in questa tesi è duplice e incentrata sullo sfruttare a pieno il potenziale di queste architetture many-core eterogenee. Da un lato il parallelismo software non scala con la stessa entità di quello hardware, perciò un problema è rappresentato da come condividere le risorse computazionali tra un batch di applicazioni concorrenti. Dall’altro lato, i tasks per la gestione del sistema many-core diventano fondamentali operazioni a runtime, che necessitano di essere eseguite trasparentemente e allo stesso tempo senza sospendere la computazione in corso sul sistema. Questa tesi fornisce un completo set di metodi di design volti dominare la complessità del runtime di acceleratori many-core ricchi di funzionalità, affidandosi a estensioni hardware della rete di interconnessione on-chip (Network-on-Chip, NoC). L’idea chiave, al centro del lavoro di questa tesi, è quella di sfruttare una strategia di Space-Division Multiplexing per schedulare l’esecuzione di applicazioni che richiedono di essere accelerate contemporaneamente sullo stesso array di tiles omogenei di computazione, così abilitando lo sfruttamento efficiente delle potenzialità delle risorse hardware presenti. L’applicazione più avanzata di questa idea consiste nella virtualizzazione del sistema embedded controllando le architetture di computazione eterogenee, scenario in cui molteplici macchine virtuali attive sullo stesso processore host potrebbero voler assegnare parte della computazione ad un acceleratore many-core programmabile. In questo contesto, una vir tualizzazione efficiente implica un partizionamento flessibile delle risorse computazionali e delle memorie, un isolamento tra applicazioni concorrenti per motivi di sicurezza e la capacità di riconfigurarsi per adattarsi a runtime a diversi workloads. Mentre la gestione delle risorse dovrebbe essere un compito di una "torre di controllo" in software (hypervisor), il partizionamento, l’isolamento e la riconfigurazione necessitano di essere assistite in hardware, specialmente nell’infrastruttura di integrazione della piattaforma, che consiste nell’architettura di comunicazione. Il primo contributo di questa tesi consiste nel validare il nuovo paradigma di condivisione delle risorse basato sull’approccio SDM. Quindi, per prima cosa, si vuole comparare un approccio di tipo SDM con quello tradizionalmente usato e basato sul Time-Division Multiplexing. Per valutare le differenti strategie, in questa tesi si fa uso di benchmarks parallelizzati di Image Processing, la cui esecuzione è gestita da una versione ottimizzata del Runtime Environment OpenMP, necessario per abilitarne l’esecuzione parallelizzata. I benchmarks sono eseguiti su diversi ambienti di simulazione (VirtualSoC e gem5), che hanno richiesto entrambi una customizzazione per abilitare nuove funzionalità necessarie a simulare un acceleratore programmabile general-purpose (General-Purpose Programmable Accelerator, GPPA). Come risultato, questa tesi ha lo scopo di catturare l’impatto sulle performance del parallelismo, della dimensione e forma delle partizioni (numero di cluster computazionali riservati all’applicazione e loro posizione sulla struttura del manycore) e diversi settaggi di configurazione delle memorie. Ilsecondocontributoprincipaledellatesiconsistenell’abilitareunagestionealtamente dinamica delle risorse dell’acceleratore manycore. Infatti, la flessibile strategia di condivisione del manycore dipende essenzialmente dalla capacità di rinconfigurare a runtime la funzione di routing (che determina l’instradamento dei pacchetti) di una NoC, quindi in questa tesi si punta ad implementare un meccanismo di rinconfigurazione del routing veloce e scalabile e con una perturbazione minima del traffico di background. Si fornisce prima una soluzione centralizzata del problema e alla fine una completamente distribuita, valutando le implicazioni in termini di area e performance attraverso un’avanzata prototipazione su FPGA. Questo contributo apre la strada ad un futuro sviluppo di sistemi con la possibilità di configurarsi in modo molto fine, adattandosi ai diversi carichi richiesti, nonché a strategie di testing selettivo online di componenti che risultino trasparenti alle applicazioni eseguite. Inoltre, questa tesi si punta all’introduzione della strategia SDM sviluppata a sistemi più futuristici, caratterizzati dall’integrazione nella struttura del manycore di tecnologie emergenti. In particolare ci si focalizza sull’integrazione della tecnologia ottica (fotonica) e sul co-design di caratteristiche di riconfigurazione e partizionamento di acceleratori programmabili con il requisito principale di minimizzare l’overhead in potenza statica consumata delle NoCs ottiche. Questo risultato è ottenuto attraverso il riutilizzo delle stesse sorgenti laser tra diverse partizioni di computazione. In ultimo questa tesi re-architetta la completa infrastruttura gerarchica di comunicazione promuovendo un template di un’architettura di computazione eterogenea e parallela con integrazione fotonica, e giungendo ad una struttura di interconnessione ibrida che apre la strada a ricerche future.
2016
Inglese
BERTOZZI, Davide
TRILLO, Stefano
Università degli Studi di Ferrara
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14242/153324
Il codice NBN di questa tesi è URN:NBN:IT:UNIFE-153324