Top Banner
POLITECNICO DI MILANO DReAMS DReAMS Dynamic Reconfigurability Applied to Multi-FPGA Systems Dynamic Reconfigurability Applied to Multi-FPGA Systems Matteo Murgida, Alessandro Panella {matteo.murgida, alessandro.panella}@dresd.org
34

3D-DRESD DReAMS

Nov 18, 2014

Download

Technology

usrdresd

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 3D-DRESD DReAMS

POLITECNICO DI MILANO

DReAMSDReAMSDynamic Reconfigurability Applied to Multi-FPGA Dynamic Reconfigurability Applied to Multi-FPGA

SystemsSystems

Matteo Murgida, Alessandro Panella{matteo.murgida,

alessandro.panella}@dresd.org

Page 2: 3D-DRESD DReAMS

2

DReAMSDReAMS

Dynamic Reconfigurability Applied to Multi-FPGA Systems

Branch of DRESD projectInherits architectures and tools

Automatic workflow from VHDL system description to FPGA implementation

VHDL parsing and system simulationSystem creation over a specific architectureBitstream creation and download onto FPGAs

Page 3: 3D-DRESD DReAMS

3

WorkflowWorkflow

Page 4: 3D-DRESD DReAMS

POLITECNICO DI MILANO

SPartASPartAA novel algorithm for multi-FPGA partitioningA novel algorithm for multi-FPGA partitioning

Alessandro [email protected]

Page 5: 3D-DRESD DReAMS

5

OutlineOutline

Problem description

Project goals and contributions

What is partitioning?

Existing approaches

Going deep into the problem

SpartAThe frameworkThe ideaThe algorithm

Experimental resultsFuture work

Page 6: 3D-DRESD DReAMS

6

Problem descriptionProblem description

Multi-FPGA - RATIONALELarge designs do not fit into a single chip

High performance parallelized applications

Our case: apply dynamic reconfigurability

Need to break the initial design into several blocks

One block corresponds to a single FPGA chip

Which inputs/outputs?

Which objectives?

Which techinques?

Page 7: 3D-DRESD DReAMS

7

Project goals and Project goals and contributionscontributions

Analyze existing approachesObtain a deep knowledge of this -well explored- field

Extract basic ideas for a new approach

Obtain some terms of comparison

Define precisely which problem(s) we cope withContextualize the problem

Focus on our needs

Develop a new solutionTheoretical background

Implementation and evaluation

Page 8: 3D-DRESD DReAMS

8

What is partitioning?What is partitioning?

GoalDivide a set of interrelated objects into a set of subsets

Optimize a specific objective(s)

K-way partitioningGiven a graph G=(V,E), partition it into k subsets V1...Vk such that their intersection is empty and their union = V.

Balance constraint: |Vi| ≈ |V|/k

Aims at minimizing (or maximizing) an objective function

• Edge-cut• Other objectives

• In general: NP-complete• Several heuristics that provide good results have

been developed

Page 9: 3D-DRESD DReAMS

9

Existing approaches - a glanceExisting approaches - a glance

• Traditional methodsKernighan – Lin and Fiduccia – Mattheyses heuristics

Iterative-improvement algorithmsBegins with an initial partition and iteratively improve itO(n3) complexity

Iterative algorithmsGeneticSimulated annealing

Multilevel algorithmsClustering -> Initial partitioning -> RefiningMeTIS/hMETIS suite: best current results for large flattened graphs partitioning

Page 10: 3D-DRESD DReAMS

10

Going deeper into the Going deeper into the problemproblem

• Two kinds of multi-FPGA partition• Topology-aware

• Architecture topology is an input• No optimization of the no. of FPGAs needed• Main task: association between the (larger) system

graph and the (smaller) architectural graph• Topology-free

• Architecture topology is not provided• Input: dimension and communication features of

FPGAs• Minimization of the number of FPGAs• Place and route after partitioning

• At the moment, we deal with the Topology-free problem

Page 11: 3D-DRESD DReAMS

11

SPartA: the frameworkSPartA: the framework

• Input: VHDL system description

• Output: several VHDL files, one for each block (FPGA)

• Three main phases:• Extract design from VHDL

description• “Real” partitioning phase

(core)• Build VHDL files

Page 12: 3D-DRESD DReAMS

12

SPartA: the ideaSPartA: the ideaStructural approach

Fully exploits the design hierarchyModules can be treated as single blocksBases for expansions toward dynamic reconfigurability

ObjectivesMinimize cutsizeMinimized the number of used FPGAsPreserving module integrity

(*)

(*) From Wen-Jong Fang and Allen C.-H. Wu, Multiway FPGA Partitioning by Fully Exploiting Design Hierarchy

Page 13: 3D-DRESD DReAMS

13

SPartA: the algorithm SPartA: the algorithm 1/21/2

Recursive algorithm (deals with trees)Starts from TOP nodePrecondition

No leaves with dimension > FPGA size

At every moment, a node can be:COVERED, UNCOVERED or PARTIALLY COVERED

Stop condition Node TOP is COVERED

Page 14: 3D-DRESD DReAMS

14

SPartA: the algorithm SPartA: the algorithm 2/22/2

OPEN ISSUE: Selecting the first node to be inserted into an empty partition

Random node

Node with overall max communication

Node with max communication with its siblings

Page 15: 3D-DRESD DReAMS

15

Results Results 1/31/3

• Complexity: exponential, due to the recursive nature of the algorithm

• Execution time however low (tens of seconds for a reasonable large design)

• EXAMPLE

ORIGINAL TREE PARTITIONED TREE

Page 16: 3D-DRESD DReAMS

16

Results Results 2/32/3

• Evaluation metrics• EDGECUT, FILLING and SPLITS

• Evaluation of the three policies for node selection• 18 different trees of varying size

Page 17: 3D-DRESD DReAMS

17

Results Results 3/33/3

Page 18: 3D-DRESD DReAMS

18

Future workFuture work

Algorithm improvementBalancing of last partition

First node selection policies

More refined “score” function for selecting nodeUse closeness metrics

Comparisons with existing algorithms

ExpansionSpartA framework development

Topology-aware partitioning

Page 19: 3D-DRESD DReAMS

19

The endThe end

ANY QUESTIONS?

Page 20: 3D-DRESD DReAMS

POLITECNICO DI MILANO

ChimeraChimeraMulti-FPGAs Architecture DefinitionMulti-FPGAs Architecture Definition

Matteo [email protected]

Page 21: 3D-DRESD DReAMS

21

Murgida - OutlineMurgida - Outline

IntroductionProblem descriptionProject GoalsState of the Art

Project in detailsContributionsDevelopmentResultsFuture Works

Demo

Page 22: 3D-DRESD DReAMS

22

Problem DescriptionProblem Description

Architectural description of a distributed FPGAs environment3 layers architecture

Page 23: 3D-DRESD DReAMS

23

Project GoalsProject Goals

Design the architecture of the most generic distributed system

Node definitionInterface definitionCommunication channel definition

Design a communication protocolEssential protocolInterrupt based protocolTimeout improvement

Page 24: 3D-DRESD DReAMS

24

State of the ArtState of the Art

CONFigurable ElecTronic TIssue (CONFETTI) by EPFL

Cellular based architecturePROs: high degree of parallelism, high computational powerCONs: no flexibility, oversized for small problems, small architectural customizations imply big cost/effort

Splash 2 by IDA Supercomputing CenterArchitecture composed by a Sun Sparcstation host, an interface board and “Splash Array” boardsPROs: again high parallelism and powerCONs: a central host coordinates the computational units, no fault tollerance, no flexibility

Page 25: 3D-DRESD DReAMS

25

ContributionsContributions

The proposed architecture:

Allows several Spartan-3 Starter Boards to communicate and exchange data

It is portable to different FPGAs with minimum effort

It is the basic infrastructure that will allow external partial dynamic reconfiguration

Page 26: 3D-DRESD DReAMS

26

Board StudyBoard Study

How to use resources like switches, leds and connectors in the boardHow to map an IP-Core port with a physical pin of the boardChoice of the A2 Expansion Connector to connect two boards

Page 27: 3D-DRESD DReAMS

27

Microblaze CommunicationMicroblaze Communication

Communication between two Microblaze soft-processorsDevelopment of a display controller to visualize the data flow

Page 28: 3D-DRESD DReAMS

28

GPIO InsertionGPIO Insertion

Higher architecture portability through the use of the GPIO IP-Core.

Page 29: 3D-DRESD DReAMS

29

Interrupt Controller InsertionInterrupt Controller Insertion

Communication protocol improvement by interrupt handling to prevent processor from busy waiting Interrupt Controller is included in the architecture to permit multi-interrupt detection and handling

Page 30: 3D-DRESD DReAMS

30

TimeoutTimeout

Malfunctioning due to interference on the communication channel lead to deadlocks

Communication protocol is not reliable at all

Counter implementation, including the driver used by the processor to lower down raised interrupts

Development of a simple application to verify to correctness of the proposed approach

Page 31: 3D-DRESD DReAMS

31

ResultsResults

A short Demo ...

Page 32: 3D-DRESD DReAMS

32

DemoDemo

Page 33: 3D-DRESD DReAMS

33

Future WorksFuture Works

• Development of a SystemC/VHDL Co-Simulation Framework

• Expert system integration

Page 34: 3D-DRESD DReAMS

34

The endThe end

ANY QUESTIONS?