PaRV: Parallelizing Runtime Detection and Prevention of Concurrency Errors
We present the PaRV tool for runtime detection of and recovery from data races in multi-threaded C and C++ programs. PaRV uses transactional memory technology for parallelizing runtime verification and for buffering write accesses during race checking. Application threads are slowed down only due to instrumentation, but not due to the computation performed by runtime verification algorithms since the latter are run concurrently on different threads. Buffering writes allows us to recover from races and to safeguard against later ones.
Unable to display preview. Download preview PDF.
- 1.Bekar, U.C., Elmas, T., Okur, S., Tasiran, S.: Kuda: Gpu accelerated split race checker. In: Workshop on Determinism and Correctness in Parallel Programming (WoDet), London, England, UK (March 2012)Google Scholar
- 2.Bruening, D.L.: Efficient, transparent and comprehensive runtime code manipulation. Technical report (2004)Google Scholar
- 3.Chen, S., Falsafi, B., Gibbons, P.B., Kozuch, M., Mowry, T.C., Teodorescu, R., Ailamaki, A., Fix, L., Ganger, G.R., Lin, B., Schlosser, S.W.: Log-based architectures for general-purpose monitoring of deployed code. In: Proc. 1st Workshop on Architectural and System Support for Improving Software Dependability, ASID 2006, pp. 63–65. ACM, New York (2006)CrossRefGoogle Scholar
- 5.Kestor, G., Gioiosa, R., Harris, T., Unsal, O.S., Cristal, A., Hur, I., Valero, M.: Stm2: A parallel stm for high performance simultaneous multithreading systems. In: 2011 International Conference on Parallel Architectures and Compilation Techniques (PACT), pp. 221–231 (October 2011)Google Scholar
- 6.Sánchez, D., Aragón, J.L., García, J.M.: A log-based redundant architecture for reliable parallel computation. In: HiPC, pp. 1–10. IEEE (2010)Google Scholar
- 8.Vlachos, E., Goodstein, M.L., Kozuch, M.A., Chen, S., Falsafi, B., Gibbons, P.B., Mowry, T.C.: Paralog: enabling and accelerating online parallel monitoring of multithreaded applications. In: Proceedings of the Fifteenth Edition of ASPLOS, ASPLOS 2010, pp. 271–284. ACM, New York (2010)CrossRefGoogle Scholar