WG211/M9Taha
Globally Parallel, Locally Sequential
Walid Taha
A broad and important and resource-intensive class of computations codes are simulators for physical (or "natural) systems. Too often, such
simulation codes are written in general purpose languages that promote a programming style that is too centered on the details of how the computation is performed, rather than the model itself. In addition, general purpose programming languages do not generally encourage the programmer (or engineer) to pay attention to programming choices that can lead to high resource costs at runtime.
This report presents our preliminary results with the design of Acumen, a physical modeling language that we are designing with a specific goal of promoting writing codes that can easily be mapped to highly parallel execution platforms. The key features underlying the language's design are promoting a programming style that supports a "globally parallel, locally imperative view of the world, as well as preserving deterministic execution even when the underlying computation is performed on a highly parallel platform. The approach appears to be promising, although it is still too early to say whether or not it can be useful in practice.