An algorithm producing balanced partitionings of data arrays

11Citations
Citations of this article
4Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We present a new polynomial time algorithm for allocating array elements to the processor memories of parallel computers. The algorithm produces, for sufficiently large arrays, partitionings that are balanced, near-rectangular and near-bulky. Balanced means each allocation is assigned the minimal number of elements. Near-rectangularmeans that each allocation is at most two off from the optimal aspect ratio in each dimension and has at most two jogs along each edge. A jog is where the boundary deviates from a straight line. Near-bulky means that each allocation has a near maximal ratio of interior/exterior points. For an I × J array of points and a K × K array of processors the algorithm produces balanced nearbulky partitionings when I,J≥ 4K and produces balanced, near-bulky and near-rectangular allocations when I,J≥ 8K. These bounds are not tight. A variant of the algorithm produces allocations with at most six neighbors per allocation for arbitrary stencils. Using these near-rectangular allocations incurs little additional cost for compilers for distributed memory parallel computers, and the extra run-time cost usually is offset by the advantage of balanced allocations.

Cite

CITATION STYLE

APA

Snyder, L., & Socha, D. G. (1990). An algorithm producing balanced partitionings of data arrays. In Proceedings of the 5th Distributed Memory Computing Conference, DMCC 1990 (Vol. 2, pp. 867–875). Institute of Electrical and Electronics Engineers Inc. https://doi.org/10.1109/DMCC.1990.556293

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free