Load balanced mapping of data structures in parallel memory modules for fast and conflict-free templates access

  • Sajal K. Das
  • M. Cristina Pinotti
Session 8B: Invited Lecture
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1272)


Conflict-free memory access is one of the important factors for the overall performance of a multiprocessor system in which the available memory is partitioned into several modules. Even if there is no contention in the processor-memory interconnection path, conflicts may still occur when two or more processors attempt to gain access to a single memory module or a memory location within a module. With a goal to achieve higher memory bandwidth, in this paper we resolve access conflicts at the level of memory modules. In particular, we deal with the problem of evenly mapping a data structure, called host, into as few distinct memory modules as possible to guarantee that subsets of distinct host nodes, called templates, can be accessed simultaneously in a conflict-free manner.

Since trees are among the most frequently used data structures in numerous applications, we propose a simple algebraic function based on the node indices for assigning the nodes of a k-ary tree to the memory modules in such a way that each subtree of a given height and arity can be accessed without conflicts. The assignment is direct, load balanced and also optimal in terms of the number of modules required. We also investigate conflict-free access to d-dimensional subcubes (Q d ) of n-dimensional hypercubes (Q n ), where Q n represents a set of items indexed with n-digit addresses and accesses will be made to subsets of items differing in any arbitrary 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. We prove that any occurrence of a subcube Q s Q n , for 0 ≤ sd − 1, can be accessed without conflicts using \(\left\lceil {\frac{{2^n }}{M}} \right\rceil\)memory modules, by associating Q n with a linear code C of length n, size M and minimum distance d. Associating the hypercube nodes with perfect or maximum distance separable (MDS) codes, our problem is solved optimally both in terms of the number of memory modules required and load balancing per module. These codes can be easily modified (without node relocation) according to the change in the size of the host or the number of available memory modules.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    V. Auletta, A. De Vivo and V. Scarano, “Multiple Templates Access of Trees in Parallel Memory Systems”, Proc. Int'l Parallel Processing Symp, Geneva, 1997.Google Scholar
  2. 2.
    S. K. Das and F. Sarkar, “Conflict-Free Data Access of Arrays and Trees in Parallel Memory Systems”, Proc. Sixth IEEE Symp on Parallel and Distributed Processing, Dallas, TX, Oct 1994, pp. 377–384.Google Scholar
  3. 3.
    S. K. Das, M.C. Pinotti, and F. Sarkar, “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
  4. 4.
    S. K. Das, F. Sarkar, and M.C. Pinotti, “Conflict-Free Access of Trees in Parallel Memory Systems and Its Generalization with Applications to Distributed Heap Implementation”, Proc. Int'l Conf. on Parallel Processing, Oconomowoc, Wisconsin, Aug 1995, Vol. III, pp. 164–167.Google Scholar
  5. 5.
    S. K. Das and M.C. Pinotti, “Conflict-Free Access to Templates of Trees and Hypercubes,” Third Annual International Computing and Combinatorics Conference (COCOON'97), Shanghai, China, Aug 20–22, 1997.Google Scholar
  6. 6.
    S.K. Das and and M.C. Pinotti, “A Coding Theory Approach to the Conflict-Free Subcube Access in Parallel Memory Systems”, Tech. Rep. CRPDC-96-7, Dept. of Comp. Sci., University of North Texas, Denton, 1996.Google Scholar
  7. 7.
    M. Gössel, and B. Rebel, “Memories for Parallel Subtree Access”, Proc. of Int'l Workshop on Parallel Algorithms and Architectures, in Lecture Notes in Computer Science, Springer-Verlag, Vol. 299, 1987, pp. 120–130.Google Scholar
  8. 8.
    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
  9. 9.
    K. Kim, and V. K. Prasanna Kumar, “Latin Squares for Parallel Array Access”, IEEE Trans. Parallel and Distributed Systems, Vol. 4, No. 4, Apr 1993, pp. 361–370.Google Scholar
  10. 10.
    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
  11. 11.
    H. A. G. Wijshoff, Data Organization in Parallel Memories, Kluwer Academic Publishers, 1989.Google Scholar
  12. 12.
    H. A. G. Wijshoff, “Storing Trees into Parallel Memories”, Parallel Computing 85, (Ed. Feilmeier), Elsevier Science Pub., 1986, pp. 253–261.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Sajal K. Das
    • 1
  • M. Cristina Pinotti
    • 2
  1. 1.Dept of Computer SciencesUniv of North TexasDentonUSA
  2. 2.IEIConsiglio Nazionale delle RicerchePisaItaly

Personalised recommendations