TY - GEN
T1 - Reducing program image size by extracting frozen code and data
AU - Citron, Daniel
AU - Haber, Gadi
AU - Levin, Roy
PY - 2004
Y1 - 2004
N2 - Constraints on the memory size of embedded systems require reducing the image size of executing programs. Common techniques include code compression and reduced instruction sets. We propose a novel technique that eliminates large portions of the executable image without compromising execution time (due to decompression) or code generation (due to reduced instruction sets). Frozen code and data portions are identified using profiling techniques and removed from the loadable image. They are replaced with branches to code stubs that load them in the unlikely case that they are accessed. The executable is sustained in a runnable mode. Analysis of the frozen portions reveals that most are error and uncommon input handlers. Only a minority of the code (less than 1%) that was identified as frozen during a training run, is also accessed with production datasets. The technique was applied on three benchmark suites (SPEC CINT2000, SPEC CFP2000, and MediaBench) and results in image size reductions of up to 73%, 92%, and 85% per suite, The average reductions are 59%, 79%, and 78% per suite.
AB - Constraints on the memory size of embedded systems require reducing the image size of executing programs. Common techniques include code compression and reduced instruction sets. We propose a novel technique that eliminates large portions of the executable image without compromising execution time (due to decompression) or code generation (due to reduced instruction sets). Frozen code and data portions are identified using profiling techniques and removed from the loadable image. They are replaced with branches to code stubs that load them in the unlikely case that they are accessed. The executable is sustained in a runnable mode. Analysis of the frozen portions reveals that most are error and uncommon input handlers. Only a minority of the code (less than 1%) that was identified as frozen during a training run, is also accessed with production datasets. The technique was applied on three benchmark suites (SPEC CINT2000, SPEC CFP2000, and MediaBench) and results in image size reductions of up to 73%, 92%, and 85% per suite, The average reductions are 59%, 79%, and 78% per suite.
KW - Feedback directed
KW - Frozen code
KW - Frozen data
KW - Image size
UR - http://www.scopus.com/inward/record.url?scp=27644590679&partnerID=8YFLogxK
U2 - 10.1145/1017753.1017800
DO - 10.1145/1017753.1017800
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:27644590679
SN - 1581138601
SN - 9781581138603
T3 - EMSOFT 2004 - Fourth ACM International Conference on Embedded Software
SP - 297
EP - 305
BT - EMSOFT 2004 - Fourth ACM International Conference on Embedded Software
T2 - EMSOFT 2004 - Fourth ACM International Conference on Embedded Software
Y2 - 27 September 2004 through 29 September 2004
ER -