Abstract
We describe design and implementation of an abstraction for
parallel arrays of data-driven objects. The arrays may be
multi-dimensional, and the number of elements in an array is
independent of the number of processors. The elements are mapped to
processors by a user-controllable mapping function. The mapping may
be changed during the parallel computation, which facilitates load
balancing, and communication optimization, for example.
Asynchronous method invocation is supported, with multicast,
broadcast, and dimension-wide broadcast. The abstraction is
illustrated using examples in fluid dynamics and molecular
simulations.