kirancodes.me
To Proof Maintenance & Beyond!

Synchronization via scheduling: techniques for efficiently managing shared state

Micah J. Best, Shane Mottishaw, Craig Mustard, Mark Roth, Alexandra Fedorova, Andrew Brownsword

Abstract

Shared state access conflicts are one of the greatest sources of error for fine grained parallelism in any domain. Notoriously hard to debug, these conflicts reduce reliability and increase development time. The standard task graph model dictates that tasks with potential conflicting accesses to shared state must be linked by a dependency, even if there is no explicit logical ordering on their execution. In cases where it is difficult to understand if such implicit dependencies exist, the programmer often creates more dependencies than needed, which results in constrained graphs with large monolithic tasks and limited parallelism.

Related papers