Perfect Latin squares and parallel array access

A new nonlinear skewing scheme is proposed for parallel array access. We introduce a new Latin square(perfect Latin square) which has several properties useful for parallel array access. A sufficient condition for the existence of perfect Latin squares and a simple construction method for perfect Latin squares are presented. The resulting skewing scheme provides conflict free access to various subsets of an <italic>N</italic> x <italic>N</italic> array using <italic>N</italic> memory modules. When the number of memory modules is an even power of two, address generation is performed in constant time using a simple circuit. This scheme is the first memory scheme that achieves constant time access to rows, columns, diagonals, and <italic>N</italic><supscrpt>1/2</supscrpt> x <italic>N</italic><supscrpt>1/2</supscrpt> subarrays of an <italic>N</italic> x <italic>N</italic> array using the minimum number of memory modules.

[1]  David T. Harper,et al.  Vector Access Performance in Parallel Memories Using a Skewed Storage Scheme , 1987, IEEE Transactions on Computers.

[2]  Henry D. Shapiro,et al.  Theoretical Limitations on the Efficient Use of Parallel Memories , 1978, IEEE Transactions on Computers.

[3]  David C. van Voorhis,et al.  Memory Systems for Image Processing , 1978, IEEE Transactions on Computers.

[4]  De-Lei Lee Scrambled storage for parallel memory systems , 1988, ISCA '88.

[5]  Frank K. Hwang Crisscross Latin Squares , 1979, J. Comb. Theory, Ser. A.

[6]  Paul Budnik,et al.  The Organization and Use of Parallel Memories , 1971, IEEE Transactions on Computers.

[7]  Duncan H. Lawrie,et al.  The Prime Memory System for Array Access , 1982, IEEE Transactions on Computers.

[8]  Jong Won Park An Efficient Memory System for Image Processing , 1986, IEEE Transactions on Computers.

[9]  Kai Hwang,et al.  Computer architecture and parallel processing , 1984, McGraw-Hill Series in computer organization and architecture.

[10]  S. Kung,et al.  VLSI Array processors , 1985, IEEE ASSP Magazine.

[11]  David J. Kuck ILLIAC IV Software and Application Programming , 1968, IEEE Transactions on Computers.

[12]  Ashoke Deb,et al.  Conflict-Free Access of Arrays - A Counter Example , 1980, Inf. Process. Lett..

[13]  A. Hedayat A Complete Solution to the Existence and Nonexistence of Knut Vik Designs and Orthogonal Knut Vik Designs , 1977, J. Comb. Theory, Ser. A.

[14]  Duncan H. Lawrie,et al.  Access and Alignment of Data in an Array Processor , 1975, IEEE Transactions on Computers.

[15]  Mateo Valero,et al.  Partitioning: An Essential Step in Mapping Algorithms Into Systolic Array Processors , 1987, Computer.

[16]  Ervin Gergely,et al.  A Simple Method for Constructing Doubly Diagonalized Latin Squares , 1974, J. Comb. Theory, Ser. A.

[17]  Jan van Leeuwen,et al.  On Linear Skewing Schemes and d-Ordered Vectors , 1987, IEEE Transactions on Computers.

[18]  Jan van Leeuwen,et al.  The Structure of Periodic Storage Schemes for Parallel Memories , 1985, IEEE Transactions on Computers.

[19]  J. Dénes,et al.  Latin squares and their applications , 1974 .

[20]  Cauligi S. Raghavendra,et al.  On Array Storage for Conflict-Free Memory Access for Parallel Processors , 1988, International Conference on Parallel Processing.