A framework to experiment optimizations for real-time and embedded software

Typical constraints on embedded systems include code size limits, upper bounds on energy consumption and hard or soft deadlines. To meet these requirements, it may be necessary to improve the software by applying various kinds of transformations like compiler optimizations, specific mapping of code and data in the available memories, code compression, etc. However, a transformation that aims at improving the software with respect to a given criterion might engender side effects on other criteria and these effects must be carefully analyzed. For this purpose, we have developed a common framework that makes it possible to experiment various code transfor-mations and to evaluate their impact of various criteria. This work has been carried out within the French ANR MORE project.

[1]  Clément Ballabriga,et al.  Improving the First-Miss Computation in Set-Associative Instruction Caches , 2008, 2008 Euromicro Conference on Real-Time Systems.

[2]  Grigori Fursin,et al.  Transforming GCC into a research-friendly environment: plugins for optimization tuning and reordering, function cloning and program instrumentation , 2010 .

[3]  Luca Benini,et al.  A class of code compression schemes for reducing power consumption in embedded microprocessor systems , 2004, IEEE Transactions on Computers.

[4]  Pascal Sainrat,et al.  Static Loop Bound Analysis of C Programs Based on Flow Analysis and Abstract Interpretation , 2008, 2008 14th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications.

[5]  Tibor Gyimóthy,et al.  Survey of code-size reduction methods , 2003, CSUR.

[6]  Pascal Sainrat,et al.  OTAWA, a Framework for Experimenting WCET Computations , 2006 .

[7]  Rodolfo Azevedo,et al.  Multi-profile based code compression , 2004, Proceedings. 41st Design Automation Conference, 2004..

[8]  Per Stenström,et al.  A Flexible Code Compression Scheme Using Partitioned Look-Up Tables , 2009, HiPEAC.

[9]  Pascal Sainrat,et al.  A Context-Parameterized Model for Static Analysis of Execution Times , 2009, Trans. High Perform. Embed. Archit. Compil..

[10]  Jörg Henkel,et al.  Design of an one-cycle decompression hardware for performance increase in embedded systems , 2002, DAC '02.

[11]  FerencRudolf,et al.  Survey of code-size reduction methods , 2003 .

[12]  Trevor Mudge,et al.  Efficient execution of compressed programs , 2000 .

[13]  Amir Roth,et al.  The implementation and evaluation of dynamic code decompression using DISE , 2005, TECS.

[14]  Sharad Malik,et al.  Performance Analysis of Embedded Software Using Implicit Path Enumeration , 1995, 32nd Design Automation Conference.

[15]  Robert K. Montoye,et al.  A decompression core for PowerPC , 1998, IBM J. Res. Dev..

[16]  Karine Heydemann,et al.  Impact of Code Compression on Estimated Worst-Case Execution Times , 2009 .

[17]  Reinhard Wilhelm,et al.  Applying Compiler Techniques to Cache Behavior Prediction , 2007 .