Reconfigurable Computing CHALLENGES Joo M P Cardoso Pedro
Reconfigurable Computing: CHALLENGES João M. P. Cardoso Pedro C. Diniz Portugal The High Level Conference on Nanotechnologies, Braga, Portugal, 20 November 2007
Outline Ø Reconfigurable Computing Ø Challenges Ø Role of Reconfigurable Technologies in Future Execution Environments Ø Overall Actions 2
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, datawidth, indexing) • Execution Models (Pipelined, Multithreading, VLIW) all possible in the same reconfigurable fabric 3
Reconfigurable (customizable) Fabrics Customized F(a, b, c, d) Customized interconnects Customized memories 4
Reconfigurable (customizable) Fabrics 5
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 onchip memories) • Non-Standard Numeric Formats (fixedpoint, etc. ) • Custom Routing 6
Are Architectures Merging? Multi-(Many)-core vs. Reconfigurable Ø 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 Multicore Reconfigurable Fabrics Manycore 7
Reconfigurable Computing: Execution Models Ø Data travel on paths statically or dynamically defined Ø Many on-chip Memories Configurable memory S-RAM D-RAM CPU Configurable logic 8
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 S-RAM D-RAM CPU A_1 L 1 S-RAM D-RAM CPU A_2 L 2 S-RAM D-RAM CPU A_3 L 3 • By writing to memories in Tandem using a customized bus 9
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…) 10
Reconfigurable Computing Many companies: Cray, SGI, SRC, ARC, PACT, Pico. Chip, Tilera, etc. 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! 11
Reconfigurable Computing Ø The Sony PSP Example • Reconfigurable Architecture: Virtual Mobile Engine (VME): audio • 24 -bit data width • 166 MHz • Single-cycle context switch 12 http: //www. hotchips. org/archives/hc 16/3_Tue/8_HC 16_Sess 8_Pres 1_bw. pdf
Reconfigurable Computing Ø The Sony PSP Example • Reconfigurable Architecture: Virtual Mobile Engine (VME): audio • 24 -bit data width • 166 MHz • Single-cycle context switch 13 http: //www. hotchips. org/archives/hc 16/3_Tue/8_HC 16_Sess 8_Pres 1_bw. pdf
Challenges
Programming Application Code Showstopper: Programming is excruciatingly painful… How to make devices like FPGAs easily programmable is a hard research problem, still. Compilation, Synthesis and Optimization Reconfigurable Architectures and Execution Models Ø 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. ) 15
Programming Ø Future reconfigurable architectures will exacerbate all the programming problems Ø Issues: Application Code Compilation, Synthesis and Optimization Reconfigurable Architectures and Execution Models • How can programming languages help the compiler? • How can architectures help the compiler and tools? 16
What is needed? Advances in Computer Architecture Advances in Tools is re C a w t f g So ORE n i m Loo MULTIC The e to th e u d ace Men n a MIT Sam singhe, ra Ama Success of Multicore Advances in Programming Languages Advances in Compilers 17
What is needed? Advances in Computer Architecture Advances in Tools Success of Reconfigurable Computing Advances in Programming Languages Advances in Compilers 18
What is needed? Advances in Computer Architecture Advances in Tools Success of Reconfigurable Computing Advances in Programming Languages Advances in Compilers 19
Role of Reconfigurable Technologies in Future Execution Environments
al. , t e t on net Trilli i b o ” a n R with ents, F o sed ing pon S O Ba mput Com TION “Co mmy NICA 07 Cru MMU pt. 20 CO M, Se AC Technology 1950’s 1960’s 2015’s? Vacuum-tubes, relays Integrated Circuit Nanotechnology Unreliable computing machines Reliable computing machines Unreliable computing machines, crummy components Fault-tolerance Defect-tolerance Self-diagnosis Tolerate imperfection John von-Neumann, Claude Shannon Redundancy to deal with failures Key Deal with imperfection Assume no imperfection 21
Technology Ø Uniprocessor Performance (SPECint) From Hennessy and Patterson, Computer Architecture: Itanium 2 A Quantitative Approach, 4 th edition, 2006 Itanium Based on a slide by Saman Amarasinghe, MIT P 4 10, 000 P 2 Pentium 486 386 286 All major manufacturers 1, 000 moving to multicore architectures 100, 000 8086 Nanotechnology may impose a step to Reconfigurable Computing! 100, 000 Number of Transistors P 3 1, 000, 000 10, 000 Understandable first step 22
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 23
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 De. Hon, 2002 24
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 25
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 26
Nanotechnology and Reconfigurable Computing Ø We have been here before! (a déjà vu) Advances in Computer Architecture Advances in Tools Success of Reconfigurable Computing Advances in Programming Languages Advances in Compilers 27
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 28
Thank You! Ø João M. P. Cardoso • jmpc@acm. org • http: //prosys. inesc-id. pt/~jmpc 29
- Slides: 29