Evolutionary design of hash function pairs for network filters

Graphical abstractDisplay Omitted HighlightsPipelined reconfigurable hash function with parallel computation is proposed for IP address filtering in field-programmable gate arrays.The evolutionary algorithm fine-tunes the reconfigurable hash function for the given set of Internet Protocol addresses.The proposed hash function provides high-speed lookup and achieves a higher table-load factor in comparison with conventional hash functions. Network filtering is a challenging area in high-speed computer networks, mostly because lots of filtering rules are required and there is only a limited time available for matching these rules. Therefore, network filters accelerated by field-programmable gate arrays (FPGAs) are becoming common where the fast lookup of filtering rules is achieved by the use of hash tables. It is desirable to be able to fill-up these tables efficiently, i.e. to achieve a high table-load factor in order to reduce the offline time of the network filter due to rehashing and/or table replacement. A parallel reconfigurable hash function tuned by an evolutionary algorithm (EA) is proposed in this paper for Internet Protocol (IP) address filtering in FPGAs. The EA fine-tunes the reconfigurable hash function for a given set of IP addresses. The experiments demonstrate that the proposed hash function provides high-speed lookup and achieves a higher table-load factor in comparison with conventional solutions.

[1]  Athanasios V. Vasilakos,et al.  Software Defined Monitoring of Application Protocols , 2016, IEEE Transactions on Computers.

[2]  Salvatore Pontarelli,et al.  Parallel d-Pipeline: A Cuckoo Hashing Implementation for Increased Throughput , 2016, IEEE Transactions on Computers.

[3]  Viktor K. Prasanna,et al.  A memory efficient IPv6 lookup engine on FPGA , 2012, 2012 International Conference on Reconfigurable Computing and FPGAs.

[4]  Jan Korenek,et al.  Fast and scalable packet classification using perfect hash functions , 2009, FPGA '09.

[5]  Surin Kittitornkun,et al.  Massively Parallel Cuckoo Pattern Matching Applied for NIDS/NIPS , 2010, 2010 Fifth IEEE International Symposium on Electronic Design, Test & Applications.

[6]  Grzegorz Rozenberg,et al.  Handbook of Natural Computing , 2011, Springer Berlin Heidelberg.

[7]  Jan Korenek,et al.  Software Defined Monitoring of application protocols , 2014, IEEE INFOCOM 2014 - IEEE Conference on Computer Communications.

[8]  David Martin,et al.  GEVOSH: Using Grammatical Evolution to Generate Hashing Functions , 2004, MAICS.

[9]  Michael Mitzenmacher,et al.  More Robust Hashing: Cuckoo Hashing with a Stash , 2008, ESA.

[10]  Paul G. Spirakis,et al.  Space Efficient Hash Tables with Worst Case Constant Access Time , 2003, STACS.

[11]  Martin Dietzfelbinger,et al.  Hash, Displace, and Compress , 2009, ESA.

[12]  Jan Korenek,et al.  Evolution of Non-Cryptographic Hash Function Pairs for FPGA-Based Network Applications , 2015, 2015 IEEE Symposium Series on Computational Intelligence.

[13]  Rasmus Pagh,et al.  Cuckoo Hashing , 2001, Encyclopedia of Algorithms.

[14]  Gordon J. Brebner,et al.  400 Gb/s Programmable Packet Parsing on a Single FPGA , 2011, 2011 ACM/IEEE Seventh Symposium on Architectures for Networking and Communications Systems.

[15]  Elena Dubrova,et al.  A List of Maximum Period NLFSRs , 2012, IACR Cryptol. ePrint Arch..

[16]  Jirí Matousek,et al.  Fast lookup for dynamic packet filtering in FPGA , 2014, 17th International Symposium on Design and Diagnostics of Electronic Circuits & Systems.

[17]  Lukás Sekanina,et al.  Evolvable hardware , 2007, GECCO '07.

[18]  Mustafa Safdari Evolving Universal Hash Functions Using Genetic Algorithms , 2009, 2009 International Conference on Future Computer and Communication.

[19]  Julian Francis Miller Cartesian Genetic Programming , 2011, Cartesian Genetic Programming.

[20]  Dirk Timmermann,et al.  Packet Classification with Evolvable Hardware Hash Functions - An Intrinsic Approach , 2006, BioADIT.

[21]  Pedro Isasi Viñuela,et al.  AUTOMATIC DESIGN OF NONCRYPTOGRAPHIC HASH FUNCTIONS USING GENETIC PROGRAMMING , 2014, Comput. Intell..

[22]  Lukás Sekanina,et al.  Low-Level Flexible Architecture with Hybrid Reconfiguration for Evolvable Hardware , 2015, ACM Trans. Reconfigurable Technol. Syst..

[23]  Alan G. Konheim Hashing in Computer Science: Fifty Years of Slicing and Dicing , 2010 .

[24]  Rina Panigrahy,et al.  Efficient hashing with lookups in two memory accesses , 2004, SODA '05.

[25]  Jan Korenek,et al.  Low latency book handling in FPGA for high frequency trading , 2014, 17th International Symposium on Design and Diagnostics of Electronic Circuits & Systems.

[26]  Lukas Sekanina,et al.  Hardware Accelerator of Cartesian Genetic Programming with Multiple Fitness Units , 2012 .