Irregular data-parallelism in a parallel object-oriented language by means of Collective Replication
In parallel object-oriented languages it is hard to elegantly express efficient data-parallel operations on objects of an irregularly-shaped object structure that is spread across the parallel computing environment. This paper presents a new programming model that smoothly integrates both task and data parallelism in a distributed object-oriented context. So called Collective Replication combines enhanced data locality for parallel tasks with data-parallel computations on irregular data structures. Collectively replicated objects exploit the bulk- synchronous data-parallel pattern in an object-oriented language and relieve the programmer from explicitly coding the communication step even for irregular data structures. To make the consistency protocol efficient, only modified fields are shipped instead of whole objects. Moreover, a novel graph coloring approach is used to broadcast updates to all replicas; this technique avoids bottlenecks and is more efficient than known approaches. We suggest Java language extensions that can be han- dled by a pre-processor and achieve good performance on a set of benchmark applications.