Profile-Driven Selective Program Loading

8 years 7 months ago
Profile-Driven Selective Program Loading
Abstract. Complex software systems use many shared libraries frequently composed of large off-the-shelf components. Only a limited number of functions are used from these shared libraries. Historically demand paging prevented this from wasting large amounts of memory. Many high end systems lack virtual memory and thus must load the entire shared library into each node's memory. In this paper we propose a system which decreases the memory footprint of applications by selectively loading only the used portions of the shared libraries. After profiling executables and shared libraries, our system rewrites all target shared libraries with a new function ordering and updated ELF program headers so that the loader only loads those functions that are likely to be used by a given application and includes a fallback user-level paging system to recover in the case of failures in our analysis. We present a case study that shows our system achieves more than 80% reduction in the number of page...
Tugrul Ince, Jeffrey K. Hollingsworth
Added 09 Nov 2010
Updated 09 Nov 2010
Type Conference
Year 2010
Authors Tugrul Ince, Jeffrey K. Hollingsworth
Comments (0)