22
15740 - Computer Architectures Francisco Pereira João Pedro Sousa Reconfigurable computing Papers: [Goldstein et al] PipeRench: A Coprocessor for Streaming Multimedia Acceleration [Razdan & Smith] PRISC: A High-Performance Microarchitecture with PFUs [Cardoso & Vestias] Architectures and Compilers to Support Reconfigurable Computing

Reconfigurable computing

  • Upload
    keon

  • View
    56

  • Download
    0

Embed Size (px)

DESCRIPTION

Reconfigurable computing. Papers: [Goldstein et al] PipeRench: A Coprocessor for Streaming Multimedia Acceleration [Razdan & Smith] PRISC: A High-Performance Microarchitecture with PFUs [Cardoso & Vestias] Architectures and Compilers to Support Reconfigurable Computing. Terminology. - PowerPoint PPT Presentation

Citation preview

Page 1: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Reconfigurable computing

Papers:

[Goldstein et al] PipeRench: A Coprocessor for Streaming Multimedia Acceleration

[Razdan & Smith] PRISC: A High-Performance Microarchitecture with PFUs

[Cardoso & Vestias] Architectures and Compilers to Support Reconfigurable Computing

Page 2: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Terminology

FPGA Field Programmable Gate Array

PFU Programmable Functional Unit

ISA Instruction Set Architecture

PE Processing Element

PRISC PRogrammable Instruction Set Computer

RPU Reconfigurable Processing Unit

Page 3: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Challenge 1

Workloads submitted to processorsinclude more and more simple calculationson very large quantities of data.

Multimedia applications, video streaming…

Page 4: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Challenge 1

Assumptions of general purpose processing:

The processor reads more instructions than data elements

processors are optimized for high instructions bandwidth

(pre-fetching, branch prediction)

Data comes in fixed sized, wide words

32 or 64 bits are not uncommon

Page 5: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Challenge 1

Characteristics of data stream processing :

Data comes in large quantities of variable, small width elements

12 bits, 7 bits…

A single transformation is to be applied to all the data elements

That transformation is domain specific and is likely torequire several instructions on a general-purpose processor

Page 6: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Challenge 2

Performance critical applicationsoften rely on a reduced number of functions being executed frequently

Can we support those in hardware?

Page 7: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Reconfigurable computing

Papers:

[Goldstein et al] PipeRench Challenge 1

[Razdan & Smith] PRISC Challenge 2

[Cardoso & Vestias] Challenge 2

Page 8: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Idea

Design hardware that can be configuredat run time to support:

Complex transformations of datain a single clock cycle

Variable data widths (challenge 1)

Page 9: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Approaching the SolutionG

old

stein

Page 10: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Approaching the SolutionC

ard

oso

Page 11: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Designing the SolutionG

old

stein

att

ach

ed

pro

cess

or

Page 12: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Designing the SolutionR

azd

nfu

nct

ion

al u

nit

Page 13: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Designing the SolutionR

azd

nfu

nct

ion

al u

nit

Page 14: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Designing the SolutionC

ard

oso

fun

ctio

nal u

nit

Page 15: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Hardware CostsC

ard

oso

Page 16: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Impact on CompilingR

azd

n

Page 17: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

So, why don’t I have one yet?

Shortcomings of FPGAs [Goldstein et al]:

Configuration time – 100s of microsecs to 100s of millisecs

Forward compatibility – must be redesigned every generation

Compilation time – synthesis, placement and routing

Logic granularity – designed to replace random logic

Hard constraints – the hardware image must fit

Page 18: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Comparison in a typical application

Page 19: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

PRISC performance

Applicability and application speedup

Page 20: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

PipeRench performance

Performance on benchmark kernels:

Page 21: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

PipeRench performance

Performance on applications:

Page 22: Reconfigurable computing

15740 - Computer Architectures Francisco Pereira João Pedro Sousa

Conclusion

enhanced

enhancedenhanced Speedup

FractionFraction )1(

1

PipeRench PRISC