Source Code Optimization and Profiling of Energy Consumption in

Document Sample
Source Code Optimization and Profiling of Energy Consumption in Powered By Docstoc
					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
Outline
q   Abstract
q   What’s the problem
q   Code Optimization
q   Profiler for Energy and Performance
q   Optimizing MP3 audio decoder
q   Conclusions




                           Chan_Chou Wang   2/15
Abstract
q    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.

                                       Chan_Chou Wang                     3/15
What’s the problem
q   Low cost with fast time to market
q   FPGA can’t give accurate estimates
    u   used for functional debugging
    u   can’t estimate the contribution of each
        component
q   The problem of optimization




                                 Chan_Chou Wang   4/15
Code Optimization
q   Program directly in assembly is better than 
    compiler
    u   Focus on a very abstract view of the problem

    u   Algorithmic optimization
    u   Data optimization
    u   Instruction flow optimization




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




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




                                           Chan_Chou Wang       7/15
Instruction flow optimization
q   Re-written to make computation more efficient
    u   loop merging, unrolling, software pipelining
    u   Innermost loops use inline assembly
    u   ex: use multiply-accumulate instruction (MLAL)




                                Chan_Chou Wang           8/15
Profiler for Energy and Performance




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



                                 Chan_Chou Wang            10/15
Sample Energy Profiling




                    Chan_Chou Wang   11/15
Experiment with optimizing MP3
q   SmartBadge CPU and Memory



q   Energy for MP3 implementations




                                          the increase in code 
                                           size with the algo. 
                                                Change in 
                                           SubBandSynthesis 
                                                procedure
                         Chan_Chou Wang                    12/15
Experiment with optimizing
MP3(cont.)
q   Energy result




q   Performance result




                         Chan_Chou Wang   13/15
Experiment with optimizing
MP3(cont.)
q   With different architecture




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




                          Chan_Chou Wang           15/15

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:0
posted:7/16/2013
language:English
pages:15