This Article 
 Bibliographic References 
 Add to: 
Efficient Hardware Hashing Functions for High Performance Computers
December 1997 (vol. 46 no. 12)
pp. 1378-1381

Abstract—Hashing is critical for high performance computer architecture. Hashing is used extensively in hardware applications, such as page tables, for address translation. Bit extraction and exclusive ORing hashing "methods" are two commonly used hashing functions for hardware applications. There is no study of the performance of these functions and no mention anywhere of the practical performance of the hashing functions in comparison with the theoretical performance prediction of hashing schemes. In this paper, we show that, by choosing hashing functions at random from a particular class, called H3, of hashing functions, the analytical performance of hashing can be achieved in practice on real-life data. Our results about the expected worst case performance of hashing are of special significance, as they provide evidence for earlier theoretical predictions.

[1] D. Knuth, The Art of Computer Programming, vol. 3: Sorting and Searching. Addison-Wesley, 1973.
[2] M.V. Ramakrishna, "Hashing in Practice, Analysis of Hashing and Universal Hashing," Proc. 1988 ACM-SIGMOD Conf. Management of Data,Chicago, 1988.
[3] L. Carter and M. Wegman, "Universal Classes of Hashing Functions," J. Computer and System Sciences, vol. 18, no. 2, pp. 143-154, 1979.
[4] M. Benhase, "Resetting Storage Unit Directories," IBM Technical Disclosure Bulletin, vol. 25, no. 7B, pp. 3,760-3,761, 1982.
[5] H. Robinson and G. Taylor, "Hashing Addresses to a Cache on DASD," IBM Technical Disclosure Bulletin, vol. 24, no. 11A, pp. 5,354-5,356, 1982.
[6] R. Bryant, "Extendible Hashing for Line-Oriented Paging Stores," IBM Technical Disclosure Bulletin, vol. 26, no. 11, pp. 6,046-6,049, 1984.
[7] K. Ramamoganarao and R. Sacks-Davis, "Hardware Address Translation for Machines with a Large Virtual Memory," Information Processing Letters, vol. 13, no. 1, pp. 23-29, 1981.
[8] M. Houdek and G. Mitchell, "Translating a Large Virtual Address," IBM Systems/38 Technical Developments, pp. 22-24, 1978.
[9] J. Cocke and W. Worley, "Virtual to Real Address Translation Using Hashing," IBM Technical Disclosure Bulletin, vol. 24, no. 6, pp. 2,724-2,726, 1981.
[10] A. Chang and M.F. Mergen,"801 Storage: Architecture and Programming," ACM Trans. Computer Systems, Vol. 6, No. 1, Feb. 1988, pp. 28-50.
[11] J. Huck and J. Hays, “Architectural Support for Translation Table Management in Large Address Space Machines,” Proc. 20th Ann. Int'l Symp. Computer Architecture, pp. 39–50, May 1993.
[12] G. Gonnet, "Expected Length of the Longest Probe Sequence in Hash Code Searching," J. ACM, vol. 28, no. 2, pp. 289-304, 1981.
[13] P. Larson, "Expected Worst-Case Performance of Hash Files," The Computer J., vol. 25, no. 3, pp. 347-352, 1982.
[14] M.V. Ramakrishna, E. Fu, and E. Bahcekapili, "Efficient Hardware Hashing Design for High Performance Computers," Technical Report TR-96-13, Computer Science Dept., RMIT, Melbourne, Australia, 1996.
[15] D. Knuth, The Art of Computer Programming, Vol. 2, Addison-Wesley, Reading, Mass., 1998.

Index Terms:
Hashing in hardware, high performance computer architecture, page address translation, signature functions, high speed information storage and retrieval.
M.v. Ramakrishna, E. Fu, E. Bahcekapili, "Efficient Hardware Hashing Functions for High Performance Computers," IEEE Transactions on Computers, vol. 46, no. 12, pp. 1378-1381, Dec. 1997, doi:10.1109/12.641938
Usage of this product signifies your acceptance of the Terms of Use.