We are currently doing research on Network Intrusion Detection System (NIDS) on graphics hardware (Tesla). The idea is to port Aho-Corasic Multi string searching algorithm on GPU using CUDA. I would like to know if someone in the forum has done something similar to this.
It sounds a bit like this since you’re talking about Aho Corasic. But what kind of scope does your data and dictionary have? Something like “we want to pump a 1GB/sec stream through the GPU and detect all occurrences of any of 20,000 known substrings of length 40-100.?” Is the dictionary dynamic? Is it fixed strings or are wildcards allowed? (Probably not if you’re using AC).
A paper reference or two would be interesting, even if it’s not about a GPU version.
Basically, we are trying to replace the source code of searching algorithm for open Source SNORT Network Intrusion detection system by the CUDA version that we plan to run on NVIDIA GPUs. My technical team is facing problem in editting the source code of SNORT so that the new CUDA code could be replaced by the earlier one.
Any pointers in this regard??
Further here is a reference that I found recently GNort
We are doing same project…so far we have understood the snort architecture and some of the codes in cuda as well as
we implemented aho curosick in vc++.Now the task left is to convert this aho curosick code into cuda working code…If you done with it,
then please mail me at firstname.lastname@example.org.
i am also trying to implement aho corasick algorithm on gpu , actually i want to modify its data structure such that it will access global memory very few tim plus i will try to improve the algorithm.
if any one has done something previously in this area then plz send me material it will great help.