MELF: Multivariant Executables for a Heterogeneous World
summary
Provides multiple per-function compile-time variants inside one ELF by using a modified LLVM linker plus a runtime overlay manager that swaps same-size function sections via synchronized address-based views, letting threads migrate between views. Evaluated on SQLite, memcached and MariaDB and a heterogeneous-ISA benchmark: base MILF overhead is about 0.11%, profiling everywhere costs ~175% mean latency, while with MELF non-profiled clients see only ~6% extra latency when 75% of connections are profiled. Works and yields best end-to-end latency up to ~60–70% matrix-share.
AI-written summary · about
chapters (9)
- 0:00MELF introduction
- 2:31Client profiling overhead
- 3:15Multivariant ELF format
- 5:45Memory overlaying technique
- 6:27Synchronized address views
- 8:33Memcached case study
- 11:28Heterogeneous ISA setup
- 17:34MELF benefits summary
- 18:18Q&A
related talks
29mMorello software and compilers
24m(Ab)using Compiler Tools
17mCompCertELF: Verified Separate Compilation of C Programs into ELF Object Files
01h 02mMemory and Compilers
25mSoftware Multiplexing - Share Your Libraries and Statically Link Them Too
17mEMT: An OS Framework for New Memory Translation Architectures
11mEnabling Composition of Kernels and Compilers
01h 13mTalk by I-Ting Angelina Lee (Washington University in St. Louis)
