2010 · 150 citations · 22 references
ComputingComputer EngineeringComputer ScienceCompilersComputer ArchitectureProgramming LanguagesConcurrency AnalysisConcurrent ProgrammingCpu SchedulingInstruction SchedulingThread ManagementThread ProgrammingCompiler Memory ReorderingDeterministic ExecutionNon-deterministic Execution AnalysisRoot Cause DeterminationRuntime OptimizationRuntime System ArchitectureThread DebuggingThread Scheduling
The behavior of a multithreaded program does not depend only on its inputs. Scheduling, memory reordering, timing, and low-level hardware effects all introduce nondeterminism in the execution of multithreaded programs. This severely complicates many tasks, including debugging, testing, and automatic replication. In this work, we avoid these complications by eliminating their root cause: we develop a compiler and runtime system that runs arbitrary multithreaded C/C++ POSIX Threads programs deterministically.
22
Steven Cameron Woo, Moriyoshi Ohara, Evan Torrie et al. · 1995 · 3.6K citations · Full text
Christian Bienia, Sanjeev Kumar, Jaswinder Pal Singh et al. · 2008 · 3.4K citations
Jeremy Manson, William Pugh, Sarita V. Adve · 2005 · 732 citations · Full text