Fundamental Study
Generating irregular partitionable data structures

https://doi.org/10.1016/S0304-3975(98)00226-6Get rights and content
Under an Elsevier user license
open archive

Abstract

A fundamental problem in parallel computing is partitioning data structures in such a way as to minimize communication between processes while keeping the loads balanced. The problem is particularly acute when the underlying data structures are irregular, pointer-based structures. Here we present a methodology for partitioning a general class of dynamic data structures with guaranteed bounds on load-balancing and communication costs. Our method is based on a form of graph grammar, which specifies only families of graphs for which a “good” partitioning must exist. By modeling the construction and changes in a data structure using our formalism, one can quickly derive a good partitioning for a wide variety of common data structures. Moreover, expressing the structure updates in our grammars is generally a trivial operation with little overhead; this makes our approach particularly well-suited to dynamic situations.

Keywords

Graph grammars
Irregular data structures
Partitionability
Parallelism
Dynamic data structures

Cited by (0)

1

This work was done while at McGill University.