• Title/Summary/Keyword: KMP algorithm

Search Result 4, Processing Time 0.015 seconds

High Throughput Parallel KMP Algorithm Considering CPU-GPU Memory Hierarchy (CPU-GPU 메모리 계층을 고려한 고처리율 병렬 KMP 알고리즘)

  • Park, Soeun;Kim, Daehee;Lee, Myungho;Park, Neungsoo
    • The Transactions of The Korean Institute of Electrical Engineers
    • /
    • v.67 no.5
    • /
    • pp.656-662
    • /
    • 2018
  • Pattern matching algorithm is widely used in many application fields such as bio-informatics, intrusion detection, etc. Among many string matching algorithms, KMP (Knuth-Morris-Pratt) algorithm is commonly used because of its fast execution time when using large texts. However, the processing speed of KMP algorithm is also limited when the text size increases significantly. In this paper, we propose a high throughput parallel KMP algorithm considering CPU-GPU memory hierarchy based on OpenCL in GPGPU (General Purpose computing on Graphic Processing Unit). We focus on the optimization for the allocation of work-times and work-groups, the local memory copy of the pattern data and the failure table, and the overlapping of the data transfer with the string matching operations. The experimental results show that the execution time of the optimized parallel KMP algorithm is about 3.6 times faster than that of the non-optimized parallel KMP algorithm.

String Matching Algorithm on Multi-byte Character Set Texts (다중바이트 문자집합 텍스트에서의 문자열 검색 알고리즘)

  • Kim, Eun-Sang;Kim, Jin-Wook;Park, Kun-Soo
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.16 no.10
    • /
    • pp.1015-1019
    • /
    • 2010
  • An extensive research on exact string matching has been done, but there have been few researches on the matching in multi-byte character set texts such as EUC~KR. This paper shows that false matches may occur in multi-byte character set texts such as EUC-KR when using KMP algorithm, and presents a refined KMP algorithm without false matches applying a character-based prefix function. And also, Experimental results show that our algorithm is faster than string matching algorithms of widely used editors, Vim and Emacs, and the existing automata-based algorithm.

Suffix Tree Constructing Algorithm for Large DNA Sequences Analysis (대용량 DNA서열 처리를 위한 서픽스 트리 생성 알고리즘의 개발)

  • Choi, Hae-Won
    • Journal of Korea Society of Industrial Information Systems
    • /
    • v.15 no.1
    • /
    • pp.37-46
    • /
    • 2010
  • A Suffix Tree is an efficient data structure that exposes the internal structure of a string and allows efficient solutions to a wide range of complex string problems, in particular, in the area of computational biology. However, as the biological information explodes, it is impossible to construct the suffix trees in main memory. We should find an efficient technique to construct the trees in a secondary storage. In this paper, we present a method for constructing a suffix tree in a disk for large set of DNA strings using new index scheme. We also show a typical application example with a suffix tree in the disk.

Version Control System for BIM-based Collaborative Architectural Design (BIM 기반의 협력적인 건축 설계를 위한 Version Control 시스템)

  • Bae, Hong-Min;Kim, Byung-Seo;Chung, Jae-Hee
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.17 no.3
    • /
    • pp.275-282
    • /
    • 2017
  • Revit program is one of the architectural design programs based on the BIM (Building Information Modeling) technology, which is attracting attention as a next-generation three-dimensional architectural design technique. Revit is a program that enhances the information input side and makes it easy to understand components by making it an object called an information family of components from the design stage, but there is no program that easily compares the drawing output files extracted from this program. It is difficult to analyze the changes to the same drawings modified at the time of collaboration and easily share the drawing information. In this paper, we propose and implement a version management system for the output files on the same drawing, so that the parallel collaboration work of output drawing files through Revit can be efficiently performed. We propose an improved KMP algorithm.