Checking Race Freedom of Clocked X10 Programs
Tomofumi Yuki, Paul Feautrier, Sanjay Rajopadhye, Vijay, Saraswat

TL;DR
This paper introduces a method to verify race freedom in clocked X10 programs, focusing on the polyhedral subset, by constructing the happens-before relation and analyzing practical benchmarks.
Contribution
It presents a novel approach for race detection in dynamic clocked X10 programs, including a construction of the happens-before relation and practical analysis benchmarks.
Findings
Race detection is undecidable in general for clocked X10 programs.
The proposed method can analyze certain benchmarks efficiently.
Modern tools can often find solutions or disprove race conditions in practical cases.
Abstract
One of many approaches to better take advantage of parallelism, which has now become mainstream, is the introduction of parallel programming languages. However, parallelism is by nature non-deterministic, and not all parallel bugs can be avoided by language design. This paper proposes a method for guaranteeing absence of data races in the polyhedral subset of clocked X10 programs. Clocks in X10 are similar to barriers, but are more dynamic; the subset of processes that participate in the synchronization can dynamically change at runtime. We construct the happens-before relation for clocked X10 programs, and show that the problem of race detection is undecidable. However, in many practical cases, modern tools are able to find solutions or disprove their existence. We present a set of benchmarks for which the analysis is possible and has an acceptable running time.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Distributed systems and fault tolerance
