DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

34
DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS Robert Barnes Utah State University Department of Electrical and Computer Engineering Thesis Defense, November 13 th 2008

description

Robert Barnes Utah State University Department of Electrical and Computer Engineering Thesis Defense, November 13 th 2008. DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS. Outline. Introduction & Background System Design - PowerPoint PPT Presentation

Transcript of DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Page 1: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS:A CASE STUDY WITH EKF AND DWT ALGORITHMS

Robert BarnesUtah State UniversityDepartment of Electrical and Computer EngineeringThesis Defense, November 13th 2008

Page 2: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Outline

Introduction & Background System Design Results & Conclusions

Page 3: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Motivation

Increasing Demands for Spacecraft Low Power Fault Tolerant Flexibility High Performance

Solution: FPGA

Page 4: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

General Goals

Flexible Extended Kalman Filter (EKF) System on an FPGA Adaptable to changing performance requirements

(scalable). System adaptable to other algorithms (DWT).

Outperform RAD750 PowerPC

Explore applications of dynamic reconfiguration.

Page 5: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Kalman Filter

To navigate in space an autonomous spacecraft must accurately estimate its state from noisy measurements.

The filter is very flexible Estimate a system’s state from only a single

sensor Estimate the bias in sensors Determine an unknown system model Predict a future states

Page 6: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Faddeev Algorithm

Page 7: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Extended Kalman Filter

Page 8: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Discrete Wavelet Transform Algorithm

Page 9: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Systolic Arrays

A network of simple processing elements (PE) which rhythmically process and pass data to nearest neighbours to process larger complex tasks.

Features: Modularity Regularity Locality Synchronous Pipelined Data Reuse

Page 10: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Partial Dynamic Reconfiguration

Page 11: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Configuration Layout

Figure Source: Jeff Carver

Page 12: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Other Reconfiguration Methods

JBits Interface to make changes to the Bitstream

Modular Design Flow Early Access Design Flow

Improved Modular Design Flow

Page 13: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Scaling Methods

Soft scaling Using conditional variable loops and conditional

statements, software can easily be made to scale to different parameters.

Static Hardware Scaling Using MUXes a hardware architecture can be

designed where data can be re-routed to different hardware cores.

Reconfigurable Hardware Scaling Using partial dynamic reconfiguration the physical

size of the systolic array can be scaled.

Page 14: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Outline

Introduction & Background System Design Results & Conclusions

Page 15: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

PolySAF

Polymorphic Systolic Array Framework (PolySAF)

Co-Processor

Page 16: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

SwitchBox

Page 17: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Interface Hierarchy

Page 18: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

2D Fadeev Systolic Array

Page 19: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Vertical Systolic Array

Page 20: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Hardware/Software Mapping

Page 21: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

DWT Systolic Array

Page 22: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Hybrid PDR

Page 23: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Mapping & Scaling

Page 24: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Outline

Introduction & Background System Design Results & Conclusions

Page 25: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Floor Planning

Page 26: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Floor Planning Sockets

Page 27: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Sockets vs Problem Size vs Cycles

Page 28: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Comparison with PowerPC

Page 29: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Reconfiguration Performance

Page 30: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Area Analysis

Page 31: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Conclusions & Limitations

A polymorphic systolic array framework (PolySAF). Programmable switchboxes and protocol to allow dynamic scaling in the array. Efficient EKF and DWT accelerators

Speedup of at least 4.18x and 6.61x over PowerPC for EKF and DWT. Integration of bitstream relocation and bitstream compression into a practical

system. 2.7x improvement in reconfiguration time. A 44% improvement in BRAM usage.

The flexible and simple framework allows this design to host a broad range of algorithms.

Dynamic reconfiguration is powerful, but it is not useful in every application. The trade-offs must be weighed carefully.

Page 32: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Questions?

Page 33: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Publications

R. Barnes and A. Dasu, “Hardware/software Co-designed Extended Kalman Flter on an FPGA,” in The International Conference on Engineering of Reconfigurable Systems and Algorithms (ERSA), 2008.

R. Barnes, A. Dasu, J. Carver, and R. Kallam, “Dynamically Reconfigurable Systolic Array Accelerators: A case study with EKF and DWT Algorithms,” Institution of Engineering and Technology (IET) Computers & Digital Techniques. In Review.

Page 34: DYNAMICALLY RECONFIGURABLE SYSTOLIC ARRAY ACCELERATORS: A CASE STUDY WITH EKF AND DWT ALGORITHMS

Misc.

Hours: 4.33wks/month*16months*(>40hours/wk)

= ~2771hours

Embedded C: ~6,000

Verilog Code: ~3,222

Python: ~1015

Tools: EDK ISE Modelsim MatLab Xpower PlanAhead Eclipse Simics Python