Abstract
Sequential Consistency (SC) is the most intuitivememory model for parallel programs. However, modern architectures aggressively reorder and overlap memory accesses, causing SC violations. An SC violation is virtually always abug. Most prior schemes either search the entire state spaceof a program, or use a constraint solver to find SC violations. A promising recent scheme uses active testing technique butfails to be effective for SC violations involving larger numberof threads and variables, and larger codebases. We proposeOrion, the first active testing technique that can detect, expose, and classify any arbitrary SC violations in any program. Orionworks in two phases. In the first phase, it finds potentialSC violation cycles by focusing on racing accesses. In thesecond phase, it exposes each SC violation cycle by enforcingthe exact scheduling order. We present a detailed design ofOrion in the paper. We tested different concurrent algorithms, bug kernels, SPLASH2, PARSEC applications, and an opensource program, Apache. We experimented with TSO and PSOmemory models. We detected and exposed 60 SC violationsof which 15 violations involve more than two processorsand variables. Orion exposes SC violations quickly and withhigh probability. Compared to a state-of-the-art active testingtechnique, it has a much better SC violation detection ability.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.