Evaluating Placement Algorithms for Run-Time ...

3 downloads 0 Views 247KB Size Report
... the number of applications that can be executed on a single device is limited ... contiguous space in two dimensions after each ... amount of contiguous spce.
Evaluating Placement Algorithms for Run-Time Reconfigurable Systems*

Dedra Eatmon

Clay S. Gloster, Jr.

[email protected] [email protected] North Carolina State University Electrical and Computer Engineering Department

*can be found at http://www4.ncsu.edu/~deatmon/DREAM.html Paper Number: E1

Outline n n

n

Background Information and Motivation Dynamic REsource Allocation & Management (DREAM) Framework Conclusions and Future Work

Eatmon & Gloster

2

E1

Introduction n

n

n

The Field Programmable Gate Array (FPGA) provides an alternative to both general purpose processor and Application Specific Integrated Circuits (ASIC) With FPGAs, logic can be configured to realize different applications in hardware FPGAs can provide better performance than general purpose processors without the fabrication expense of ASIC

Eatmon & Gloster

3

E1

A Generic FPGA Architecture n

n

n

Each configurable logic block (CLB) contains gates interconnected by switches and routing Pins can be programmed as input, output, or bidirectional Considering applications where routing dominates the design area, the number of applications that can be executed on a single device is limited

Eatmon & Gloster

4

E1

Reconfigurable Computing Systems n

n

n

n

The application is partitioned into candidates to be implemented in both hardware and software The FPGA implements hardware portions of application Host processor executes portions to remain in software Partitioning can result in significant speedup over implementing the entire application in software

Eatmon & Gloster

5

E1

Run-time Reconfigurable Systems n

n

n

A run-time reconfigurable computing system allows either partial or full reconfiguration of FPGAs during execution because the FPGA may not rely solely on pin-to-pin connections for I/O Here, mappings must be placed as quickly as possible to service the user’s needs in potentially compute-intensive applications Delay in placement introduces delay in execution, neither of which are desired

Eatmon & Gloster

6

E1

Related Research n

n

n

n

K. Bazargan and M. Sarrafzadeh have presented serveral algorithms for placing modules on reconfigurable computing systems The paper presents a solution that trades execution time for quality of placement They introduce a placement algorithm that is a hybrid of the best-fit and first fit algorithms While the paper introduces a single placement algorithm, DREAM is a framework that allows user to benchmark the performance of several algorithms

Eatmon & Gloster

7

E1

DREAM Framework n

n

Request File The Dynamic Resource Module library Allocation and Management (DREAM) Framework has been designed to evaluate DREAM placement algorithms for Framework configurable logic devices Written in Java, the framework simulates placement on a device and Placed Modules Report evaluates the quality of each • %device utilization placement using a cost • avg. placement time function

Eatmon & Gloster

8

E1

Relocateable Hardware Modules n

The tool simulates placement on devices that support relocateable hardware modules (RHMs) – Applications are independent of each other – Application mappings do not require pin-to-pin connections

n

n

RHMs are graphical representations of mappings that include internal routing RHMs can be placed during execution of existing modules without interrupting other modules

Eatmon & Gloster

9

E1

DREAM User Interface n

n

n

The DREAM Framework for relocateable hardware is a graphical method of placing modules on a hardware device The CLBs of an FPGA are represented by a 2-D array of blocks where a size m grid denotes m x m CLBs Each module is a representation of an FPGA mapping of an application

Eatmon & Gloster

10

E1

Features of DREAM n

n

n n n n

n

n

User can chose one of three algorithms – Exhaustive search – First-fit – Random Clear: Clears the grid representing the hardware resource and disposes of any previously placed modules Next: Processes requests one at a time as controlled by user Cost: Calculates the cost of the current placement Save: Saves the current placement in a file for future use Load: Loads a previously saved placement onto the grid representing the hardware resource Place All: Processes all requests in the entire request file and places modules accordingly Exit: Stops execution of the program and closes the application

Eatmon & Gloster

11

E1

DREAM Cost Function n

n n

Simplistic cost function calculates amount of contiguous space in two dimensions after each placement Cost ranges from zero (empty grid) to m2 (full grid) Cost assists in identifying the best placement

Eatmon & Gloster

12

E1

Cost Function Example, x-direction n

n

n

n

The grid is first scanned in the x-direction to find the maximum amount of contiguous space in each row x C i is the maximum amount of contiguous space in the xdirection for row i m x ( m − C i ) , where Costx= ∑ i =1 m is the size of the grid Costx=1329 Given the current placement, the cost is to be calculated

Eatmon & Gloster

13

E1

Cost Function Example, y-direction n

n

n

n

The grid is then scanned in the y-direction to find the maximum amount of contiguous space in each row y C i is the maxiumum amount of contiguous spce in the y-direction for row i m y ( m − ) , where Costy = ∑ C i i =1 m is the size of the grid Costy =1446

Eatmon & Gloster

14

E1

Cost Function Example, Total Cost n

n n

The total cost equals the sum of the cost in both directions CostTotal = Costx + Costy CostTotal = 2775

Eatmon & Gloster

15

E1

First -Fit and Random Placement n

First-fit Placement – Module is placed at the first available empty location – If no empty locations exist, insertion is denied

n

Random Placement – Random (x,y) location is generated and checked for availability – If (x,y) is available, RHM is placed there; if not, another random location is generated and checked – If RHM not placed after pre-determined number of attempts (default = 8000 attempts), insertion is denied

Eatmon & Gloster

16

E1

DREAM User Modes n

DREAM can be executed in two modes – musd: multiple users requesting modules on a single device (default) – mumd: multiple users per device with multiple devices available

DREAM -mumd

Eatmon & Gloster

17

E1

Exhaustive Search n

Exhaustive Search Placement – Each (x,y) location on the grid, is first checked for availability – If available, cost of placing RHM is calculated at that location – After all available locations have been checked, RHM is then placed at location with minimum cost – If no location is available, insertion is denied

Eatmon & Gloster

18

E1

Conclusions n

n

n

n

The DREAM Framework answers the call for a tool to identify placement algorithms that can be effectively used for real-time placement DREAM can be used in conjunction with a run-time reconfigurable system to provide numerical data for performing a comparative analysis of placement algorithms A cost function has been presented to aid in benchmarking placement algorithms A comparison of a few placement algorithms has been presented

Eatmon & Gloster

19

E1

Suggest Documents