Back to Search Start Over

Implementation and evaluation of a PRNG optimized for HPC

Authors :
Jurado Balaer, David
Universitat Politècnica de Catalunya. Departament d'Arquitectura de Computadors
Ayguadé Parra, Eduard
Mantovani, Filippo
Banchelli Gracia, Fabio
Source :
UPCommons. Portal del coneixement obert de la UPC, Universitat Politècnica de Catalunya (UPC)
Publication Year :
2021
Publisher :
Universitat Politècnica de Catalunya, 2021.

Abstract

Acceleration is a widely used technique in the field of High-Performance Computing (HPC) to improve the performance of standard CPU powered computational nodes. Examples of widely used accelerators in HPC are graphic cards (\textit{e.g.}, Nvidia GP-GPU) and vector accelerators (\textit{e.g.}, NEC Aurora-SX). Custom acceleration is often achieved using FPGAs. One of the challenges of adopting FPGA-based accelerators in HPC is their programmability. OmpSs@FPGA is a programming model developed at the Barcelona Supercomputing Center (BSC) that allows adding FPGA acceleration to an application in an easy and device-independent way. In this project, we used OmpSs@FPGA to accelerate in hardware the generation of random numbers. Monte Carlo algorithms are widely used in scientific applications in the context of HPC. These algorithms are characterized by its need of random number input. It is possible to offload random number generation using hardware acceleration techniques. We implemented three different versions of a linear-feedback shift register (LFSR) random number generator: a CPU-only version and two OmpSs@FPGA accelerated versions. The performance of the three implementations has been evaluated in the context of the Ising model with the Metropolis algorithm, which belongs to the family of Monte Carlo methods used in statistical physics. This provides a real world use case that makes heavy use of pseudorandom number generation. While we verified that the Ising model is indeed limited by the generation of random numbers, our results show that the acceleration of random number generation using FPGA needs to be carefully deployed. Our preliminary results show a high dependency between the achieved performance and the overhead introduced by the offloading infrastrcture. L'acceleració hardware és una tècnica àmpliament utilitzada en el camp de la computació d'alt rendiment (HPC) per augmentar el rendiment dels nodes de càlcul estàndard basats en CPU. Alguns exemples d'acceleradors d'ús comú en HPC poden ser les targetes gràfiques (p. ex. Nvidia GP-GPU) o els acceleradors vectorials (p. ex. NEC Aurora-SX). L'acceleració especialitzada es pot obtenir amb FPGAs. Una de les dificultats que limiten l'ús dels acceleradors FPGA en el món del HPC és la seva programabilitat. OmpSs@FPGA és un model de programació desenvolupat al Barcelona Supercomputing Center (BSC) que permet incorporar acceleració FPGA a una aplicació de manera fàcil. En aquest projecte, hem utilitzat OmpSs@FPGA per accelerar en hardware la generació de nombres aleatoris. Els algoritmes Monte Carlo s'utilitzen àmpliament en aplicacions científiques i HPC. Es caracteritzen per la necessitat de nombres aleatoris per al seu funcionament. És possible aplicar offloading a la generació de nombres aleatoris mitjançant acceleració hardware. Hem implementat tres versions d'un generador de nombres aleatoris basat en LFSR: una versió CPU-only i dues versions accelerades amb OmpSs@FPGA. El rendiment de les tres implementacions s'ha avaluat en el context del model d'Ising amb l'algoritme de Metropolis, que pertany a la família dels algoritmes Monte Carlo utilitzats en el camp de la física estadística. Això ens proporciona un cas d'ús real que en fa un ús intensiu de la generació de nombres aleatoris. Tot i haver verificat que el model d'Ising queda limitat per la generació de nombres aleatoris, els resultats obtinguts mostren que la generació de nombres aleatoris accelerada amb FPGA s'ha d'implementar amb cura. Els nostres resultats preliminars presenten una forta dependència entre el rendiment obtingut i l'overhead introduït per la infraestructura d'offloading

Details

Database :
OpenAIRE
Journal :
UPCommons. Portal del coneixement obert de la UPC, Universitat Politècnica de Catalunya (UPC)
Accession number :
edsair.dedup.wf.001..e0255ecb3faea26b1d6aebaf7b38cc02