17
POLITECNICO DI MILANO Speaker Speaker: Michelse Santoro Seda Ogrenci Memik: [email protected] , Vincenzo Rana: [email protected] Marco D. Santambrogio: [email protected] , Michele Santoro: [email protected] Donatella Sciuto: [email protected] Adaptive Computing - A Novel SoC Design Methodology Combining Adaptive Software and Reconfigurable Hardware - D D ynamic ynamic R R econfigurability econfigurability in in E E mbedded mbedded S S ystems ystems D D esign esign

3D-DRESD AC

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 3D-DRESD AC

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

Page 2: 3D-DRESD AC

2

OutlineOutlineMotivation

Goals

Project DescriptionHW/SW Codesign

SW Adaptive ComputingAdaptive Metrics

Case study: Digital Image ProcessingResults

Conclusion and Future Work

Page 3: 3D-DRESD AC

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

Page 4: 3D-DRESD AC

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

Page 5: 3D-DRESD AC

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

Page 6: 3D-DRESD AC

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

Page 7: 3D-DRESD AC

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:

Page 8: 3D-DRESD AC

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

Page 9: 3D-DRESD AC

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

Page 10: 3D-DRESD AC

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

Page 11: 3D-DRESD AC

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

Page 12: 3D-DRESD AC

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

Page 13: 3D-DRESD AC

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)

Page 14: 3D-DRESD AC

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

Page 15: 3D-DRESD AC

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

Page 16: 3D-DRESD AC

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

Page 17: 3D-DRESD AC

Questions?Questions?

17

??