ABSTRACT
High speed networks operating at 100 Gbps pose many challenges for hardware and software involved in the packet processing. As the time to process one packet is very short the corresponding operations have to be optimized in terms of the execution time. One of them is non-cryptographic hashing implemented in order to accelerate traffic flow identification. In this paper, a method based on linear genetic programming is presented, which is capable of evolving high-quality hash functions primarily optimized for speed. Evolved hash functions are compared with conventional hash functions in terms of accuracy and execution time using real network data.
- Murmur hash functions. https://github.com/aappleby/smhasher.Google Scholar
- Secure hashing. http://csrc.nist.gov/groups/ST/toolkit/secure_hashing.html.Google Scholar
- A. V. Aho, R. Sethi, and J. D. Ullman. Compilers, Principles, Techniques. Addison Wesley, 1986. Google ScholarDigital Library
- D. J. Bernstein. Mathematics and computer science. https://cr.yp.to/djb.html.Google Scholar
- M. Brameier and W. Banzhaf. Linear genetic programming. Springer, New York, 2007. Google ScholarDigital Library
- Z. Cao and Z. Wang. Flow identification for supporting per-flow queueing. In Proc. of the Ninth International Conference on Computer Communications and Networks, pages 88--93. IEEE, 2000.Google Scholar
- M. Defoin Platel, M. Clergue, and P. Collard. Maximum homologous crossover for linear genetic programming. In Genetic Programming, volume 2610 of Lecture Notes in Computer Science, pages 194--203. Springer Berlin Heidelberg, 2003. Google ScholarDigital Library
- R. Dobai and J. Korenek. Evolution of non-cryptographic hash function pairs for fpga-based network applications. In 2015 IEEE Symposium Series on Computational Intelligence, pages 1214--1219. IEEE, 2015.Google ScholarCross Ref
- C. Downey, M. Zhang, and W. N. Browne. New crossover operators in linear genetic programming for multiclass object classification. In Proceedings of the 12th annual conference on Genetic and evolutionary computation, pages 885--892. ACM, 2010. Google ScholarDigital Library
- C. Estebanez, J. C. Hernandez-Castro, A. Ribagorda, and P. Isasi. Evolving hash functions by means of genetic programming. In Proceedings of the 8th annual conference on Genetic and evolutionary computation, pages 1861--1862. ACM, 2006. Google ScholarDigital Library
- C. Estébanez, J. C. Hernández-Castro, A. Ribagorda, and P. Isasi. Finding state-of-the-art non-cryptographic hashes with genetic programming. In Parallel Problem Solving from Nature-PPSN IX, pages 818--827. Springer, 2006. Google ScholarDigital Library
- G. Fowler, P. Vo, and L. C. Noll. FVN Hash. http://www.isthe.com/chongo/tech/comp/fnv/.Google Scholar
- B. Jenkins. A hash function for hash table lookup. http://www.burtleburtle.net/bob/hash/doobs.html.Google Scholar
- J. Karasek, R. Burget, and O. Morsky. Towards an automatic design of non-cryptographic hash function. In 34th International Conference on Telecommunications and Signal Processing (TSP), pages 19--23. IEEE, 2011.Google ScholarCross Ref
- P. Kaufmann, C. Plessl, and M. Platzner. EvoCaches: Application-specific Adaptation of Cache Mappings. In Adaptive Hardware and Systems (AHS), pages 11--18. IEEE CS, 2009. Google ScholarDigital Library
- L. Kekely, J. Kucera, V. Pus, J. Korenek, and A. Vasilakos. Software defined monitoring of application protocols. IEEE Transactions on Computers, 65(2):615--626, 2016. Google ScholarDigital Library
- D. E. Knuth. The art of computer programming (volume 3). 1973.Google Scholar
- E. Lusk, S. Huss, B. Saphir, and M. Snir. MPI: A message-passing interface standard, 2009.Google Scholar
- W. Mao. Modern cryptography: theory and practice. Prentice Hall Professional Technical Reference, 2003. Google ScholarDigital Library
- W. D. Maurer and T. G. Lewis. Hash table methods. ACM Computing Surveys (CSUR), 7(1):5--19, 1975. Google ScholarDigital Library
- M. Oltean and C. Grosan. A comparison of several linear genetic programming techniques. Complex Systems, 14(4):285--314, 2003.Google Scholar
- R. Pagh and F. F. Rodler. Cuckoo hashing. In Algorithms - ESA 2001, LNCS 2161, pages 121--133. Springer, 2001. Google ScholarDigital Library
- G. Pike and J. Alakuijala. Introducing cityhash, 2011.Google Scholar
- A. Tongaonkar, R. Keralapura, and A. Nucci. Challenges in network application identification. In Presented as part of the 5th USENIX Workshop on Large-Scale Exploits and Emergent Threats, Berkeley, CA, 2012. USENIX. Google ScholarDigital Library
- S. Varrette, J. Muszynski, and P. Bouvry. Hash function generation by means of gene expression programming. Annales UMCS, Informatica, 12(3):37--53, 2013.Google Scholar
- H. Widiger, R. Salomon, and D. Timmermann. Packet classification with evolvable hardware hash functions - an intrinsic approach. In Second International Workshop on Biologically Inspired Approaches to Advanced Information Technology, BioADIT 2006, pages 64--79, 2006. Google ScholarDigital Library
- G. Wilson and W. Banzhaf. A comparison of cartesian genetic programming and linear genetic programming. In Genetic Programming, volume 4971 of Lecture Notes in Computer Science, pages 182--193. Springer, 2008. Google ScholarDigital Library
Index Terms
Evolutionary Design of Fast High-quality Hash Functions for Network Applications
Recommendations
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 ...
Non-crypto Hardware Hash Functions for High Performance Networking ASICs
ANCS '11: Proceedings of the 2011 ACM/IEEE Seventh Symposium on Architectures for Networking and Communications SystemsHash functions are vital in networking. Hash-based algorithms are increasingly deployed in mission-critical, high speed network devices. These devices will need small, quick, hardware hash functions to keep up with Internet growth. There are many ...
Evolutionary hash functions for specific domains
AbstractHash functions are a key component of many essential applications, ranging from compilers, databases or internet browsers to videogames or network devices. The same reduced set of functions are extensively used and have become “...
Graphical abstractDisplay Omitted
Highlights- We propose an automatic technique able to program tailor-made hash functions.
- ...
Comments