MELF - Multivariant Executables for a Heterogeneous World
Offered By: USENIX via YouTube
Course Description
Overview
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.
Syllabus
USENIX ATC '23 - MELF: Multivariant Executables for a Heterogeneous World
Taught by
USENIX
Related Courses
Software as a ServiceUniversity of California, Berkeley via Coursera Software Testing
University of Utah via Udacity The Hardware/Software Interface
University of Washington via Coursera Software Debugging
Saarland University via Udacity Introduction to Systematic Program Design - Part 1
The University of British Columbia via Coursera