USENIX 2005 Annual Technical Conference, General Track Abstract
Pp. 309322 of the Proceedings
SLINKY: Static Linking Reloaded
Christian Collberg, John H. Hartman, Sridivya Babu, and Sharath K. Udupa, University of Arizona
Static linking has many advantages over dynamic linking. It is simple
to understand, implement, and use. It ensures that an executable
is self-contained and does not depend on a particular set of libraries
during execution. As a consequence, the user executes exactly the same
executable image as was tested by the developer, diminishing the risk
that the user's environment will affect correct behavior.
The major disadvantages of static linking are increases in the memory
required to run an executable, network bandwidth to transfer it, and
disk space to store it.
In this paper we describe the SLINKY system that uses digest-based
sharing to combine the simplicity of static linking with the space
savings of dynamic linking: although SLINKY executables are completely
self-contained, minimal performance and disk-space penalties are incurred
if two executables use the same library. We have developed a SLINKY prototype that consists of tools for adding digests to executables,
a slight modification of the Linux kernel to use those digests to
share code pages, and tools for transferring files between machines
based on digests of their contents. Results show that our prototype
has no measurable performance decrease relative to dynamic linking, a
comparable memory footprint, a 20% storage space increase, and a 34%
increase in the network bandwidth required to transfer the packages.
We believe that SLINKY obviates many of the justifications for dynamic linking,
making static linking a superior technology for software organization
- View the full text of this paper in HTML and PDF.
Until April 2006, you will need your USENIX membership identification in order to access the full papers. The Proceedings are published as a collective work, © 2005 by the USENIX Association. All Rights Reserved. Rights to individual papers remain with the author or the author's employer. Permission is granted for the noncommercial reproduction of the complete work for educational or research purposes. USENIX acknowledges all trademarks within this paper.
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.