Symbol Resolution MatRs: Make it Fast and Observable with Stable Linking
Farid Zakaria, Andrew Quinn, Thomas R. W. Scogland

TL;DR
This paper introduces stable linking via MatR, a new mechanism that improves performance and observability of symbol resolution by calculating relocation mappings at epoch boundaries, replacing traditional dynamic linking.
Contribution
It presents MatR, the first stable linker, which separates system state management from runtime linking, enabling faster symbol resolution and better dependency management.
Findings
MatR improves symbol resolution performance by 2.19x on average.
Stable linking allows developers to inspect relocation mappings during epochs.
The system enhances dependency management through clear epoch-based state separation.
Abstract
Dynamic linking is the standard mechanism for using external dependencies since it enables code reuse, streamlines software updates, and reduces disk/network use. Dynamic linking waits until runtime to calculate an application's relocation mapping, i.e., the mapping between each externally referenced symbol in the application to the dependency that provides the symbol. Unfortunately, it comes with two downsides. First, dynamic linking limits the performance of current systems since it can take seconds to calculate a relocation mapping for a large program. Second, dynamic linking limits the dependency management of applications since it prevents a developer from accurately observing a relocation mapping except at runtime. This paper makes the key insight that the benefits conventionally attributed to dynamic linking: code reuse, streamlined software updates, and reduced disk/network…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
