Sciweavers

ASPLOS
2009
ACM

Kendo: efficient deterministic multithreading in software

14 years 4 months ago
Kendo: efficient deterministic multithreading in software
Although chip-multiprocessors have become the industry standard, developing parallel applications that target them remains a daunting task. Non-determinism, inherent in threaded applications, causes significant challenges for parallel programmers by hindering their ability to create parallel applications with repeatable results. As a consequence, parallel applications are significantly harder to debug, test, and maintain than sequential programs. This paper introduces Kendo: a new software-only system that provides deterministic multithreading of parallel applications. Kendo enforces a deterministic interleaving of lock acquisitions and specially declared non-protected reads through a novel dynamically load-balanced deterministic scheduling algorithm. The algorithm tracks the progress of each thread using performance counters to construct a deterministic logical time that is used to compute an interleaving of shared data accesses that is both deterministic and provides good load balan...
Marek Olszewski, Jason Ansel, Saman P. Amarasinghe
Added 22 Nov 2009
Updated 22 Nov 2009
Type Conference
Year 2009
Where ASPLOS
Authors Marek Olszewski, Jason Ansel, Saman P. Amarasinghe
Comments (0)