Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore a conference talk from USENIX ATC '23 that introduces MELF (Multivariant ELF), a novel approach to creating flexible executables for heterogeneous computing environments. Learn how MELF enables multiple compile-time variants of functions within a single binary, allowing for runtime switching between variants, even on a per-thread basis. Discover the advantages of this binary-level implementation, which works independently of specific programming languages or compilers, making it easily applicable to existing projects. Examine case studies featuring SQLite, memcached, MariaDB, and a benchmark for heterogeneous architectures with overlapping ISAs to understand how MELF can provide per-client performance isolation for security and debugging features, as well as adapt to extended instruction sets when available. Gain insights into addressing the limitations of traditional compile-time decisions in heterogeneous execution settings, where processor features and security requirements may vary over time or differ between clients.