Practical Statically-checked Deterministic Parallelism

Subscribers:
344,000
Published on ● Video Link: https://www.youtube.com/watch?v=3dBcxLo6fKo



Duration: 1:00:52
88 views
1


Reproducibility is important in computing, whether reproducing bug reports or scientific results. After obvious sources of irreproducibility are addressed by containerization and hermetic build systems, the fundamental remaining challenge is preventing unintended nondeterminism due to parallelism and concurrency. In this talk I present languages and libraries that provide strict deterministic parallelism by construction. Starting with a foundation that disallows writable shared memory between parallel computations, we add support for structured communication patterns that preserve the determinism guarantee, irrespective of the underlying architecture, thread count, and nondeterministic scheduling. Building an application with these patterns also clarifies its structure and supports formal reasoning about effect composition. While the constraint of determinism may seem harsh, in this talk I argue that the future is bright: we can already build programs mixing lock-free concurrent data structures, blocking data-flow, callbacks, and GPU-based data-parallelism, without ever compromising determinism or referential transparency.




Other Videos By Microsoft Research


2016-08-04Microsoft Azure Storage: Blobs and Tables
2016-08-04Microsoft Azure Storage
2016-08-04Stroke recovery gets a boost from Kinect
2016-08-04Cambridge lab overview with Chris Bishop
2016-08-04Nanotechnology Assay Development for Environmental and Medical Applications
2016-08-04An Experimental Study on Energy Efficiency in the Industrial Internet of Things
2016-08-04Learning Invariant Feature Points
2016-08-04Faculty Summit 2016 - Machine Reading for Science and Society
2016-08-04Cyber Physical Systems over IoT: Inference and Control over Resource Challenged Wireless Networks
2016-08-04Faculty Summit 2016 - Computing with exotic technologies and platforms
2016-08-01Practical Statically-checked Deterministic Parallelism
2016-07-28Quantum Computation for Quantum Chemistry: Status, Challenges, and Prospects - Session 3
2016-07-28Asymptotic behavior of the Cheeger constant of super-critical percolation in the square lattice
2016-07-28Recovering Washington’s Wolves & Preserving the Critical Link
2016-07-28The similarity distance on graphs and graphons
2016-07-28Neural Acceleration for General-Purpose Approximate Programs
2016-07-28Snow Hydrology at the Scale of Mountain Ranges
2016-07-28Vote Privacy, Revisited: New Definitions, Tools and Constructions
2016-07-28Dispelling an Old Myth about an Ancient Algorithm
2016-07-28Behavior Based Authentication using Gestures and Signatures
2016-07-28Approximating the Expansion Profile and Almost Optimal Local Graph Clustering



Tags:
microsoft research