Upload
usrdresd
View
448
Download
4
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
POLITECNICO DI MILANO
SpeakerSpeaker: Michelse SantoroSeda Ogrenci Memik: [email protected], Vincenzo Rana: [email protected]
Marco D. Santambrogio: [email protected], Michele Santoro: [email protected] Sciuto: [email protected]
Adaptive Computing- A Novel SoC Design Methodology Combining
Adaptive Software and Reconfigurable Hardware -
DDynamic ynamic RReconfigurability econfigurability inin E Embeddedmbedded S Systemsystems D Designesign
2
OutlineOutlineMotivation
Goals
Project DescriptionHW/SW Codesign
SW Adaptive ComputingAdaptive Metrics
Case study: Digital Image ProcessingResults
Conclusion and Future Work
3
MotivationsMotivationsSoC are more and more complexUsers demand even more complex applications
HW is very powerful, and can perform intensive computation vary fastSW is very flexible, but it’s pretty slow wrt the HW
We need:Flexible HW Reconfigurable HWFaster SW Adaptive Computing
4
GoalsGoalsIdentify the best trade-off between:
Intensively tasks (kernel) to be put on HWEasily adaptable tasks to be put on SW
Exploit the self-adjusting property of adaptive computing
Develop a new performance model with specific metrics to determine the task separation
Basically reduce the gap between the HW and the SW worlds
Project DescriptionProject DescriptionReconfiguration makes the HW more flexibleNeed of a faster software
The main innovation is:Characterize the tasks depending on the relationship between HW and SW
Adaptive computation defines a relationship between input and output of an application wrt the input changes
particularly advantageous when input changes lead to relatively small changes in the output.
5
6
The modelThe modelThe extended model based approach
System Spec
System Model Description
Partitioning
HW Description
SW Description
Synthesis + Integration
Physical Implementation
SML = functional languageMLTon = framework
MLTon description in C
Find initial set of candidate tasks
Use Adaptive Metrics to find the best partitioning b/w HW and SW
Adaptive Computing TechniquesAugmented Dependency Graph
Module BasedPartial ReconfigurationConstraints on HW
Bitstream generationDownload on FPGA
Adaptive Computing (1/2)Adaptive Computing (1/2)Given an high level specification the application is translated to an adaptive one.The result is a ADG (Augmented Dependencies Graph)
7
Recognize modifiable operations that must be efficiently updated after an input change.
Main idea:
8
Adaptive Computing (2/2)Adaptive Computing (2/2)An example of the propagation of the changes:
After a small change in the input there is a small change in the outputThe software is adapting to the input changes
Crucial issue is to support change propagation
Adaptive Metrics (1/2)Adaptive Metrics (1/2)This approach aims at:
moving the software domain into the hardware domain whenever beneficial, accelerate the software as much as possible
Once an adaptive description is obtained, it can be analyzed using specific metrics
An edge in the ADG is:Invalidated: if its value changesObsolete: if it depends upon an invalidated edge
9
Adaptive Metrics (2/2)Adaptive Metrics (2/2)Given the ADG for each functionality fj, m is the number of nodes affected by the propagation, and |nj| is the total number of nodes for fj, and ts is the total number of tests
The adaptability value is:
The Partitioning Intensity Ordering Value is:
According to the PIOV it is possible to identify those candidate functions that would benefit from a re-allocation
10
0 – better in sw 1 – better in hw
Total performance metricsTotal performance metricsIt is then possible to estimate the dimension δ, and the time τ (computation + reconfiguration)
The adaptive programming is very useful when, given constraints on the dimension, the total time (computation + reconfiguration) on the hw is greater than the execution time on the sw
Therefore the Throughput TPj for each functionality is:
11
Case Study: Digital Image Case Study: Digital Image ProcessingProcessing
The canny edge detector is an algorithm that detects the edges in a given input image
Image smoothing remove the noiseGradient operator highlight regions with high spatial derivativeNon-maximum suppression reveals the edgesHysteresis remove false edges
12
AnalysisAnalysis
The graph shows that the most computationally expensive part is the image smoothing filter (FIR) But using the adaptive programming we can leave it on SW
13
Result of the edge detection computed on sequential frames, in order to exploit the adaptive computing (small input changes)
ResultsResults
14
Ai BenchmarkSCi Computation tACi init Initialization tACi Adaptive tSpeedupof Aci on SCi
After the initialization time needed to make the application adaptive, the software computation is a lot faster than the hardware computation of the same task
Hypothesis of a small propagation of the same task
ConclusionConclusion
The gap between hardware and software is reduced
In fact, adaptive computing can be used together with dynamic reconfiguration to improve the computation in a reconfigurable SoC
To validate the results, specific metrics and framework have been used
15
Future WorkFuture WorkCreate a specific software environment and a simulation framework
Analysis of the communication between interface and infrastructure
Overcome to the limits of SML functional description, that is not flexible enough, and not suitable for cross-compiling
Determine at run time the allocation of a task on the HW or on the SW, according to the stimulation from the input.
E.g. Smart Camera: setup HW adaptive SWBring Adaptive Computing to the HW
16
Questions?Questions?
17
??