23.02.2014 Views

Towards a Power and Energy Efficient Use of Partial Dynamic ...

Towards a Power and Energy Efficient Use of Partial Dynamic ...

Towards a Power and Energy Efficient Use of Partial Dynamic ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Towards</strong> a <strong>Power</strong> <strong>and</strong> <strong>Energy</strong> <strong>Efficient</strong> <strong>Use</strong> <strong>of</strong><br />

<strong>Partial</strong> <strong>Dynamic</strong> Reconfiguration<br />

Robin Bonamy<br />

CAIRN-IRISA<br />

Université de Rennes1<br />

Lannion<br />

robin.bonamy@irisa.fr<br />

Daniel Chillet<br />

CAIRN-IRISA<br />

Université de Rennes1<br />

Lannion<br />

daniel.chillet@irisa.fr<br />

Olivier Sentieys<br />

CAIRN-IRISA<br />

Université de Rennes1<br />

Lannion<br />

olivier.sentieys@irisa.fr<br />

Sébastien Bilavarn<br />

LEAT<br />

Université de<br />

Nice Sophia Antipolis<br />

sebastien.bilavarn@unice.fr<br />

Abstract—Nowadays, System-on-Chip architectures are composed<br />

<strong>of</strong> several execution resources which support complex<br />

applications. These applications increasingly need flexibility to<br />

adapt to their environment. Embed a reconfigurable resource<br />

in these SoC enables to flexibilize the hardware by sharing<br />

silicon area <strong>and</strong> limiting the cost <strong>of</strong> the global circuit. <strong>Partial</strong><br />

reconfiguration is more <strong>and</strong> more used since it enables to fully<br />

exploit the resource but there is few work in the characterization<br />

<strong>of</strong> the energy consumption during reconfiguration. This paper<br />

presents the work on modelling energy during dynamic, partial<br />

reconfiguration <strong>and</strong> the future use <strong>of</strong> models.<br />

I. INTRODUCTION<br />

Run-time reconfiguration, the ability to change a configuration<br />

while the rest <strong>of</strong> the circuit is running, is a research<br />

subject since the 90s [1] <strong>and</strong> is now commonly used in FPGAs,<br />

configurable circuits, since Xilinx <strong>and</strong> Altera [2] now provide<br />

such circuits. The main advantages <strong>of</strong> the partial, run-time<br />

reconfiguration are to add flexibility <strong>and</strong> to reuse hardware<br />

area, allowing power <strong>and</strong> production costs reductions. During<br />

last decade, much work has been done on tools to exploit<br />

the reconfigurable aspects <strong>of</strong> these configurable circuits [3][4]<br />

<strong>and</strong> [5]. However, there is few work in the characterization<br />

<strong>and</strong> estimation <strong>of</strong> the power <strong>and</strong> energy consumption during<br />

reconfiguration. Configurable areas become a usual extension<br />

<strong>of</strong> Systems-On-Chip which are increasingly used in integrated<br />

<strong>and</strong> embedded systems where the energy consideration is<br />

substantial. In the scope <strong>of</strong> the Open-PEOPLE project [6],<br />

which aim is to provide a complete heterogeneous hardware<br />

<strong>and</strong> s<strong>of</strong>tware platform for power <strong>and</strong> energy estimation, optimization<br />

<strong>and</strong> measurement, we build models <strong>of</strong> the energy<br />

consumption <strong>of</strong> reconfigurable devices. Our work focuses on<br />

the energy required during partial reconfiguration. This paper<br />

first introduces the partial reconfiguration procedure. Then, in<br />

Section III, an energy cost model <strong>of</strong> dynamic application implemented<br />

with partial run-time reconfiguration is presented.<br />

Section IV presents the method to extract energy models.<br />

Finally, we conclude this article <strong>and</strong> present future work.<br />

II. PARTIAL RECONFIGURATION CONCEPT<br />

Nowadays, most <strong>of</strong> configurable devices store their configuration<br />

in RAM. This architecture allows the modification <strong>of</strong> the<br />

configuration as many times as the designer needs. Moreover,<br />

it is now possible to dynamically change the configuration <strong>of</strong><br />

a part <strong>of</strong> the device. Configuration memory can be accessible<br />

from a port inside the configurable device allowing the<br />

designer to perform self reconfiguration. For Xilinx FPGAs,<br />

this port is the Internal Reconfiguration Access Port (ICAP)<br />

[7][8].<br />

Reconfigurable devices are divided into blocks, called<br />

frames, the smallest configuration area addressable. FPGAs<br />

can be divided in coarse <strong>and</strong> fine grain <strong>Partial</strong> Reconfiguration<br />

Regions (PRR) to suit application.<br />

The configurable area <strong>of</strong> the FPGA is supposed composed<br />

<strong>of</strong> N P <strong>Partial</strong> Reconfigurable Regions (PRR), <strong>and</strong> this composition<br />

is static. Then, the FPGA is modeled as a set <strong>of</strong> PRRs<br />

<strong>and</strong> defined by<br />

FPGA = {P RR j } ∀ j = 1, . . . , N P . (1)<br />

Reconfiguration is done using a file containing configuration<br />

data needed for each P RR j , called the bitstream. Loading<br />

this configuration has a time <strong>and</strong> energy cost. From our<br />

experiments, we observe that the energy for the reconfiguration<br />

phase mainly depends <strong>of</strong> the size <strong>of</strong> the bitstream file which<br />

has an impact on the configuration time depending <strong>of</strong> the<br />

bitstream file size.<br />

<strong>Dynamic</strong> Reconfiguration enables to change on-the-fly tasks<br />

configured in a given PRR. Moreover, Section IV shows that<br />

it is possible to reconfigure a low power task when the region<br />

is not used to minimize the global power consumption. This<br />

specific task for the P RR j is called T lp j for low power task.<br />

III. PARTIAL RECONFIGURATION POWER MODELLING<br />

A definition <strong>of</strong> an application is based on its task graph G<br />

which indicates the execution order <strong>of</strong> the tasks. This graph<br />

contains a set <strong>of</strong> N T tasks <strong>and</strong> is defined by<br />

G = {T i } ∀ i = 1, . . . , N T , (2)<br />

with T i the i th task <strong>of</strong> the application.<br />

<strong>Dynamic</strong> reconfiguration <strong>of</strong> an application requires a managing<br />

system. This management <strong>of</strong> the application on the<br />

hardware execution resource is supposed to be supported by an<br />

operating system (OS). The goal <strong>of</strong> the OS is to evaluate the<br />

task scheduling at each OS logical time, called T ick occurring<br />

every T T ick , <strong>and</strong> to propose a set <strong>of</strong> ready tasks for each T ick.<br />

The scheduling algorithm is out <strong>of</strong> the scope <strong>of</strong> this paper but


we consider that the scheduler produces a valid list <strong>of</strong> ready<br />

tasks for each T ick.<br />

The execution time <strong>of</strong> each task T i depends on its instantiation,<br />

<strong>and</strong> is defined by the variable C i,j (t) for task<br />

T i instantiated in P RR j . This variable is decreased by the<br />

scheduler at each cycle if the task T i is included in the set<br />

<strong>of</strong> read tasks at the current T ick. The power consumption <strong>of</strong><br />

each task T i is also dependent from its instantiation, <strong>and</strong> is<br />

defined by the variable P i,j for task T i instantiated in P RR j .<br />

The time <strong>and</strong> the power to configure a specific task T i<br />

depend on the bitstream size <strong>of</strong> this task which depends on<br />

the PRR size selected for the task. These time <strong>and</strong> power for<br />

uploading the bitstream in the configuration memory are given<br />

by the variables T u prrj <strong>and</strong> P u prrj for the P RR j .<br />

From these definitions, we propose to model the optimization<br />

problem through the minimization <strong>of</strong> an energy expression<br />

<strong>of</strong> the global system. The goal <strong>of</strong> the optimization is to<br />

compute the task configurations which limit the power consumption<br />

<strong>of</strong> the system at each T ick. These task instantiations<br />

are defined though the variable X i,j (t) which is equal to 1 if<br />

the task T i is instantiated on P RR j at time T ick = t, or equal<br />

to 0 otherwise. Due to the OS behavior, i.e. new schedule<br />

computed at each T ick, the optimization problem must be<br />

solved at each T ick. At each T ick, the OS knows which tasks<br />

are configured on which P RR. So the OS knows the values<br />

<strong>of</strong> variable X i,j (t − 1), <strong>and</strong> then the power consumption is<br />

known before the new scheduling. This power consumption<br />

related to this T ick are the power consumed by task already<br />

implemented, P T A (t, j), by low power tasks, P T lp (t, j), by<br />

reconfiguration <strong>of</strong> new tasks, P P R (t, j) <strong>and</strong> the power consumed<br />

by newly implemented tasks, once reconfiguration is<br />

finished, P NT (t, j) for each P RR j . These power pr<strong>of</strong>iles are<br />

defined in the following equations:<br />

∑N T<br />

P T A (t, j) = (1 − (X i,j (t) − (X i,j (t − 1))) × P i,j<br />

i=1<br />

N T<br />

∑<br />

P T lp (t, j) = (1 − X i,j (t)) × P T lp,j<br />

i=1<br />

N T<br />

∑<br />

P P R (t, j) = | (1 − (X i,j (t) − X i,j (t − 1))) | × P u prrj<br />

i=1<br />

N T<br />

∑<br />

P NT (t, j) = (1 − (X i,j (t) − (X i,j (t − 1))) × P i,j (3)<br />

i=1<br />

With these expressions <strong>of</strong> the power consumption, the<br />

energy consumption during one T ick is given by:<br />

E T ick (t) =<br />

∑N P<br />

j=1<br />

P T A (t, j) × T T ick<br />

+ P T lp (t, j) × T T ick<br />

+ P P R (t, j) × T uprrj<br />

+ P NT (t, j) × (T T ick − T uprrj ). (4)<br />

From this expression, the optimization problem must compute<br />

the X i,j values for the new T ick according to G <strong>and</strong><br />

C i,j (t). These new values lead to reduce the energy which<br />

will be consumed between the current T ick (t) <strong>and</strong> the next<br />

T ick (t + 1).<br />

IV. POWER MEASURES<br />

In order to build power consumption models <strong>and</strong> to validate<br />

the previously presented approach, real measures <strong>of</strong> the energy<br />

<strong>of</strong> dynamic reconfiguration are needed. We implemented an<br />

application similar to the one proposed in [9] in a Virtex-<br />

5. Figure 1 presents the power consumption obtained while<br />

reconfiguring a P RR j for a T i to T lp j . This figure shows<br />

that there is an important reduction <strong>of</strong> the power consumption,<br />

in this case, power is reduced by 25 mW . This confirms the<br />

advantage to use <strong>Partial</strong> Reconfiguration (PR) <strong>and</strong> low power<br />

tasks to reduce global energy consumption.<br />

Fig. 1. <strong>Power</strong> consumption <strong>of</strong> a Virtex-5 during the reconfiguration <strong>of</strong> a<br />

PRR from a Task to a low power task versus time.<br />

V. CONCLUSION<br />

This paper has presented our work on power <strong>and</strong> energy<br />

characterization <strong>of</strong> partial reconfiguration. The measures realized<br />

confirm the potential <strong>of</strong> reconfiguration to reduce energy<br />

consumption <strong>and</strong> the lack <strong>of</strong> tools to estimate <strong>and</strong> optimize the<br />

use <strong>of</strong> this feature. Our future work will focus on continuing<br />

building energy consumption models on other platforms with<br />

different reconfiguration flows <strong>and</strong> energy optimization with<br />

these models <strong>and</strong> a validation on a real application.<br />

ACKNOWLEDGMENT<br />

The authors would like to thank the French National Agency<br />

for the support <strong>of</strong> this work in the scope <strong>of</strong> the OpenPEOPLE<br />

project.<br />

REFERENCES<br />

[1] P. Lysaght <strong>and</strong> J. Dunlop, <strong>Dynamic</strong> reconfiguration <strong>of</strong> FPGAs in Selected<br />

papers from the Oxford 1993 international workshop on field<br />

programmable logic <strong>and</strong> applications on More FPGAs pp.82-94, Oxford,<br />

1994<br />

[2] Altera Corporation, Increasing Design Functionality with <strong>Partial</strong> <strong>and</strong><br />

<strong>Dynamic</strong> Reconfiguration in 28-nm FPGAs. White paper, 2010.<br />

[3] V. Tadigotla, L. Sliger, S. Commuri, FPGA Implementation <strong>of</strong> <strong>Dynamic</strong><br />

Run-Time Behavior Reconfiguration in Robots in Proceedings <strong>of</strong> the 2006<br />

IEEE International Symposium on Intelligent Control, Munich, Germany.<br />

pp.1220-1225.<br />

[4] L. Sterpone, D. Matos, L. Carro, S. Wong, F. Anjam A New Reconfigurable<br />

Clock-gating Technique for Low <strong>Power</strong> SRAM-based FPGAs at<br />

DATE2011: IEEE Design, Automation <strong>and</strong> Test in Europe, Grenoble,<br />

France, 2011<br />

[5] M. Rullmann <strong>and</strong> R. Merker, A Cost Model for <strong>Partial</strong> <strong>Dynamic</strong> Reconfiguration<br />

in Transactions on HiPEAC: Vol.4, 2009<br />

[6] Open-PEOPLE - Open-<strong>Power</strong> <strong>and</strong> <strong>Energy</strong> Optimization PLatform <strong>and</strong><br />

Estimator, http://www.open-people.fr/<br />

[7] Alfke, P. (Xilinx Inc.). Application note: <strong>Dynamic</strong> Reconfiguration, 1997.<br />

[8] Xilinx Inc. Xilinx Virtex-II Pro <strong>and</strong> Virtex-II Pro X Platform FPGA <strong>Use</strong>r<br />

Guide, 2002.<br />

[9] Xilinx Inc. UG744, PlanAhead S<strong>of</strong>tware Tutorial: <strong>Partial</strong> Reconfiguration<br />

<strong>of</strong> a Processor Peripheral

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!