Pacman: Tolerating asymmetric data races with unintrusive hardware

High Performance Computer Architecture(2012)

引用 24|浏览0
暂无评分
摘要
Data races are a major contributor to parallel software unreliability. A type of race that is both common and typically harmful is the Asymmetric data race. It occurs when at least one of the racing threads is inside a critical section. Current proposals that target them are software-based. They slow down execution and require significant compiler, operating system (OS), or application changes. This paper proposes the first scheme to tolerate asymmetric data races in production runs with negligible execution overhead. The scheme, called Pacman, exploits cache coherence hardware to temporarily protect the variables that a thread accesses in a critical section from other threads' requests. Unlike previous schemes, Pacman induces negligible slowdown, needs no support from the compiler or (in the baseline design) from the OS, and requires no application source code changes. In addition, its hardware is relatively unintrusive. We test Pacman with the SPLASH-2, PARSEC, Sphinx 3, and Apache codes, and discover two unreported asymmetric data races.
更多
查看译文
关键词
parallel processing,asymmetric data races tolerance,cache coherence hardware,application changes,unreported asymmetric data race,negligible execution overhead,software reliability,cache storage,apache code,concurrency bug,compiler,previous scheme,negligible slowdown,parallel software unreliability,parsec code,data race,racing threads,operating systems (computers),application change,critical section,pacman,program debugging,thread accesses,operating system,application source code change,sphinx 3 code,asymmetric data race,threads requests,unintrusive hardware,splash-2 code,program compilers,coherence,hardware,cache coherence,protocols,instruction sets,synchronization,source code
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要