Keynote 1: Relaxed memory ordering needs a better specification
Modern programs, and especially low-level libraries, often rely on concurrent memory accesses that do not enforce memory ordering, such as C++’s
memory_order_relaxed accesses. Concurrent garbage collectors commonly rely on such accesses, as does a surprising amount of other performance-critical software. On some common architectures, it is both unnecessary and quite expensive to guarantee ordering for these accesses.
Unfortunately, we still have no agreement on an acceptable semantics for such accesses. Hence verification of algorithms like realistic concurrent garbage collectors appears infeasible. We review the so-called “out-of-thin-air” problem, the technical obstacles, and the ongoing controversy surrounding performance of a possible solution. We focus on some examples to illustrate that existing implementations may in fact produce extremely surprising results for code that includes unordered memory accesses.
Conference DaySun 23 JunDisplayed time zone: Tijuana, Baja California change
09:00 - 11:00
|Welcome from the chairs|
|Keynote 1: Relaxed memory ordering needs a better specification|
|Automatic GPU Memory Management for Large Neural Models in TensorFlow|
|Massively Parallel GPU Memory Compaction|
|Scaling Up Parallel GC Work-Stealing in Many-Core Environments|