Heterogeneous System Architectures (HSA) are gaining importance in the High Performance Computing (HPC) domain due to increasing computational requirements coupled with energy consumption concerns, which conventional CPU architectures fail to effectively address. A typical processing element used in conjunction with traditional CPUs to accelerate the most computationally intensive portions of an application is the Graphics Processing Unit (GPU). In addition, systems based on Field Programmable Gate Arrays (FPGA) recently emerged as an effective alternative for demanding HPC applications. A successful commercial architecture for FPGA-based HPC systems is the Dataflow Engine (DFE) produced by Maxeler Technologies. The DFE is used to accelerate tasks ranging from risk analysis in investment banks to real-time seismic simulations in the oil and gas industry. Despite this, the lack of many of the abstractions available in conventional CPU-based systems hurts the popularity of HSAs; this leads to an increased complexity for system designers and application programmers, impairs resource sharing, and reduces the utilization of expensive accelerator devices. This Thesis tackles the problem of runtime resource management of a system composed of multiple DFEs targeted at multi-programmed workloads. We propose a novel resource manager able to dynamically vary the number of DFEs allocated to each of the job currently running in the system, with the goal of maximising the utility for the policy being pursued. We propose a goal-oriented policy, where each job specifies a goal (i.e., a completion deadline or a desired throughput), and the system allocates the resources so that the currently running jobs can pursue their goals. We implement the proposed resource manager in simulation and in a commercial Maxeler MPC-X system, and we evaluate its behaviour with representative workloads.

Le architetture eterogenee (Heterogeneous System Architectures, HSA) stanno acquisendo sempre più importanza nell’ambito del calcolo ad alte prestazioni (High Performance Computing, HPC) a causa dei carichi computazionali sempre crescenti e delle problematiche relative al consumo energetico, non efficacemente risolte da sistemi basati su CPU tradizionali. Un elemento che viene tipicamente affiancato alle CPU per accelerare le porzioni computazionalmente intensive delle applicazioni è la GPU. Inoltre, sistemi basati su FPGA (Field Programmable Gate Arrays) stanno recentemente emergendo come una buona alternativa per applicazioni HPC. Le dataflow engine (DFE) prodotte da Maxeler Technologies sono un’architettura commerciale di successo basata su FPGA e rivolta a sistemi HPC. Tale architettura è utilizzata in svariati ambiti, dalle analisi del rischio utili per banche di affari fino a simulazioni geofisiche rivolte all’industria petrolifera e del gas. Nonostante questo, la mancanza di molte delle astrazioni disponibili per sistemi basati su CPU tradizionali inficia la popolarità delle HSA, porta a maggiore complessità per progettisti e sviluppatori, riduce la possibilità di condivisione di risorse, e causa una ridotta utilizzazione dei costosi acceleratori. In questa Tesi viene affrontato il problema della gestione delle risorse in un sistema composto da DFE multiple e rivolto a un carico di lavoro multiprogrammato. Viene proposto un algoritmo di gestione delle risorse capace di cambiare dinamicamente il numero di DFE allocate ai job attivi nel sistema, con l’obiettivo di massimizzare l’utilità per la politica corrente. La politica proposta è goal-oriented: ogni job specifica un obiettivo (un tempo massimo di computazione o un throughput atteso) e il sistema alloca le risorse in modo che gli obiettivi dei singoli job possano essere soddisfatti. Il gestore delle risorse viene implementato in simulazione e per un sistema Maxeler MPC-X commerciale; il suo comportamento viene valutato con carichi di lavoro rappresentativi.

Design and implementation of a runtime resource manager for multi-FPGA architectures

POGLIANI, MARCELLO
2013/2014

Abstract

Heterogeneous System Architectures (HSA) are gaining importance in the High Performance Computing (HPC) domain due to increasing computational requirements coupled with energy consumption concerns, which conventional CPU architectures fail to effectively address. A typical processing element used in conjunction with traditional CPUs to accelerate the most computationally intensive portions of an application is the Graphics Processing Unit (GPU). In addition, systems based on Field Programmable Gate Arrays (FPGA) recently emerged as an effective alternative for demanding HPC applications. A successful commercial architecture for FPGA-based HPC systems is the Dataflow Engine (DFE) produced by Maxeler Technologies. The DFE is used to accelerate tasks ranging from risk analysis in investment banks to real-time seismic simulations in the oil and gas industry. Despite this, the lack of many of the abstractions available in conventional CPU-based systems hurts the popularity of HSAs; this leads to an increased complexity for system designers and application programmers, impairs resource sharing, and reduces the utilization of expensive accelerator devices. This Thesis tackles the problem of runtime resource management of a system composed of multiple DFEs targeted at multi-programmed workloads. We propose a novel resource manager able to dynamically vary the number of DFEs allocated to each of the job currently running in the system, with the goal of maximising the utility for the policy being pursued. We propose a goal-oriented policy, where each job specifies a goal (i.e., a completion deadline or a desired throughput), and the system allocates the resources so that the currently running jobs can pursue their goals. We implement the proposed resource manager in simulation and in a commercial Maxeler MPC-X system, and we evaluate its behaviour with representative workloads.
DURELLI, GIANLUCA CARLO
VIOLANTE, MASSIMO
ING - Scuola di Ingegneria Industriale e dell'Informazione
29-apr-2015
2013/2014
Le architetture eterogenee (Heterogeneous System Architectures, HSA) stanno acquisendo sempre più importanza nell’ambito del calcolo ad alte prestazioni (High Performance Computing, HPC) a causa dei carichi computazionali sempre crescenti e delle problematiche relative al consumo energetico, non efficacemente risolte da sistemi basati su CPU tradizionali. Un elemento che viene tipicamente affiancato alle CPU per accelerare le porzioni computazionalmente intensive delle applicazioni è la GPU. Inoltre, sistemi basati su FPGA (Field Programmable Gate Arrays) stanno recentemente emergendo come una buona alternativa per applicazioni HPC. Le dataflow engine (DFE) prodotte da Maxeler Technologies sono un’architettura commerciale di successo basata su FPGA e rivolta a sistemi HPC. Tale architettura è utilizzata in svariati ambiti, dalle analisi del rischio utili per banche di affari fino a simulazioni geofisiche rivolte all’industria petrolifera e del gas. Nonostante questo, la mancanza di molte delle astrazioni disponibili per sistemi basati su CPU tradizionali inficia la popolarità delle HSA, porta a maggiore complessità per progettisti e sviluppatori, riduce la possibilità di condivisione di risorse, e causa una ridotta utilizzazione dei costosi acceleratori. In questa Tesi viene affrontato il problema della gestione delle risorse in un sistema composto da DFE multiple e rivolto a un carico di lavoro multiprogrammato. Viene proposto un algoritmo di gestione delle risorse capace di cambiare dinamicamente il numero di DFE allocate ai job attivi nel sistema, con l’obiettivo di massimizzare l’utilità per la politica corrente. La politica proposta è goal-oriented: ogni job specifica un obiettivo (un tempo massimo di computazione o un throughput atteso) e il sistema alloca le risorse in modo che gli obiettivi dei singoli job possano essere soddisfatti. Il gestore delle risorse viene implementato in simulazione e per un sistema Maxeler MPC-X commerciale; il suo comportamento viene valutato con carichi di lavoro rappresentativi.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2015_04_Pogliani.pdf

non accessibile

Descrizione: Thesis text
Dimensione 2.8 MB
Formato Adobe PDF
2.8 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi 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/10589/106744