Overall Objectives
Research Program
Application Domains
Highlights of the Year
New Software and Platforms
New Results
Bilateral Contracts and Grants with Industry
Partnerships and Cooperations
XML PDF e-pub
PDF e-Pub

Section: New Results

Analysis of X10 Programs

Participants : Paul Feautrier, Alain Ketterlin [Inria/CAMUS] , Sanjay Rajopadhye [Colorado State University] , Vijay Saraswat [IBM Research] , Eric Violard [Inria/CAMUS] , Tomofumi Yuki.

While, historically, Compsys has applied polyhedral analysis to sequential programs, it was recently realized that it also applies to parallel programs or specifications, with the aim of checking their correctness or improving their performance. The prospect of having to program exascale architectures, with their millions of cores, has led to the development of new programming languages, whose objective is to increase the programmer productivity. Compsys has first applied polyhedral techniques to synchronous languages [24] , [25] and pipelined specifications (see Section  7.7 ), before concentrating on IBM's high-productivity language X10 (see this section as well as Section  7.9 ) and on the OpenStream language (see Section  7.10 ).

X10 is based on the creation of independent activities (light-weight threads), which can synchronize either by a generalization of the fork/join scheme, or with clocks, an improved version of the familiar barriers. X10 is deadlock-free by construction but it is the programmer responsibility to insure determinism by a proper use of synchronizations. Non-determinism bugs may have a very low occurrence probability thus be very difficult to detect by testing, hence the interest for detecting races at compile time. In collaboration with CSU (S. Rajopadhye, T. Yuki) and IBM (V. Saraswat), we first extended array dataflow analysis to polyhedral clock-free X10 programs [34] . We have been working on clocked programs too. Race detection becomes undecidable [35] , but realistic problems may still be solved by heuristics.

In cooperation with Eric Violard and Alain Ketterlin (Inria Team Camus, Strasbourg), and in order to obtain a more secure and precise analysis, we are currently attempting to formalize the “happens before” analysis used in these two previous papers [34] , [35] , using the proof assistant Coq.