Practical Statically-checked Deterministic Parallelism
- 👤 Speaker: Ryan Newton, Indiana University
- 📅 Date & Time: Thursday 30 June 2016, 14:00 - 15:00
- 📍 Venue: Small Lecture Theatre, Microsoft Research Ltd, 21 Station Road, Cambridge, CB1 2FB
Abstract
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.
Series This talk is part of the Microsoft Research Cambridge, public talks series.
Included in Lists
- All Talks (aka the CURE list)
- bld31
- Cambridge Centre for Data-Driven Discovery (C2D3)
- Cambridge talks
- Chris Davis' list
- Guy Emerson's list
- Interested Talks
- Microsoft Research Cambridge, public talks
- ndk22's list
- ob366-ai4er
- Optics for the Cloud
- personal list
- PMRFPS's
- rp587
- School of Technology
- Small Lecture Theatre, Microsoft Research Ltd, 21 Station Road, Cambridge, CB1 2FB
- Trust & Technology Initiative - interesting events
- yk449
Note: Ex-directory lists are not shown.
![[Talks.cam]](/static/images/talkslogosmall.gif)

Ryan Newton, Indiana University
Thursday 30 June 2016, 14:00-15:00