Abstract
We propose Section Based Program Analysis (SBPA), a novel way to decompose programs into disjoint sections to identify non-communicating loads and stores during program compilation. We implemented SBPA for a deterministic execution runtime environment and reduced 63% of dynamic memory access instrumentations. We also integrated SBPA with ThreadSanitizer, and achieved a speed-up of 2.74 on a geometric mean basis.
- Cormac Flanagan and Stephen N. Freund, “Fasttrack: Efficient and precise dynamic race detection,” in Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation, 2009, PLDI ’09. Google Scholar
Digital Library
- Chris Lattner and Vikram Adve, “Automatic Pool Allocation: Improving Performance by Controlling Data Structure Layout in the Heap,” in Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’05), Chigago, Illinois, June 2005. Google Scholar
Digital Library
- Tom Bergan, Owen Anderson, Joseph Devietti, Luis Ceze, and Dan Grossman, “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, 2010, ASPLOS ’10. Google Scholar
Digital Library
- Konstantin Serebryany, Alexander Potapenko, Timur Iskhodzhanov, and Dmitriy Vyukov, “Dynamic race detection with llvm compiler,” in Runtime Verification. Springer, 2012, pp. 110–114. Google Scholar
Digital Library
Index Terms
Section based program analysis to reduce overhead of detecting unsynchronized thread communication
Recommendations
Section based program analysis to reduce overhead of detecting unsynchronized thread communication
PPoPP 2015: Proceedings of the 20th ACM SIGPLAN Symposium on Principles and Practice of Parallel ProgrammingWe propose Section Based Program Analysis (SBPA), a novel way to decompose programs into disjoint sections to identify non-communicating loads and stores during program compilation. We implemented SBPA for a deterministic execution runtime environment ...
Section-Based Program Analysis to Reduce Overhead of Detecting Unsynchronized Thread Communication
Most systems that test and verify parallel programs, such as deterministic execution engines, data race detectors, and software transactional memory systems, require instrumenting loads and stores in an application. This can cause a very significant ...
Static conflict analysis for multi-threaded object-oriented programs
PLDI '03: Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementationA compiler for multi-threaded object-oriented programs needs information about the sharing of objects for a variety of reasons: to implement optimizations, to issue warnings, to add instrumentation to detect access violations that occur at runtime. An ...






Comments