3 research outputs found

    Generating Irregular Partitionable Data Structures

    No full text
    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

    Generating Irregular Partitionable Data Structures

    No full text
    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. In the present paper we propose a linguistic mechanism, based on ideas from graph grammars, that allows one to generate graphs that can be easily partitioned. We give a precise definition of what it means to be easily partitionable and show that all the graphs that we generate can indeed be easily partitioned. We illustrate the expressiveness of our scheme by examples and establish limits to the scheme by showing that all the graphs that we generate have bounded tree-width. i Contents 1 Introduction 1 2 What is a Good Partition? 2 3 Dangling Graph Grammars 4 3.1 Dangling Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2 Productions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.3 Grammars . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...
    corecore