During the last few decades an unprecedented technological growth has been at the center of the embedded systems design paramountcy, with Moore’s Law being the leading factor of this trend. Today, in fact, an ever increasing number of cores can be integrated on the same die, marking the transition from state-of-the-art multi-core chips to the new many-core design paradigm. Such manycore chips aim is twofold: provide high computing performance and increase the energy eciency of the hardware in terms of OPS/Watt. Despite the extraordinarily high computing power, the complexity of many-core chips opens the door to several challenges for designers that are today facing with the huge intricacy of both hardware and software, trying to unmask the best solutions to exploit the potential of these heterogeneous many-core architectures. This thesis provides a whole set of design methods to enable and manage the runtime heterogeneity of features-rich industry-ready Tile-Based Networks-on-Chip and it is focused on virtualization techniques with the goal to mitigate, and overtake when possible, some of the challenges introduced by the many-core design paradigm. The key idea is to exploit a Space-Division Multiplexing strategy to schedule the execution of applications that require to be accelerated or multiple active Virtual Machines, enabling an e↵ective virtualization by means of resources sharing, relying on both hardware and software support to this new highly dynamic environment, thus eciently exploiting the high parallel hardware of many-core chips. Virtualization implies flexible partitioning of resources and isolation for protection and requires a control tower in software (hypervisor) but it needs that the proper course of action, following the hypervisor, is taken by the on-chip network (NoC) that is the best on-chip communication infrastructure suitable for many-core architectures and that is becoming also the real system integration and control framework. The resources management concept depends mainly on the runtime reconfiguration capability of the NoC routing function so, the first contribution of this thesis indeed tackles this challenge with the final outcome of a distributed, fast reconfiguration and scalable mechanism with minimum perturbation on the background trac and finally it undergo FPGA prototyping, allowing to compare area overhead and critical path. Another main contribution of my work, related to the scheduling of execution of several applications on the manycore, is comparing a SDM approach to a TDM one. To evaluate the di↵erent strategies I rely on parallelized Image Processing benchmarks, whose execution is managed by an optimized version of an OpenMP Runtime, needed to enable their parallel execution. I run the benchmark on di↵erent simulation environments (VirtualSoC and gem5) customized and enhanced with new functionalities to emulate a General-Purpose Programmable Accelerator, thus studying the impact on performance of parallelism, dimensions and shapes of partitions (numbers of computational clusters reserved and their position) and memory configuration. Finally, I focus also on emerging technologies, in particular on Optical NoC and their partitioning strategy proposed to decrease the static power consumption, tearing-down unused laser sources and relying on re-use of the same wavelengths. I also re-architect the communication infrastructure in a template GPPA architecture, and coming up with a hybrid interconnect fabric, thus proposing the first assessment of optical interconnect technology in the context of these devices.

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

BALBONI, Marco
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.
BERTOZZI, Davide
TRILLO, Stefano
File in questo prodotto:
File Dimensione Formato  
PDFA-ThesisPhD - Marco Balboni.pdf

accesso aperto

Tipologia: Tesi di dottorato
Licenza: PUBBLICO - Pubblico senza Copyright
Dimensione 46.24 MB
Formato Adobe PDF
46.24 MB Adobe PDF Visualizza/Apri

I documenti in IRIS 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/11392/2403510
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact