An Intuitive and Efficient Semantics for Concurrent Programming Languages

155
Опубликовано 17 августа 2016, 1:04
Programming concurrent systems is notoriously subtle and error-prone. This is hardly surprising considering that mainstream memory models, which form the basis of concurrent languages' semantics, are confusing and provide only weak memory-ordering guarantees. We tolerate such weak memory models in order to facilitate efficient compiler and hardware implementations. I will present a novel, holistic approach that gives strong memory model guarantees without sacrificing performance. I will first discuss DRFx, a memory model which relies on cooperation between the compiler and the hardware to provide straightforward guarantees to the programmer while still permitting most common optimizations. This is achieved through an extremely lightweight form of dynamic data race detection and the introduction of a memory model exception. I will also present more recent research which suggests that an efficient implementation of end-to-end sequential consistency (a strong, intuitive memory model) may be within reach.
автотехномузыкадетское