Presentation is loading. Please wait.

Presentation is loading. Please wait.

Source Code Optimization and Profiling of Energy Consumption in Embedded System Simunic, T.; Benini, L.; De Micheli, G.; Hans, M.; Proceedings on The 13th.

Similar presentations


Presentation on theme: "Source Code Optimization and Profiling of Energy Consumption in Embedded System Simunic, T.; Benini, L.; De Micheli, G.; Hans, M.; Proceedings on The 13th."— Presentation transcript:

1 Source Code Optimization and Profiling of Energy Consumption in Embedded System Simunic, T.; Benini, L.; De Micheli, G.; Hans, M.; Proceedings on The 13th International Symposium on System Synthesis, 20-22 Sept. 2000, Pages:193 - 198

2 Chan_Chou Wang 2/15 2015/6/18 Outline  Abstract  What’s the problem  Code Optimization  Profiler for Energy and Performance  Optimizing MP3 audio decoder  Conclusions

3 Chan_Chou Wang 3/15 2015/6/18 Abstract  This paper presents a source code optimization methodology and a profiling tool that have been developed to help designers in optimizing software performance and energy in embedded system. Code optimization are applied at three levels of abstraction: algorithmic, data and instruction-level. The profiler exploits a cycle- accurate energy consumption and performance to the source code. Thus, it can be used for analysis (i.e., to find energy-critical sections of the code), and for validation (i.e., to assess the impact of each code optimization). Code optimizations and profiling tool are used to optimize and tune the implementation of an MPEG Layer III(MP3) audio decoder for the SmartBadge portable embedded system. We show that using our methodology and tool we can quickly and easily redesign the MP3 audio decoder software to run in real time with low energy consumption. Performance increase of 92% and energy consumption decrease of 77% (over the original executable specification) has been achieved for MP3 audio decoding on the SmartBadge.

4 Chan_Chou Wang 4/15 2015/6/18 What’s the problem  Low cost with fast time to market  FPGA can’t give accurate estimates  used for functional debugging  can’t estimate the contribution of each component  The problem of optimization

5 Chan_Chou Wang 5/15 2015/6/18 Code Optimization  Program directly in assembly is better than compiler  Focus on a very abstract view of the problem  Algorithmic optimization  Data optimization  Instruction flow optimization

6 Chan_Chou Wang 6/15 2015/6/18 Algorithmic optimization  Find out where most time and power spent  compare alternative algorithm with original algorithm and find batter one  Algorithmic optimization have high potential, but also have risks  developing and testing is time-consuming  asymptotic analysis often misleading

7 Chan_Chou Wang 7/15 2015/6/18 Data optimization  Optimize code by changing the representation  match the characteristics of the target architecture with the processed data  floating point computations usually more complex and power-hungry than integer countreparts using ARM’s software library  using long long integer type

8 Chan_Chou Wang 8/15 2015/6/18 Instruction flow optimization  Re-written to make computation more efficient  loop merging, unrolling, software pipelining  Innermost loops use inline assembly  ex: use multiply-accumulate instruction (MLAL)

9 Chan_Chou Wang 9/15 2015/6/18 Profiler for Energy and Performance

10 Chan_Chou Wang 10/15 2015/6/18 Profiler and simulator  The main future:  to explore multiple different hardware and software architectures  do statistical analysis  works concurrently with the cycle-accurate simulator  obtain energy result after running only one simulation  give cycle-by-cycle plots of energy consumption for each system component

11 Chan_Chou Wang 11/15 2015/6/18 Sample Energy Profiling

12 Chan_Chou Wang 12/15 2015/6/18 Experiment with optimizing MP3  SmartBadge CPU and Memory  Energy for MP3 implementations the increase in code size with the algo. Change in SubBandSynthesis procedure

13 Chan_Chou Wang 13/15 2015/6/18 Experiment with optimizing MP3(cont.)  Energy result  Performance result

14 Chan_Chou Wang 14/15 2015/6/18 Experiment with optimizing MP3(cont.)  With different architecture

15 Chan_Chou Wang 15/15 2015/6/18 Conclusions  Source code optimizations  A tool for profiling energy consumption and performance of software in embedded system  Profiling results enabled us to quickly and easily target the redesign the MP3 audio decoder software


Download ppt "Source Code Optimization and Profiling of Energy Consumption in Embedded System Simunic, T.; Benini, L.; De Micheli, G.; Hans, M.; Proceedings on The 13th."

Similar presentations


Ads by Google