COMMUTATIVITY ANALYSIS - A NEW ANALYSIS TECHNIQUE FOR PARALLELIZING COMPILERS

Citation
Mc. Rinard et Pc. Diniz, COMMUTATIVITY ANALYSIS - A NEW ANALYSIS TECHNIQUE FOR PARALLELIZING COMPILERS, ACM transactions on programming languages and systems, 19(6), 1997, pp. 942-991
Citations number
62
Categorie Soggetti
Computer Science Software Graphycs Programming","Computer Science Software Graphycs Programming
ISSN journal
01640925
Volume
19
Issue
6
Year of publication
1997
Pages
942 - 991
Database
ISI
SICI code
0164-0925(1997)19:6<942:CA-ANA>2.0.ZU;2-N
Abstract
This article presents a new analysis technique, commutativity analysis , for automatically parallelizing computations that manipulate dynamic , pointer-based data structures. Commutativity analysis views the comp utation as composed of operations on objects. It then analyzes the pro gram at this granularity to discover when operations commute (i.e., ge nerate the same final result regardless of the order in which they exe cute). If all of the operations required to perform a given computatio n commute, the compiler can automatically generate parallel code. We h ave implemented a prototype compilation system that uses commutativity analysis as its primary analysis technique. We have used this system to automatically parallelize three complete scientific computations: t he Barnes-Hut N-body solver, the Water liquid simulation code, and the String seismic simulation code. This article presents performance res ults for the generated parallel code running on the Stanford DASH mach ine. These results provide encouraging evidence that commutativity ana lysis can serve as the basis for a successful parallelizing compiler.