Skip to main content

Synthesizing efficient out-of-core programs for block recursive algorithms using block-cyclic data distributions

Publication ,  Journal Article
Li, Z; Reif, JH; Gupta, SKS
Published in: IEEE Transactions on Parallel and Distributed Systems
January 1, 1999

In this paper, we present a framework for synthesizing I/O efficient out-of-core programs for block recursive algorithms, such as the fast Fourier transform (FFT) and block matrix transposition algorithms. Our framework uses an algebraic representation which is based on tensor products and other matrix operations. The programs are optimized for the striped Vitter and Shriver's two-level memory model in which data can be distributed using various cyclic(B) distributions in contrast to the normally used physical track distribution cyclic(Bd), where Bd is the physical disk block size. We first introduce tensor bases to capture the semantics of block-cyclic data distributions of out-of-core data and also data access patterns to out-of-core data. We then present program generation techniques for tensor products and matrix transposition. We accurately represent the number of parallel I/O operations required for the synthesized programs for tensor products and matrix transposition as a function of tensor bases and data distributions. We introduce an algorithm to determine the data distribution which optimizes the performance of the synthesized programs. Further, we formalize the procedure of synthesizing efficient out-of-core programs for tensor product formulas with various block-cyclic distributions as a dynamic programming problem. We demonstrate the effectiveness of our approach through several examples. We show that the choice of an appropriate data distribution can reduce the number of passes to access out-of-core data by as large as eight times for a tensor product and the dynamic programming approach can largely reduce the number of passes to access out-of-core data for the overall tensor product formulas.

Duke Scholars

Published In

IEEE Transactions on Parallel and Distributed Systems

DOI

ISSN

1045-9219

Publication Date

January 1, 1999

Volume

10

Issue

3

Start / End Page

297 / 315

Related Subject Headings

  • Distributed Computing
  • 4606 Distributed computing and systems software
  • 1005 Communications Technologies
  • 0805 Distributed Computing
  • 0803 Computer Software
 

Citation

APA
Chicago
ICMJE
MLA
NLM
Li, Z., Reif, J. H., & Gupta, S. K. S. (1999). Synthesizing efficient out-of-core programs for block recursive algorithms using block-cyclic data distributions. IEEE Transactions on Parallel and Distributed Systems, 10(3), 297–315. https://doi.org/10.1109/71.755830
Li, Z., J. H. Reif, and S. K. S. Gupta. “Synthesizing efficient out-of-core programs for block recursive algorithms using block-cyclic data distributions.” IEEE Transactions on Parallel and Distributed Systems 10, no. 3 (January 1, 1999): 297–315. https://doi.org/10.1109/71.755830.
Li Z, Reif JH, Gupta SKS. Synthesizing efficient out-of-core programs for block recursive algorithms using block-cyclic data distributions. IEEE Transactions on Parallel and Distributed Systems. 1999 Jan 1;10(3):297–315.
Li, Z., et al. “Synthesizing efficient out-of-core programs for block recursive algorithms using block-cyclic data distributions.” IEEE Transactions on Parallel and Distributed Systems, vol. 10, no. 3, Jan. 1999, pp. 297–315. Scopus, doi:10.1109/71.755830.
Li Z, Reif JH, Gupta SKS. Synthesizing efficient out-of-core programs for block recursive algorithms using block-cyclic data distributions. IEEE Transactions on Parallel and Distributed Systems. 1999 Jan 1;10(3):297–315.

Published In

IEEE Transactions on Parallel and Distributed Systems

DOI

ISSN

1045-9219

Publication Date

January 1, 1999

Volume

10

Issue

3

Start / End Page

297 / 315

Related Subject Headings

  • Distributed Computing
  • 4606 Distributed computing and systems software
  • 1005 Communications Technologies
  • 0805 Distributed Computing
  • 0803 Computer Software