犹太教
JudoSTM:软件事务性内存的动态二进制重写方法。随着芯片多处理器的出现,我们面临着性能关键软件并行化的挑战。事务内存(Transactional memory,TM)已经成为一种很有前途的编程模型,它允许程序员关注并行性,而不是保持正确性和避免死锁。针对TM的许多硬件、软件和混合支持的实现已经被提出;其中,仅软件实现(stm)尤其引人注目,因为它们可以与当前的商品硬件一起使用。然而,除了更高的开销外,许多现有的STM系统仅限于托管语言或入侵api。此外,STMs中的事务通常不能包含对不可见代码的调用,例如共享库或系统调用。在本文中,我们提出了一种新的动态二进制重写方法JudoSTM来实现支持C和C++代码的STM。此外,通过使用基于值的冲突检测,JudoSTM还支持(i)不可逆系统调用和(ii)可能包含锁的库函数的事务执行。我们通过一些新的优化显著降低了开销,这些优化提高了重写代码的质量,并降低了冲突检测和缓冲的成本。我们展示了我们的方法的性能与Rochester的基于RSTM库的实现相当——证明了实现STM的动态二进制重写方法是一种有趣的替代方法。
此软件的关键字