Evolution of Non-Cryptographic Hash Function Pairs for FPGA-Based Network Applications
Roland Dobai, Jan Kořenek · 2015
High-speed computer networks require rapid packet processing and flexibility which can be ensured by implementing network applications in field programmable gate arrays (FPGAs). Many network applications are based on fast lookup in hash tables. It is important to use such hash functions for these tables which utilize efficiently the limited memory resources of FPGAs. Cuckoo hashing improves this utilization by using more hash functions simultaneously. However, there is no known approach for selecting those functions which together produce the best results. Bio-inspired methods are used in this paper for evolving hash function pairs for FPGA-based network applications. The evolved hash functions are based on linear and non-linear feedback shift registers and can be efficiently implemented in FPGAs. The experiments were aimed at hashing of Internet Protocol addresses and it was shown that evolved solutions can achieve better table load factor in comparison with human-created solutions.