5 research outputs found

    A New Multi-threaded and Interleaving Approach to Enhance String Matching for Intrusion Detection Systems

    Get PDF
    String matching algorithms are computationally intensive operations in computer science. The algorithms find the occurrences of one or more strings patterns in a larger string or text. String matching algorithms are important for network security, biomedical applications, Web search, and social networks. Nowadays, the high network speeds and large storage capacity put a high requirement on string matching methods to perform the task in a short time. Traditionally, Aho-Corasick algorithm, which is used to find the string matches, is executed sequentially. In this paper, a new multi-threaded and interleaving approach of Aho-Corasick using graphics processing units (GPUs) is designed and implemented to achieve high-speed string matching. Compute Unified Device Architecture (CUDA) programming language is used to implement the proposed parallel version. Experimental results show that our approach achieves more than 5X speedup over the sequential and other parallel implementations. Hence, a wide range of applications can benefit from our solution to perform string matching faster than ever before

    Computação paralela utilizando GPU na análise de redes de Petri IOPT

    Get PDF
    O principal objetivo desta dissertação é melhorar o tempo de execução na construção do espaço de estados associado a um modelo de rede de Petri Input-Output Place-Transition (IOPT), utilizando computação paralela numa Graphics Processing Unit (GPU) instalada no computador com um servidor de IOPT-Tools em execução, permitindo o processamento descrito. Os modelos de sistema de controlo desenvolvidos em Rede de Petri (RdP) podem ser muito complexos, o que pode tornar de difícil compreensão o seu comportamento. Devido à variedade e à dimensão das redes, os sistemas desenvolvidos em RdP podem apresentar um grafo associado de espaço de estados com muitos nós e arcos, tornando-se um problema sobre o ponto de vista computacional quando se pretende realizar a verificação das propriedades do modelo. Isto porque, na construção do grafo do espaço de estados pode ocorrer uma explosão do número de estados, ou seja, o grafo pode ser tão grande que dificulta a procura e análise de todos os estados que o modelo pode alcançar. Com a utilização da GPU pode-se contribuir para mitigar este problema, aumentando o desempenho no processamento da construção do espaço de estados. O algoritmo implementado para o processamento da construção do espaço de estados utilizando GPU é adaptação do código gerado automaticamente pela plataforma IOTP-Tools. Para executar o algoritmo é usada a Compute Unified Device Architecture (CUDA) da NVidia. A CUDA permite executar o algoritmo em Central Processing Unit (CPU) e Graphics Processing Unit (GPU). A parte sequencial do algoritmo é executada na CPU e a parte do processamento intensivo, ou seja, o tratamento dos estados não processados é executada na GPU
    corecore