ACM Home Page
Please provide us with feedback. Feedback
System-wide compaction and specialization of the linux kernel
Full text PdfPdf (895 KB)
Source ACM SIGPLAN Notices archive
Volume 40 ,  Issue 7  (July 2005) table of contents
Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
SESSION: Memory optimization table of contents
Pages: 95 - 104  
Year of Publication: 2005
ISSN:0362-1340
Also published in ...
Authors
Dominique Chanet  Ghent University, Gent, Belgium
Bjorn De Sutter  Ghent University, Gent, Belgium
Bruno De Bus  Ghent University, Gent, Belgium
Ludo Van Put  Ghent University, Gent, Belgium
Koen De Bosschere  Ghent University, Gent, Belgium
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 48,   Citation Count: 7
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1070891.1065925
What is a DOI?

ABSTRACT

The limited built-in configurability of Linux can lead to expensive code size overhead when it is used in the embedded market. To overcome this problem, we propose the application of link-time compaction and specialization techniques that exploit the a priori known, fixed run-time environment of many embedded systems. In experimental setups based on the ARM XScale and i386 platforms, the proposed techniques are able to reduce the kernel memory footprint with over 16%. We also show how relatively simple additions to existing binary rewriters can implement the proposed techniques for a complex, very unconventional program such as the Linux kernel. Finally, we pinpoint an important code size growth problem when compaction and compression techniques are combined on the ARM platform.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
R. Cohn, D. Goodwin, P. Lowney, and N. Rubin. Spike: An optimizer for Alpha/NT executables. In Proceedings of the USENIX Windows NT Workshop, pages 17--24, 1997.
 
2
B. De Bus. Reliable, Retargetable and Extensible Link-Time Program Rewriting. PhD thesis, Ghent University, 2005.
3
4
5
6
7
8
9
 
10
R. Flower, C.-K. Luk, R. Muth, H. Patil, J. Shakshober, R. Cohn, and G. Lowney. Kernel optimizations and prefetch with the spike executable optimizer. In Proc of the 4th Workshop on Feedback-Directed and Dynamic Optimization (FDDO-4), 2001.
 
11
C.-T. Lee, J.-M. Lin, Z.-W. Hong, and W.-T. Lee. An application-oriented linux kernel customization for embedded systems. Journal of Information Science and Engineering, 20(6):1093--1107, 2004.
 
12
J. Levine. Linkers & Loaders. Morgan Kaufmann Publishers, 2000.
 
13
C. Linn, S. Debray, G. Andrews, and B. Schwarz. Stack analysis of x86 executables. Available at http://www.cs.arizona.edu/people/debray.
 
14
M. Madou, B. De Sutter, B. De Bus, L. Van Put, and K. De Bosschere. Link-time optimization of MIPS programs. In Proceedings of the 2004 International Conference on Embedded Systems and Applications (ESA'04), 2004.
 
15
L. McVoy and C. Staelin. lmbench: Portable tools for performance analysis. In USENIX Annual Technical Conference, 1996.
 
16
 
17
 
18
K. Rajagopalan, S. Debray, M. Hiltunen, and R. Schlichting. Cassyopia: Compiler assisted system optimization. In Proc. 9th Usenix Workshop on Hot Topics in Operating Systems, 2003.
19
 
20
 
21
B. Schwarz, S. Debray, G. Andrews, and M. Legendre. PLTO: A link-time optimizer for the intel ia-32 architecture. In Proc. 2001 Workshop on Binary Rewriting (WBT-2001), 2001.
 
22
S. E. Speer, R. Kumar, and C. Partridge. Improving unix kernel performance using profile based optimization. In 1994 Winter USENIX, pages 181--188, 1994.
 
23
 
24
A. Tamches and B. P. Miller. Dynamic kernel code optimization. In Workshop on Binary Translation (WBT-2001), 2001.


Collaborative Colleagues:
Dominique Chanet: colleagues
Bjorn De Sutter: colleagues
Bruno De Bus: colleagues
Ludo Van Put: colleagues
Koen De Bosschere: colleagues