Multi-objective evolution of hash functions for high speed networks

Hashing is a critical function in capturing and analysis of network flows as its quality and execution time influences the maximum throughput of network monitoring devices. In this paper, we propose a multi-objective linear genetic programming approach to evolve fast and high-quality hash functions for common processors. The search algorithm simultaneously optimizes the quality of hashing and the execution time. As it is very time consuming to obtain the real execution time for a candidate solution on a particular processor, the execution time is estimated in the fitness function. In order to demonstrate the superiority of the proposed approach, evolved hash functions are compared with hash functions available in the literature using real-world network data.

[1]  Pedro Isasi Viñuela,et al.  Evolving hash functions by means of genetic programming , 2006, GECCO '06.

[2]  Marco Platzner,et al.  EvoCaches: Application-specific Adaptation of Cache Mappings , 2009, 2009 NASA/ESA Conference on Adaptive Hardware and Systems.

[3]  Mihai Oltean,et al.  A Comparison of Several Linear Genetic Programming Techniques , 2003, Complex Syst..

[4]  Ted G. Lewis,et al.  Hash Table Methods , 1975, CSUR.

[5]  Wolfgang Banzhaf,et al.  A Comparison of Cartesian Genetic Programming and Linear Genetic Programming , 2008, EuroGP.

[6]  W. Banzhaf,et al.  1 Linear Genetic Programming , 2007 .

[7]  Pascal Bouvry,et al.  Hash function generation by means of Gene Expression Programming , 2012 .

[8]  Lukás Sekanina,et al.  Evolutionary Design of Fast High-quality Hash Functions for Network Applications , 2016, GECCO.

[9]  Donald E. Knuth The Art of Computer Programming, Volume 1, Fascicle 1: MMIX -- A RISC Computer for the New Millennium (Art of Computer Programming) , 2005 .

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

[11]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

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

[13]  Lukás Sekanina,et al.  Adaptive development of hash functions in FPGA-based network routers , 2016, 2016 IEEE Symposium Series on Computational Intelligence (SSCI).

[14]  Mengjie Zhang,et al.  New crossover operators in linear genetic programming for multiclass object classification , 2010, GECCO '10.

[15]  Radim Burget,et al.  Towards an automatic design of non-cryptographic hash function , 2011, 2011 34th International Conference on Telecommunications and Signal Processing (TSP).

[16]  Philippe Collard,et al.  Maximum Homologous Crossover for Linear Genetic Programming , 2003, EuroGP.

[17]  Zheng Wang,et al.  Flow identification for supporting per-flow queueing , 2000, Proceedings Ninth International Conference on Computer Communications and Networks (Cat.No.00EX440).

[18]  Pedro Isasi Viñuela,et al.  Finding State-of-the-Art Non-cryptographic Hashes with Genetic Programming , 2006, PPSN.