Unserializable Interleaving Detection using Hardware Counters

Fernando Emmanuel Frati, Katzalin Olcoz Herrero, Luis Piñuel Moreno, Marcelo Naiouf, and Armando De Giusti


parallel architectures, concurrent program, concurrency error, error detection


Concurrent programs are needed to take advantage of multicore computers. Debugging such concurrent programs is very difficult due to their nondeterminism. So, error detection tools need to be used in production environments. One very popular detection technique is interleaving analysis, which detects atomicity violations in shared memory programs. Unfortunately, the algorithms that implement this technique can be very costly at runtime, restricting its use to the software testing stage. This paper shows how to use the hardware counters present in today's processors to detect the occurrence of unserializable interleavings. This optimization will reduce the overhead introduced by concurrency bug detection tools.

Important Links:

Go Back