- IRISA PI-1574: A compression scheme for code size versus performance trade-offs

PDA

View Full Version : IRISA PI-1574: A compression scheme for code size versus performance trade-offs


Anne Jaigu
07-25-2004, 02:49 AM
PI-1574: A compression scheme for code size versus performance
trade-offs
Karine Heydemann, Henri Pierre Charles, François Bodin
http://www.irisa.fr/bibli/publi/pi/2003/1574/1574.html
16 pages - novembre 2003

Abstract
In this paper we propose a new software compression technique for
embedded systems. This technique aims at helping embedded system
developers to find good trade-offs between applications code size and
performance. The proposed compression scheme is machine independent and
compatible with multi-task systems. In this paper we focus on the
efficiency of the compression scheme and we analyze the main factors
influencing the code compression mechanism. We show that significant
compression (13% to 33% reduction in code size) can be achieved while
not slowing down computation intensive part of the code.

Résumé
Nous proposons dans cet article une nouvelle technique de compression
logicielle pour les systèmes enfouis. Cette technique permet de réduire
la place mémoire nécessaire à une application. Notre shéma de
compression vise à ne sélectionner que des portions de code peu
exécutées grâce à des profils d'exécution afin de limiter le surcoût en
temps d'exécution dû à l'émulation du code compressé. Notre shéma à
granularité fine nous permet de compresser de très petites régions. Nous
pouvons sélectionner des portions de code de quelques blocs de base peu
couteuses en temps d'execution même dans une fonction fréquemment
exécutée. La dégradation des performances peut ainsi être limitée sans
diminuer la quantité de code candidate à la compression. Notre technique
étant globale à l'application, elle offre un moyen de trouver de bons
compromis entre la taille du code exécutable et son temps d'exécution.
Nous montrons que nous obtenons un taux de compression significatif
(réduction de 13% à 33% du code).

Keywords: Compression, trade-off, emulator, superinstruction

Mots clefs: Compression de code, compromis, émulateur