共享内存多线程编程是挖掘多核处理器并行性的重要方法,然而,共享内存的多线程程序在运行时存在不确定性,线程间的内存竞争是导致不确定性的主要来源。内存竞争信息量大,记录时带来的开销大,实现内存竞争记录是确定性重演共享内存多线程程序的关键。分别概括了现有软件实现的内存竞争记录机制和硬件实现的内存竞争记录机制,并对内存竞争记录的研究现状进行了总结,指出了当前内存竞争记录技术面临的挑战。
Writing shared-memory multithreaded programs become an important means to explore the parallel performance of multi-core processor systems.However,multithreaded programs are nondeterministic at run.Inter-thread memory race is the main source of this nondeterminism.Memory races are large and cost overhead.Memory race recording becomes the key technology to achieve deterministic replay of multithreaded programs.This paper summarizes the existing software memory race recording mechanisms and hardware memory race recording mechanisms.And the challenges for memory race recording are also pointed out.