People: Can Bekar
We propose a novel approach for runtime verification with modern graphical processing units (GPU). We distinguish between two kinds of computational overhead caused by: (i) the monitoring of events, and (ii) the verification algorithm. Traditionally such verification algorithms have been implemented to run on the same processing units with the target program. Thus, both (i) and (ii) contribute to the overall slowdown of the application, and we think that that approach overvalues performance over completeness of the verification.
Offloading (ii) to separate, dedicated cores and threads that are available today as a GPU has let us avoid this trade off in runtime verification is our main contribution. As a result, the program being monitored only experiences slowdown due to (i). While GPU acceleration is not new, the novelty of our approach is that we offload the computational overhead of traditional race checkers via parallelizing the verification algorithm itself allowing it to work like a data parallel algorithm. This novel approach resulted a greater performance than traditional race checking, with minimal loss in soundness of the checking.