Transparent Runtime Migration of Loop-Based Traces of Processor Instructions to Reconfigurable Processing Units

The ability to map instructions running in a microprocessor to a reconfigurable processing unit (RPU), acting as a coprocessor, enables the runtime acceleration of applications and ensures code and possibly performance portability. In this work, we focus on the mapping of loop-based instruction trac...

Full description

Bibliographic Details
Main Authors: João Bispo, Nuno Paulino, João M. P. Cardoso, João Canas Ferreira
Format: Article
Language:English
Published: Hindawi Limited 2013-01-01
Series:International Journal of Reconfigurable Computing
Online Access:http://dx.doi.org/10.1155/2013/340316
id doaj-1d8fe220ac5e4130b9739ccfbfab20a4
record_format Article
spelling doaj-1d8fe220ac5e4130b9739ccfbfab20a42020-11-24T23:19:42ZengHindawi LimitedInternational Journal of Reconfigurable Computing1687-71951687-72092013-01-01201310.1155/2013/340316340316Transparent Runtime Migration of Loop-Based Traces of Processor Instructions to Reconfigurable Processing UnitsJoão Bispo0Nuno Paulino1João M. P. Cardoso2João Canas Ferreira3Departmento de Engenharia Informática, Faculdade de Engenharia, Universidade do Porto, Rua Dr. Roberto Frias s/n, 4200-465 Porto, PortugalINESC TEC, Faculdade de Engenharia, Universidade do Porto, Rua Dr. Roberto Frias s/n, 4200-465 Porto, PortugalDepartmento de Engenharia Informática, Faculdade de Engenharia, Universidade do Porto, Rua Dr. Roberto Frias s/n, 4200-465 Porto, PortugalINESC TEC, Faculdade de Engenharia, Universidade do Porto, Rua Dr. Roberto Frias s/n, 4200-465 Porto, PortugalThe ability to map instructions running in a microprocessor to a reconfigurable processing unit (RPU), acting as a coprocessor, enables the runtime acceleration of applications and ensures code and possibly performance portability. In this work, we focus on the mapping of loop-based instruction traces (called Megablocks) to RPUs. The proposed approach considers offline partitioning and mapping stages without ignoring their future runtime applicability. We present a toolchain that automatically extracts specific trace-based loops, called Megablocks, from MicroBlaze instruction traces and generates an RPU for executing those loops. Our hardware infrastructure is able to move loop execution from the microprocessor to the RPU transparently, at runtime, and without changing the executable binaries. The toolchain and the system are fully operational. Three FPGA implementations of the system, differing in the hardware interfaces used, were tested and evaluated with a set of 15 application kernels. Speedups ranging from 1.26 to 3.69 were achieved for the best alternative using a MicroBlaze processor with local memory.http://dx.doi.org/10.1155/2013/340316
collection DOAJ
language English
format Article
sources DOAJ
author João Bispo
Nuno Paulino
João M. P. Cardoso
João Canas Ferreira
spellingShingle João Bispo
Nuno Paulino
João M. P. Cardoso
João Canas Ferreira
Transparent Runtime Migration of Loop-Based Traces of Processor Instructions to Reconfigurable Processing Units
International Journal of Reconfigurable Computing
author_facet João Bispo
Nuno Paulino
João M. P. Cardoso
João Canas Ferreira
author_sort João Bispo
title Transparent Runtime Migration of Loop-Based Traces of Processor Instructions to Reconfigurable Processing Units
title_short Transparent Runtime Migration of Loop-Based Traces of Processor Instructions to Reconfigurable Processing Units
title_full Transparent Runtime Migration of Loop-Based Traces of Processor Instructions to Reconfigurable Processing Units
title_fullStr Transparent Runtime Migration of Loop-Based Traces of Processor Instructions to Reconfigurable Processing Units
title_full_unstemmed Transparent Runtime Migration of Loop-Based Traces of Processor Instructions to Reconfigurable Processing Units
title_sort transparent runtime migration of loop-based traces of processor instructions to reconfigurable processing units
publisher Hindawi Limited
series International Journal of Reconfigurable Computing
issn 1687-7195
1687-7209
publishDate 2013-01-01
description The ability to map instructions running in a microprocessor to a reconfigurable processing unit (RPU), acting as a coprocessor, enables the runtime acceleration of applications and ensures code and possibly performance portability. In this work, we focus on the mapping of loop-based instruction traces (called Megablocks) to RPUs. The proposed approach considers offline partitioning and mapping stages without ignoring their future runtime applicability. We present a toolchain that automatically extracts specific trace-based loops, called Megablocks, from MicroBlaze instruction traces and generates an RPU for executing those loops. Our hardware infrastructure is able to move loop execution from the microprocessor to the RPU transparently, at runtime, and without changing the executable binaries. The toolchain and the system are fully operational. Three FPGA implementations of the system, differing in the hardware interfaces used, were tested and evaluated with a set of 15 application kernels. Speedups ranging from 1.26 to 3.69 were achieved for the best alternative using a MicroBlaze processor with local memory.
url http://dx.doi.org/10.1155/2013/340316
work_keys_str_mv AT joaobispo transparentruntimemigrationofloopbasedtracesofprocessorinstructionstoreconfigurableprocessingunits
AT nunopaulino transparentruntimemigrationofloopbasedtracesofprocessorinstructionstoreconfigurableprocessingunits
AT joaompcardoso transparentruntimemigrationofloopbasedtracesofprocessorinstructionstoreconfigurableprocessingunits
AT joaocanasferreira transparentruntimemigrationofloopbasedtracesofprocessorinstructionstoreconfigurableprocessingunits
_version_ 1725577474591424512