3rd 3ddresd: floorplacer

51
Time-driven reconfiguration-aware floorplacer BY Alessio Montone [email protected] NDDRESD Baceno, Goglio – Jul 29, 2008

Upload: usrdresd

Post on 13-Jun-2015

266 views

Category:

Business


1 download

TRANSCRIPT

Page 1: 3rd 3DDRESD: Floorplacer

Time-driven reconfiguration-aware

floorplacer

BY

Alessio Montone

[email protected]

NDDRESD Baceno, Goglio – Jul 29, 2008

Page 2: 3rd 3DDRESD: Floorplacer

2

Rationale and InnovationRationale and Innovation

Problem statementGiven a reconfigurable architecture, find an on-chip position for each functional unit

Innovative contribution: taking into accountTarget Device HeterogeneityTarget Device reconfiguation capabilities Inter-FU Communication

Page 3: 3rd 3DDRESD: Floorplacer

3

AimsAims

Considering the area assignment problem tailored for reconfigurable architectures, providea formalization of the problem, andan approach (in 3 algorithms) for solving

Page 4: 3rd 3DDRESD: Floorplacer

4

OutlineOutline

IntroductionFloorplacementThe Proposed ApproachExperimental ResultsComparison with the state of the artConclusions and Future WorksQuestions

Page 5: 3rd 3DDRESD: Floorplacer

INTRODUCTIONINTRODUCTION

5

Page 6: 3rd 3DDRESD: Floorplacer

Introduction: Simulated Introduction: Simulated AnnealingAnnealing

Metropolis PhysicsAn improving move is always acceptedA peggiorative move accepted with a decreasing probability

6

•N. Metropolis, A.W. Rosenbluth, M.N. Rosenbluth, A.H. Teller, and E. Teller. "Equations of State Calculations by Fast Computing Machines". Journal of Chemical Physics, 1953

•Sëma Kachalo, Hsiao-Mei Lu, and Jie Liang, Protein Folding Dynamics via Quantification of Kinematic Energy Landscape, Physical Review Letters, 2006

Page 7: 3rd 3DDRESD: Floorplacer

Reconfigurable Architectures - IReconfigurable Architectures - I

On FPGAsReconfigurable DevicesHeterogeneousReconfiguration Limits

Different types of Reconfigurable Architectures:

TotalPartial (Static)Partial (Dynamic)

7

Page 8: 3rd 3DDRESD: Floorplacer

Reconfigurable Architectures - IIReconfigurable Architectures - II

Partial Dynamic

8

Page 9: 3rd 3DDRESD: Floorplacer

Area Assignment ProblemArea Assignment Problem

Let consider a Reconfigurable ArchitectureGiven a scheduled task graph (TG) of the application

Node: Reconfigurable Functional Unit (RFU) [*], A netlist obtained after post synthesis and technology mapping (i.e., before placement and routing)

Aim: find an area assignment for each RFU

9

[*] K. Bazargan, R. Kastner, M.S.: 3-d floorplanning: Simulated annealing and greedy placement methods for reconfigurable computing systems. IEEE Rapid Systems Prototyping (1999)

Page 10: 3rd 3DDRESD: Floorplacer

Related Works - IRelated Works - I

[*] introduced the concept of 3D floorplanning for reconfigurable systems

SA in order to solve HW/SW codesign problemFor each task choose between

HW implementationSW implementation

LimitsNo device limits consideredNo communicationinfrastructure

10

[*] K. Bazargan, R. Kastner, M.S.: 3-d floorplanning: Simulated annealing and greedy placement methods for reconfigurable computing systems. IEEE Rapid Systems Prototyping (1999)

Page 11: 3rd 3DDRESD: Floorplacer

Related Works - IIRelated Works - II

[*] is the state of art in 3D floorplanningSimulated Annealing over Transitive Closure GraphTakes into account device reconfiguration limits

LimitsNo heterogeneity consideredHigh overhead communicationinfrastructure solution [**]

11

[*] Ping-Hung Yuh, Chia-Lin Yang, Yao-Wen Chang, Hsin-Lung Chen: Temporal Floorplanning Using 3D-subTCG, Design Automation Conference, 2004

[**] S. P. Fekete, E. Kohler, and J. Teich: Optimal FPGA Module Placement with Temporal Precedence Constraints, Proc. DATE, 2001.

Page 12: 3rd 3DDRESD: Floorplacer

FLOORPLACEMENTFLOORPLACEMENT

12

Page 13: 3rd 3DDRESD: Floorplacer

Floorplanning vs. PlacementFloorplanning vs. PlacementCharacteristic Floorplanning Placement

# items <100 >10.000

Items (for FPGAs) IP-Core Slice, CLB

Aim Find a position for each item

obj. function depends

mainly on Area mainly on Wirelength

Constraints Items can be positioned everywhere

There is a set of possible positions

13

PlacementFloor plan

Page 14: 3rd 3DDRESD: Floorplacer

Floorplacement - IFloorplacement - I

Hierarchical Approach (Floorplanning + Partitioning)

14

S. N. Adya, I. L. Markov, Fixed-outline Floorplanning: Enabling Hierarchical Design, IEEE Transaction on VLSI System, 2002

S. N. Adya, S. Chaturvedi, J. A. Roy, David A. Papa, I. L. Markov: Unification of Partitioning, Placement and Floorplanning , IEEE Intl. Conf. on CAD, 2004

Page 15: 3rd 3DDRESD: Floorplacer

Floorplacement - IIFloorplacement - II

Reconfigurable Functional Unit (RFU)A netlist obtained after post synthesis and technology mapping (i.e., before placement and routing)

Reconfigurable Region (RR)

15

Page 16: 3rd 3DDRESD: Floorplacer

Floorplacement - IIIFloorplacement - III

Resource Aware (i.e., not all positions are feasible)

Device heterogeneity

Device Reconfigurationcapabilities

16

Page 17: 3rd 3DDRESD: Floorplacer

THE PROPOSED THE PROPOSED APPROACHAPPROACH

17

Page 18: 3rd 3DDRESD: Floorplacer

Proposed Problem DefinitionProposed Problem Definition

18

AimDefine RRsFor each task find

find a RRA position inside RR

Objective FunctionMin. Fragmentation

ConstraintsCommunication issuesDevice limits

Page 19: 3rd 3DDRESD: Floorplacer

Target Devices: Xilinx Virtex 4 - 5Target architecture based on EAPR design flow

Target Architecture and DevicesTarget Architecture and Devices

19

Page 20: 3rd 3DDRESD: Floorplacer

InputInput

20

Page 21: 3rd 3DDRESD: Floorplacer

Proposed Approach: overviewProposed Approach: overview

21

Page 22: 3rd 3DDRESD: Floorplacer

11stst Algorithm: Partitioning into Algorithm: Partitioning into RRRR

Aim: identify the RRs and associate each RFU to one RRHow: partitioning the TG minimizing resource requirement variance of the RRs (moving and swapping nodes)

22

Resource of type t required by RFU n, at static photo p

Page 23: 3rd 3DDRESD: Floorplacer

22ndnd Algorithm:TFiRR - I Algorithm:TFiRR - I

23

Temporal Floorplacement inside RR (TFiRR)Aim: for each RR find a set of feasible width-height pairsHow: floorplacing RFUs inside corresponding RR Assumption: RFUs’ height = height of the RR they belong to

Pseudo Code:

Page 24: 3rd 3DDRESD: Floorplacer

22ndnd Algorithm:TFiRR - II Algorithm:TFiRR - II

24

Let consider an iteration:

Page 25: 3rd 3DDRESD: Floorplacer

22ndnd Algorithm:TFiRR - III Algorithm:TFiRR - III

25

Let consider an iteration:

Page 26: 3rd 3DDRESD: Floorplacer

22ndnd Algorithm:TFiRR - IV Algorithm:TFiRR - IV

26

Let consider an iteration:

Page 27: 3rd 3DDRESD: Floorplacer

22ndnd Algorithm:TFiRR - V Algorithm:TFiRR - V

27

Let consider an iteration:

Page 28: 3rd 3DDRESD: Floorplacer

22ndnd Algorithm:TFiRR - VI Algorithm:TFiRR - VI

28

Page 29: 3rd 3DDRESD: Floorplacer

22ndnd Algorithm: TFiRR – Example Algorithm: TFiRR – Example

29

Page 30: 3rd 3DDRESD: Floorplacer

33rdrd Algorithm: RR floorplacement - I Algorithm: RR floorplacement - I

Simulated AnnealingObjective Function

Data Structure4 Constraint Lists (one per row)

30

Page 31: 3rd 3DDRESD: Floorplacer

33rdrd Algorithm: RR floorplacement - II Algorithm: RR floorplacement - II

Simulated Annealing: movesSwap two RRsMove one RRsSpan over one more rowUn-Span over one less row

After each move packing is performed(i.e., the floorplacement is compressed)

31

Page 32: 3rd 3DDRESD: Floorplacer

33rdrd Algorithm: RR floorplacement – Example - I Algorithm: RR floorplacement – Example - I

32

Page 33: 3rd 3DDRESD: Floorplacer

33rdrd Algorithm: RR floorplacement – Example - II Algorithm: RR floorplacement – Example - II

33

Page 34: 3rd 3DDRESD: Floorplacer

ImplementationImplementation

Three simulated annealers written in C++ STL

34

Page 35: 3rd 3DDRESD: Floorplacer

Output ExamplesOutput Examples

TFiRR

RR Floorplacement

35

Page 36: 3rd 3DDRESD: Floorplacer

EXPERIMENTAL RESULTSEXPERIMENTAL RESULTS

36

Page 37: 3rd 3DDRESD: Floorplacer

Identification of the number of RRs Identification of the number of RRs

37

Page 38: 3rd 3DDRESD: Floorplacer

Partitioning’s impact on TFiRRPartitioning’s impact on TFiRR

TFiRR on Partitioned

TG

TFiRR on TG

Execution Time 125ms 114ms 4m54s

Width (normalized)

1.00 1.19 1.04

38

Increasing the number of RFUs decreases the possibility to pick up the right one

Partitioning is a precondition of the 3rd algorithm in order to better exploit FPGA’s area (2D Floorplacement)

Page 39: 3rd 3DDRESD: Floorplacer

Tests performed directly floorplacing RFUsExecution time about 100 ms (100K iterations)

Floorplacement – Success Floorplacement – Success RateRate

39

Page 40: 3rd 3DDRESD: Floorplacer

Floorplacement – Aspect RatioFloorplacement – Aspect Ratio

40

Tests performed directly floorplacing RFUs

Page 41: 3rd 3DDRESD: Floorplacer

COMPARISON WITH THE COMPARISON WITH THE STATE OF THE ARTSTATE OF THE ART

41

Page 42: 3rd 3DDRESD: Floorplacer

State of the artState of the art

42

Authors Comm. Infrastructure

ResourceAware

Reconfiguration Aware

Device LimitsAware

Bazargan et al. No No Yes No

Yuh et al. Limited, w/ High Overhead

No Yes Yes

Singhal et al. No No Yes No

Feng et al. No Yes No No

Page 43: 3rd 3DDRESD: Floorplacer

NotesNotes

The comparsion is performed with respect to the description given by Yuh et al in [*]

Yuh’s approach does not supportMultiple ResourcesExistence of a Static side

In order perform the comparisonthe case study has been chosen in order to avoid multiple resource limitationYuh’s approach has been extended to support a static side

43

[*] Ping-Hung Yuh, Chia-Lin Yang, Yao-Wen Chang, Hsin-Lung Chen: Temporal Floorplanning Using 3D-subTCG, Design Automation Conference, 2004

Page 44: 3rd 3DDRESD: Floorplacer

The Case StudyThe Case Study

A Reconfigurable Architecture (for Biomedical Purpose) on XC5VLX30T 1. Collecting data from sensor2. Elaborating them3. Sending to a host computer thorough the net

44

Page 45: 3rd 3DDRESD: Floorplacer

The Proposed SolutionThe Proposed Solution

It is a reconfigurable architecture with 2 static photos

45

Page 46: 3rd 3DDRESD: Floorplacer

Area assignments comparisonArea assignments comparison

46

Proposedsolution

Yuh’s solution

Page 47: 3rd 3DDRESD: Floorplacer

Communication performances comparisonCommunication performances comparison

Considering 100 M samples, 32 bit each, at 75 MHz.

The entire data are transferred byThe Proposed Approach in 2.6 secondsYuh’s approach in 416.0 seconds

47

Page 48: 3rd 3DDRESD: Floorplacer

Conclusions - IConclusions - I

An algorithm for the identification of area constraint for reconfigurable architectures has been introduced

Novelties: taking into accountTarget device heterogeneityTarget device reconfiguration capabilitiesCommunication issues

48

Page 49: 3rd 3DDRESD: Floorplacer

Conclusions - IIConclusions - II

Results have been publishedA. Montone, M.D. Santambrogio, D. Sciuto, A Design Workflow for the Identification of Area Constraints in Dynamic Reconfigurable Systems, IEEE International Symposium on Electronic Design, Test and Applications (DELTA), 2008A. Montone, M.D. Santambrogio, Area Constraint Evaluation for FPGAs, The Syndicated Q1-2008, A technical newsletter for FPGA, ASIC Verification and DSP Designers, Synplicity Incorporation

49

Page 50: 3rd 3DDRESD: Floorplacer

Future WorksFuture Works

Take into consideration IOBs and inter modules communications

Partitioning considering clock regions

50

Page 51: 3rd 3DDRESD: Floorplacer

QuestionsQuestions

51