joão m. p. cardoso

29
Reconfigurable Computing: CHALLENGES João M. P. Cardoso The High Level Conference on Nanotechnologies, Braga, Portugal, 20 November 2007 Portugal Pedro C. Diniz ANCORA:Analysis and C om pilation Tools forR econfigurable Architectures

Upload: guinevere-murphy

Post on 30-Dec-2015

25 views

Category:

Documents


4 download

DESCRIPTION

Reconfigurable Computing: CHALLENGES. Pedro C. Diniz. João M. P. Cardoso. Portugal. The High Level Conference on Nanotechnologies, Braga, Portugal, 20 November 2007. Outline. Reconfigurable Computing Challenges Role of Reconfigurable Technologies in Future Execution Environments - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: João M. P. Cardoso

Reconfigurable Computing: CHALLENGES

João M. P. Cardoso

The High Level Conference on Nanotechnologies, Braga, Portugal, 20 November 2007

Portugal

Pedro C. Diniz

ANCORA: Analysis and Compilation Tools for Reconfigurable Architectures

Page 2: João M. P. Cardoso

2

Outline

Reconfigurable Computing Challenges Role of Reconfigurable Technologies in

Future Execution Environments Overall Actions

Page 3: João M. P. Cardoso

3

Reconfigurable (Custom) Computing

Hardware resources can be “configured” to a specific architecture• Specialized Functional Elements and

Processing Elements• Interconnect between “Nodes” Custom to

Data flow in the application• Configurable on-chip memories (size,

data-width, indexing)• Execution Models (Pipelined,

Multithreading, VLIW) all possible in the same reconfigurable fabric

Page 4: João M. P. Cardoso

4

Reconfigurable (customizable) Fabrics

Customized memories

Customized interconnects

CustomizedF(a,b,c,d)

Page 5: João M. P. Cardoso

5

Reconfigurable (customizable) Fabrics

Page 6: João M. P. Cardoso

6

Reconfigurable (Custom) Computing

Orders of magnitude of speed-up over traditional computing systems

When? Customization is the key:• High operation- and task-level parallelism

• Increased by storage organization (data replication/distribution over multiple on-chip memories)

• Non-Standard Numeric Formats (fixed-point, etc.)

• Custom Routing

Page 7: João M. P. Cardoso

7

Are Architectures Merging?Multi-(Many)-core vs.

Reconfigurable

Multicore

ManycoreReconfigurableFabrics

Regularity of Reconfigurable Fabrics (e.g., FPGAs) allow them to ride Moore Law• Unbelievable large number of devices• Hard-macro cores can be plugged-in

Page 8: João M. P. Cardoso

8

Configurable logic

Configurable memory

S-RAMD-RAM CPU

CPU S-RAMD-RAM

CPU

CPU

S-RAMD-RAM

S-RAMD-RAM

Data travel on paths statically or dynamically defined

Many on-chip Memories

Reconfigurable Computing: Execution Models

Page 9: João M. P. Cardoso

9

S-RAMD-RAM CPU

CPUS-RAMD-RAM

CPU

CPU

S-RAMD-RAM

S-RAMD-RAM

A_1

A_2 A_3

L1

L2 L3

Reconfigurable Computing: Managing Data Availability

Many on-chip Memories • Each Array May be

accessed in Parallel Custom Pipelining

• On-chip configurable memories can be adapted to communication needs

Replication Increases Data Availability • By writing to

memories in Tandem using a customized bus

Page 10: João M. P. Cardoso

10

Reconfigurable (Custom) Computing

Benefits:• Reconfiguration is ideal for fast

prototyping and early evaluation of realistic performance

• Performance• Tolerate Defects

Costs:• Added complexity of execution

models makes programming very hard (we have not yet solved the parallel programming problem yet, sort of…)

Page 11: João M. P. Cardoso

11

Reconfigurable Computing

Based on source: Bezdek, J.C, Fuzzy models - what are they, and why, IEEE Trans. on Fuzzy Systems, 1993.

Reconfigurable Computing has already achieved this

point!

Many companies: Cray, SGI, SRC,

ARC, PACT,PicoChip, Tilera, etc.

Page 12: João M. P. Cardoso

12

Reconfigurable Computing

The Sony PSP Example• Reconfigurable Architecture: Virtual Mobile

Engine (VME): audio• 24-bit data width• 166 MHz• Single-cycle context switch

http://www.hotchips.org/archives/hc16/3_Tue/8_HC16_Sess8_Pres1_bw.pdf

Page 13: João M. P. Cardoso

13

Reconfigurable Computing

The Sony PSP Example• Reconfigurable Architecture: Virtual Mobile

Engine (VME): audio• 24-bit data width• 166 MHz• Single-cycle context switch

http://www.hotchips.org/archives/hc16/3_Tue/8_HC16_Sess8_Pres1_bw.pdf

Page 14: João M. P. Cardoso

Challenges

Page 15: João M. P. Cardoso

15

Application Code

Rec

onfig

urab

le A

rchi

tect

ures

an

d E

xecu

tion

Mod

els

Compilation, Synthesis and Optimization

Years of efforts on parallelizing compilers yielded meager returns on the potential for concurrent execution

Movement in industry for new concurrent programming paradigms and languages (upc, X-10, Fortress, etc.)

Programming

Showstopper: Programming is excruciatingly painful… How to make devices like FPGAs

easily programmable is a hard research problem, still.

Page 16: João M. P. Cardoso

16

Application Code

Rec

onfig

urab

le A

rchi

tect

ures

an

d E

xecu

tion

Mod

els

Compilation, Synthesis and Optimization

Programming

Future reconfigurable architectures will exacerbate all the programming problems

Issues:• How can programming languages help the compiler?• How can architectures help the compiler and tools?

Page 17: João M. P. Cardoso

17

What is needed?

Advances

in Tools

Advances

in

Compilers

Advances in Programming

Languages

Advances in Computer

Architecture

Success of Multicore

The Looming Software Crisis

due to the MULTICORE

Menace

Saman

Amarasinghe, MIT

Page 18: João M. P. Cardoso

18

What is needed?

Advances

in Tools

Advances

in

Compilers

Advances in Programming

Languages

Advances in Computer

Architecture

Success of Reconfigurable

Computing

Page 19: João M. P. Cardoso

19

What is needed?

Advances in Computer

Architecture

Advances

in Tools

Advances

in

Compilers

Advances in Programming

Languages

Success of Reconfigurable

Computing

Page 20: João M. P. Cardoso

Role of Reconfigurable Technologies in Future

Execution Environments

Page 21: João M. P. Cardoso

21

Unreliable computing machines, crummy components

Fault-tolerance

Nanotechnology

Tolerate imperfection

Defect-toleranceSelf-diagnosis

Reliable computing machines

Integrated Circuit

Assume no imperfection

Unreliable computing machines

Vacuum-tubes, relays

John von-Neumann, Claude ShannonRedundancy to deal with failures

Deal with imperfection

Technology

Key

Technology

Based on Robinett et

al., “Computing with a

Trillion Crummy

Components,”

COMMUNICATIONS

OF ACM, Sept. 2007

2015’s?1960’s1950’s

Page 22: João M. P. Cardoso

22

8086

286

386

486

Pentium

P2

P3

P4

Itanium

Itanium 2

1

10

100

1000

10000

100000

1978 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004 2006 2008 2010 2012 2014 2016

Per

form

ance

(vs

. VA

X-1

1/78

0)

25%/year

52%/year

??%/year

1,000,000,000

100,000

10,000

1,000,000

10,000,000

100,000,000

From Hennessy and Patterson, Computer Architecture: A Quantitative Approach, 4th edition, 2006Based on a slide by Saman Amarasinghe, MIT

Nu

mb

er o

f Tra

nsisto

rs

All major manufacturers moving to multicore

architectures

Technology

Uniprocessor Performance (SPECint)

Nanotechnology may impose a step to Reconfigurable

Computing!

Understandablefirst step

Page 23: João M. P. Cardoso

23

Technology

Success of memories• Scalable, highly regular structures• New cells not working do not

compromise chip, reduce size

Reconfigurable computing architectures• Matrix oriented• Similar scalable, regular structures• Cells not working do not compromise

chip, reduces number of available resources

Page 24: João M. P. Cardoso

24

Nanotechnology and Reconfigurable Computing: a

perfect match? Future computer substrates

of nanotechnology-based devices• likely have structure similar to

current reconfigurable architectures

Implication:• Most solutions to reconfigurable

computing are likely to be applicable to nanotechnology

Issues exacerbated by unreliability• Tools should reconfigure

architectural layer based on defects/faults

Nanoarray proposed by Andre DeHon, 2002

Page 25: João M. P. Cardoso

25

Future Nanofabrics: Exploiting Reconfigurability?

Changing Application Requirements• Input Application can have widely varying

requirements• First handling some touch-pad interaction, next

doing video processing• Real-time versus off-line needs.

• Unreliable Computing substrates• Defects/Faults

Comments• No killer-app still for reconfigurability, despite 10+

years of searching• Emerging substrates might prove to be a key ground

for reconfiguration as either:• Cost of detection and correction of faults is simply

too high• The environment is inherently unreliable

Page 26: João M. P. Cardoso

26

Future Nanofabrics: Programming for Reconfigurability?

No Clear Good Approach Today Programming Languages and

Environments: Too Rigid• Change and Failures are never a first class

citizen• Shall we expose some (but not all!) aspects of

recovery to the programmer?• Some times failures might not be critical

• Need to offer a system with graceful performance degradation

Page 27: João M. P. Cardoso

27

Nanotechnology and Reconfigurable Computing

We have been here before! (a déjà vu)

Advances

in Tools

Advances

in

Compilers

Advances in Programming

Languages

Advances in Computer

Architecture

Success of Reconfigurable

Computing

Page 28: João M. P. Cardoso

28

Overall Actions

We are at an unique opportunity in time• New comers in the game do not need to go

through all the steps of the ladder

Opportunity for EU to take the leadership Key investments (joint efforts on)

• Advances in Computer Architecture• Advances in Programming Languages• Advances in Compilers• Advances in Tools

Page 29: João M. P. Cardoso

29

Thank You!

João M. P. Cardoso• [email protected]• http://prosys.inesc-id.pt/~jmpc

ANCORA: Analysis and Compilation Tools for Reconfigurable Architectures