Conflict-free access to templates of trees and hypercubes in parallel memory systems
In this paper, we deal with the problem of mapping data structures, called hosts, into as few distinct memory modules as possible to guarantee that sets of distinct host nodes, called templates, can be accessed in parallel and without memory conflicts. An efficient solution to this important problem leads to a higher memory bandwidth and a better overall performance of a multiprocessor system.
Considering a binomial tree as the host, we devise for the first time a recursive mapping of its nodes which allows conflict-free access to any binomial subtree. Since the overlappings among various template instances intricate the problem, thus requiring more memory modules than the template size, we define what are called the oriented templates (subtrees) for which the conflict-freeness is guaranteed using the number of memory modules equal to the template size.
We also investigate the conflict-free access to d-dimensional subcubes of n-dimensional hypercubes. In this context, hypercubes model sets of items indexed with n-digit (binary or non-binary) in which parallel accesses will be made to sets of items differing in an arbitrary collection of d-digit positions. With the help of the coding theory, we propose a novel approach to solve the subcube access problem. Codes with minimum distance d ≥ 2 play a crucial role in our applications. In fact, we prove that any occurrence of a subcube Q s ⊂ Q n for 0 ≤ s ≤ d −1, can be accessed without conflicts using [2n/M] memory modules, by associating an n-dimensional hypercube, Q n , with a linear code C of length n, size M and minimum distance d. Associating the hypercube nodes with maximum distance separable (MDS) codes, our problem is solved optimally both in terms of the number of memory modules required and the amount of load per module. These codes can be easily modified (without node relocation) when the size of the host or the number of available memory modules change.
Unable to display preview. Download preview PDF.
- 1.S. K. Das and F. Sarkar, “Conflict-Free Data Access of Arrays and Trees in Parallel Memory Systems”, Proc. of the Sixth IEEE Symposium on Parallel and Distributed Processing, Dallas, TX, Oct 1994, pp. 377–384.Google Scholar
- 2.S. K. Das, M.C. Pinotti, and F. Sarkax, “Optimal and Load Balanced Mapping of Parallel Priority Queues in Hypercubes,” IEEE Trans. on Parallel and Distributed Systems, Vol. 7, No. 6, June 1996, pp. 555–564.Google Scholar
- 3.S.K. Das and and M.C. Pinotti, “Load Balanced Mapping of Data Scturctures in Parallel Memory Modules for Fast and Conflict-Free Templates Access”, in Workshop on Algorithms and Data Structures, Halifax, August 6–8, 1997.Google Scholar
- 4.M. Gössel, and B. Rebel, “Memories for Parallel Subtree Access”, Proc. of Int'l Workshop on Parallel Algorithms and Architectures (Eds. A. Albrecht, H. Jung and K. Mehlhorn), in Lecture Notes in Computer Science, Springer-Verlag, Vol. 299, 1987, pp. 120–130.Google Scholar
- 5.D. G. Hoffmann, D. A. Leonard, C.C. Lindner, K.T. Phelps, C.A. Rodger, J.R. Wall, Coding Theory: The Essentials, Marcel Dekker Inc., New York, 1991.Google Scholar
- 6.K. Kim, and V. K. Prasanna Kumar, “Latin Squares for Parallel Array Access”, IEEE Trans. on Parallel and Distributed Systems, Vol. 4, No. 4, April 1993, pp. 361–370.Google Scholar
- 7.F. J. MacWilliams and N. J. A. Sloane, The Theory of Error-Correcting Codes, Parts I and II, North-Holland, New York, 1977.Google Scholar
- 8.Vuillemin, J., “A Data Structure for Manipulating Priority Queues”, Comm. ACM, Vol. 21, No. 4, 1978, pp. 309–314.Google Scholar
- 9.H. A. G. Wijshoff, “Storing Trees into Parallel Memories”, Parallel Computing 85, (Ed. Feilmeier), Elsevier Science Pub., 1986, pp. 253–261.Google Scholar