Grace: Safe and Efficient Concurrent Programming

Conference on Object-Oriented Programming Systems, Languages, and Applications(2008)

引用 26|浏览20
暂无评分
摘要
The shift from single to multiple core architectures means that, in order to increase application performance, programmers must write concurrent, multithreaded programs. Unfortunately, multithreaded applications are susceptible to numerous errors, including dead- locks, race conditions, atomicity violations, and order violations. These errors are notoriously difficult for programmers to debug. We present Grace, a runtime system for multithreaded programs written in C/C++ that provides good scalability and performance while eliminating a range of concurrency errors. With Grace, mul- tithreaded programs behave as if all threads were run sequentially. Grace exploits available CPU resources by combining speculative thread execution, supported by a novel virtual memory based trans- actional memory system, together with a sequential commit proto- col that guarantees sequential semantics. We show that Grace en- sures the correctness of otherwise-buggy multithreaded programs. Across a suite of CPU-intensive multithreaded applications, Grace often achieves performance and scalability comparable to unsafe thread libraries.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要