Binary Compatible Critical Section DelegationBest Paper Award
In high-performance applications, critical sections often become performance bottlenecks due to contention among multiple cores. Critical section delegation mitigates this overhead by consistently executing critical sections on the same core, thereby reducing contention. Traditional delegation techniques, however, typically require manual code refactoring, which limits their practicality and adoption. More recent schemes that integrate with existing lock APIs have lowered this barrier, but delegating unsupported critical sections can still cause undefined behavior, including crashes.
To make delegation broadly accessible—even for end-users without access to or knowledge of source code, we introduce BCD, a binary-compatible delegation mechanism. BCD leverages kernel support to delegate userspace critical sections at the point of futex_wake. It employs an in-kernel virtual machine to supervise the execution of delegated userspace instructions, eliminating the need for binary modification. Crucially, BCD can detect and safely exclude unsupported critical sections, preserving correctness. This enables existing applications to transparently benefit from critical section delegation, without requiring developer intervention.
Mon 2 FebDisplayed time zone: Hobart change
09:50 - 11:10 | |||
09:50 20mTalk | Binary Compatible Critical Section DelegationBest Paper Award Main Conference DOI | ||
10:10 20mTalk | Hapax Locks: Scalable Value-Based Mutual Exclusion Main Conference DOI | ||
10:30 20mTalk | Fixing Non-blocking Data Structures for Better Compatibility with Memory Reclamation Schemes Main Conference DOI | ||
10:50 20mTalk | Multiverse: Transactional Memory with Dynamic Multiversioning Main Conference Gaetano Coccimiglio University of Waterloo, Trevor Brown University of Waterloo, Srivatsan Ravi University of Southern California DOI | ||