Abstract
Current deterministic systems generally incur large overhead due to the difficulty of detecting and eliminating data races. This paper presents RaceFree, a novel multi-threading runtime that adopts a relaxed deterministic model to provide a data-race-free environment for parallel programs. This model cuts off unnecessary shared-memory communication by isolating threads in separated memories, which eliminates direct data races. Meanwhile, we leverage the happen-before relation defined by applications themselves as one-way communication pipes to perform necessary thread communication. Shared-memory communication is transparently converted to message-passing style communication by our Memory Modification Propagation (MMP) mechanism, which propagates local memory modifications to other threads through the happen-before relation pipes. The overhead of RaceFree is 67.2% according to our tests on parallel benchmarks.
- D. Joseph, L. Brandon, C. Luis, and O. Mark, "DMP: deterministic shared memory multiprocessing," in Proceeding of the 14th international conference on Architectural support for programming languages and operating systems Washington, DC, USA: ACM, 2009. Google Scholar
Digital Library
- M. Olszewski, J. Ansel, and S. Amarasinghe, "Kendo: efficient deterministic multithreading in software," in Proceeding of the 14th international conference on Architectural support for programming languages and operating systems, 2009, pp. 97--108. Google Scholar
Digital Library
- X. Zhou, K. Lu, X. Wang, and X. Li, "Exploiting parallelism in deterministic shared memory multiprocessing," J.ParallelDistrib.Comput., pp. 72(2012)716--727, 2012. Google Scholar
Digital Library
- B. Tom, A. Owen, D. Joseph, C. Luis, and G. Dan, "CoreDet: a compiler and runtime system for deterministic multithreaded execution," in Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems Pittsburgh, Pennsylvania, USA: ACM, 2010, pp. 53--64. Google Scholar
Digital Library
- T. Liu, C. Curtsinger, and E. D. Berger, "DTHREADS: Efficient Deterministic Multithreading," in Proceedings of the 22nd ACM Symposium on Operating Systems Principles, 2011. Google Scholar
Digital Library
- S. Park, Y. Zhou, W. Xiong, Z. Yin, R. Kaushik, K. H. Lee, and S. Lu, "PRES: probabilistic replay with execution sketching on multiprocessors," in Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles, 2009, pp. 177--192. Google Scholar
Digital Library
- G. Altekar and I. Stoica, "ODR: output-deterministic replay for multicore debugging," in Proceedings of the 22nd ACM Symposium on Operating Systems Principles, 2009. Google Scholar
Digital Library
- D. Subhraveti and J. Nieh, "Record and transplay: partial checkpointing for replay debugging across heterogeneous systems," 2011, pp. 109--120. Google Scholar
Digital Library
- H. Patil, C. Pereira, M. Stallcup, G. Lueck, and J. Cownie, "Pinplay: a framework for deterministic replay and reproducible analysis of parallel programs," in Proceedings of the 8th annual IEEE/ACM international symposium on Code generation and optimization, 2010, pp. 2--11. Google Scholar
Digital Library
- L. Lamport, "Time, clocks, and the ordering of events in a distributed system," Communications of the ACM, vol. 21, pp. 558--565, 1978. Google Scholar
Digital Library
- G. W. Dunlap, S. T. King, S. Cinar, M. A. Basrai, and P. M. Chen, "ReVirt: enabling intrusion analysis through virtual-machine logging and replay," ACM SIGOPS Operating Systems Review, vol. 36, pp. 211--224, 2002. Google Scholar
Digital Library
Index Terms
RaceFree: an efficient multi-threading model for determinism
Recommendations
RaceFree: an efficient multi-threading model for determinism
PPoPP '13: Proceedings of the 18th ACM SIGPLAN symposium on Principles and practice of parallel programmingCurrent deterministic systems generally incur large overhead due to the difficulty of detecting and eliminating data races. This paper presents RaceFree, a novel multi-threading runtime that adopts a relaxed deterministic model to provide a data-race-...
TxLinux: using and managing hardware transactional memory in an operating system
SOSP '07TxLinux is a variant of Linux that is the first operating system to use hardware transactional memory (HTM) as a synchronization primitive, and the first to manage HTM in the scheduler. This paper describes and measures TxLinux and discusses two ...
TxLinux: using and managing hardware transactional memory in an operating system
SOSP '07: Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principlesTxLinux is a variant of Linux that is the first operating system to use hardware transactional memory (HTM) as a synchronization primitive, and the first to manage HTM in the scheduler. This paper describes and measures TxLinux and discusses two ...







Comments