A Dynamic Storage Scheme For Conflict-free Vector Access
- 24 August 2005
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
Previous investigations into data storage schemes have focused on finding a storage scheme that permits conflict-free access for a set of frequently encountered access patterns. This paper considers an alternative approach. Rather than forcing a single storage scheme to be used for all access patterns, conflict-free accesses of any constant stride can be made by selecting a storage scheme for each vector based on the accessing patterns used with that vector. By factoring the stride into two components, one a power of 2 and the other relatively prime to 2, a storage scheme can be synthesized which allows conflict-free access to the vector using the specified stride. All such schemes are based on a variation of the row rotation mechanism proposed by Budnik and Kuck[l]. Each storage scheme is based on two parameters, one describes the type of rotation to perform and the other describes the amount of memory to be rotated as a single block. Hardware required to implement this storage scheme is efficient. The performance of the memory under access strides other than th stride used to specify the storage scheme is also considered. This models a vector being accessed with multiple strides, in particular the row/column access of a matrix, and situations when the stride can not be determined prior to initializing the vector. Simulation results show that if a single buffer is added to each memory port then the average performance of the dynamic scheme surpasses that of the interleaved scheme for arbitrary stride accesses. For dynamic storage schemes to be effective, the compiler must be able to detect information about the stride of vector accesses. In general, this is within the capabilities of current vectorizing compilers. Dynamic storage schemes also may allow more flexibility in program transformations performed by vectorizing compilers during optimization.Keywords
This publication has 11 references indexed in Scilit:
- Vector Access Performance in Parallel Memories Using a Skewed Storage SchemeIEEE Transactions on Computers, 1987
- On Linear Skewing Schemes and d-Ordered VectorsIEEE Transactions on Computers, 1987
- Transforming FORTRAN DO loops to improve performance on vector architecturesACM Transactions on Mathematical Software, 1986
- On the effective bandwidth of interleaved memories in vector processor systemsIEEE Transactions on Computers, 1985
- The Structure of Periodic Storage Schemes for Parallel MemoriesIEEE Transactions on Computers, 1985
- Theoretical Limitations on the Efficient Use of Parallel MemoriesIEEE Transactions on Computers, 1978
- The Multidimensional Access Memory in STARANIEEE Transactions on Computers, 1977
- Access and Alignment of Data in an Array ProcessorIEEE Transactions on Computers, 1975
- Interconnections for Parallel Memories to Unscramble p-Ordered VectorsIEEE Transactions on Computers, 1974
- The Organization and Use of Parallel MemoriesIEEE Transactions on Computers, 1971