Dispositivi Logici Programmabili
Download
Report
Transcript Dispositivi Logici Programmabili
Novel,
Emerging
Computing System Technologies
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE
Smart Technologies
for Effective Reconfiguration:
The FASTER approach
May 29th – 31st 2013
International Conference on IC Design and Technology
Pavia, Italy
M. D. Santambrogio, C. Pilato, D. Pnevmatikatos,
K. Papadimitriou, D. Stroobandt, D. Sciuto
http://www.fp7-faster.eu/
Reconfigurable Technology
• Technology for adaptable hardware systems
Can add/remove components at run-time/product
lifetime
Flexibility at hardware speed (not quite ASIC)
Parallelism at hardware level (depending on
application)
Ideally: alter function & interconnection of blocks
• Implementation in:
FPGAs: fine grain, complex gate plus memory and
DSP blocks
Coarse Grain (custom) chips: multiple ALUs, multiple
(simple) programmable processing blocks, etc.
2
An issue as a new opportunity
• Programming has become very difficult
Impossible to balance all constraints manually
• More computational horse-power than ever before
Cores are free, reconfigurable logic available on chip, cores
can be heterogeneous
• Energy is new constraint
Software must become energy and space aware
• Modern computing systems need to be flexible and
adaptive
To optimize and meet their requirements taking
advantage as much as possible of the underlying
complex heterogeneous architectures
3
FASTER Motivation
• Creating reconfigurable systems is not
straightforward!
Reconfiguration cost is substantial (use wisely)
Tool support for these tasks is still quite basic
Resource management is up to the user
The designer has to:
Identify portions to be reconfigured
Establish a schedule that (a) respects dependencies
(b) achieves performance and other constraints
Manage the system resources (also at run-time)
Verify a changing system!
4
FASTER Goals and Innovation
• Include reconfigurability as an explicit design
concept in computing systems design, along
with methods and tools that support run-time
reconfiguration in the entire design
methodology
Provide a framework for analysis, synthesis and
verification of a reconfigurable system
Provide efficient and transparent runtime support
for partial and dynamic reconfiguration, including
micro-reconfiguration
• Demonstrate usability & performance on
commercial applications and platforms
(Maxeler, ST Microelectronics, Synelixis)
5
FASTER Platforms
• Bridging the gap between HPC and embedded
systems
Opportunities and challenges of reconfiguration in
both the domains
• High-Performance Computing Systems
Maxeler MPC MaxWorkstation
• FPGA-based Embedded Systems
Xilinx University Program Board (XUPV5-LX110T)
AVNET Zedboard (SoC XC7Z020)
6
FASTER: Overall Methodology
7
Design Phase and Runtime Support
WP3 (back-end)
List of HDL func ons
+
C descrip on
+
Parallelism
annota ons
(openMP)
XML descrip on
- App
- Pla orm
- HW/SW par oning
App Designers
Library w/ SW/HW I/F
modules
WP2 (front-end)
Sta c
High-level analysis.
Contains rough/fast
es ma on of
a)Power,
b)Resources,
i
c)Computa on me
Iden fica on of
PR cores +
Applica on
profilng
Op miza on for
microreconfigura on
(TLUT, TCON)
(iden fy annota ons
needed on C/HDL)
Reference
design
Vendor-flow
Reuse
Baseline
scheduling +
Floorplanning
Region-based
Micro-reconfig.
Vendor-flow +
relocation
UGent +
Vendor-flow
Static Area
Reconfigurable Area
System
GPP
RR2
RR1
SW
Verification
Param.
change
RTSM
SW
tools
WP4 (runtime)
•
Define a reconfiguration-aware design methodology that exploits FPGAs:
•
Exploit dynamic reconfigurability for different target reconfigurable architectures.
•
Generate hardware and software components (including runtime support) on the top of
existing vendor flows
Both HPC and embedded systems
Define and implement a new generation of self reconfigurable architectures
based on Linux
8
System analysis and design
.c
- Annotated source code
(C+OpenMP)
Task Graph
Generation
.xml
- Architecture
- Additional application information
DFG Extraction
.xml
Partitioning
and Optimizations
Run-time Support
and Verification
.c
High Level Analysis
Static Baseline
Scheduling
- Source code for CPU
Mapping and
Floorplanning
.xml
- DFGs for HW blocks
- Mapping Configurations
- HLS
- System generation
9
Identifying Level of Reconfigurability
• Assigning each task of the application to the
“best” processing element
Reconfiguration is implicitly considered
• Based on a metaheuristic iterative algorithm
Architectural
Template
XML
T1
T2
T3
Objectives: function of occupation area,
execution time, power, number of
reconfigurations etc...
MAP
T4
T5
Library
XML
Convergence
Mapping
Iterative, multi objectives:
-Runtime
-Power
-Area
-…
Platform
Specification
XML
10
Micro-reconfiguration Optimization
• In some applications we can identify hardware
accelerators with slow‐changing “parameters”
Filter coefficients
• Parameters trigger a small-scale reconfiguration
• Design of cores based on Tunable FPGA blocks:
Identify parameters
Create bitfile with “holes”
Parameter values => reconfiguration bits for
missing “holes”
Fine grain, faster reconfiguration time!
11
Verifying Reconfigurable Systems
• Study design validation approaches: simulation,
emulation and formal verification
• Extend symbolic simulation to dynamic aspects
of reconfigurable design
• In some cases static approaches may not be
able to verify the entire RC system
We use run‐time verification. Address and minimize
impact on:
• Speed, area and power
• Light‐weight architectural support
12
Run-time System
• Evaluate reconfiguration overhead
• Propose advanced mechanisms to support
Scheduling
Dynamic reconfiguration (including microreconfiguration)
Run-time verification
• Provide run-time support for dynamic
reconfiguration based on static analysis
Extension of OS capabilities
Efficient on-line scheduling and placement of task
modules
13
OS-based Management
• Provide software support for dynamic partial
reconfiguration on a Linux-based operating
systems
Reconfiguration process managed from the OS in
a transparent way
• Hardware-independent interface for software
developers based on the GNU/Linux
Addition and removal of reconfigurable
components
• Easier programming interface for specific
drivers
OS customization for specific architectures
14
Expected Results and Conclusions
• FASTER is a focused project that builds on
combined partners expertise as well as on past
research work and projects
• We focus on (and hope to demonstrate):
productivity improvement in implementation and
verification of dynamically changing systems
total ownership cost reduction (NIDS and RTM
systems)
performance improvement under power
constraints for Global Illumination and Image
Analysis application
15
Challenges & Opportunities
• Tool support for analysis and system
definition
• Specification of changing system(s)
• Reconfigurable granularity: influenced
by tools and applications
• Architectural support for reconfiguration
(vendor?)
• Metrics: include design effort/time, total
ownership cost
16