• 제목/요약/키워드: KMP algorithm

검색결과 4건 처리시간 0.017초

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

  • 박소은;김대희;이명호;박능수
    • 전기학회논문지
    • /
    • 제67권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)

  • 김은상;김진욱;박근수
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제16권10호
    • /
    • pp.1015-1019
    • /
    • 2010
  • 문자열 완전일치 검색 알고리즘용 지금까지 많은 연구가 되어왔지만, EUC-KR 용 다중바이트 문자집합에 대해서는 연구원 것이 부족한 상황이다. 이 논문에서는 기존의 KMP 알고리즘을 사용할 때 EUC-KR과 같은 다중바이트 문자집합 텍스트에서 오검색이 발생할 수 있음을 보이며, 문자 단위의 접두사 함수를 적용하여 오검색이 발생하지 않도록 개선한 KMP 알고리즘을 제안한다. 또한, 널리 사용되고 있는 편집기인 Vim과 Emacs의 검색 알고리즘 및 기존의 오토마타 방식의 연구 결과에 비해 논문에서 제안한 알고리즘이 더 빠른 속도를 보이는 실험 결과를 제시한다.

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

  • 최해원
    • 한국산업정보학회논문지
    • /
    • 제15권1호
    • /
    • pp.37-46
    • /
    • 2010
  • 서픽스 트리는 데이터의 내부구조를 자세히 나타내고 선형시간 탐색이 가능한 효과적인 자료구조로서 DNA 서열분석 등에 유용하다. 그러나 서열을 서픽스 트리로 구축하는 경우 트리의 크기가 원본의 최소 30배 이상으로 커지므로 테라바이트(TB)급의 대용량 DNA 서열의 경우에 메모리상의 응용은 매우 어려운 문제점이 있다. 이에 본 논문에서는 디스크를 이용한 대용량 DNA의 서픽스 트리 응용기법을 제시한다. 이때 DNA 서열구조를 고려한 서픽스 트리 선형 탐색 특성 유지를 보장한다. 이를 검증하기 위하여 9G Byte의 유전자 단편 서열을 이용해 424G Byte의 서픽스 트리를 디스크에 구축한 다음, 임의의 질의 서열에 대해 KMP알고리즘과 비교한 결과 질의 응답시간에서 우수한 성능을 보였다.

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

  • 배홍민;김병서;정재희
    • 한국인터넷방송통신학회논문지
    • /
    • 제17권3호
    • /
    • pp.275-282
    • /
    • 2017
  • 차세대 3차원 건축설계 기법으로 각광받고 있는 BIM(Building Information Modeling)기술을 기반으로 하는 건축 설계 프로그램 중 대표적인 프로그램으로 Revit 프로그램이 있다. Revit은 정보 입력 측면을 강화시켜 설계 단계에서부터 구성요소의 정보 패밀리라는 오브젝트로 만들어 알기 쉽게 구성 요소를 파악 할 수 있는 프로그램이나, 이 프로그램에서 추출된 도면 출력파일들을 쉽게 비교하는 프로그램이 전무하고, 이로 인하여 협업 시에 수정된 동일 도면들에 대한 변경 내용의 분석이나 도면 정보의 손쉬운 공유가 어려운 점이 문제로 대두되고 있다. 이에 본 논문에서는 Revit을 통한 출력 도면 파일들의 병렬적 협력 작업이 효율적으로 이루어지도록 하기 위하여 동일 도면에 출력 파일들에 대한 버전 관리 시스템의 제안 및 구현을 하였으며 다른 버전 도면 파일들 간의 수정 부분을 검출하기 위한 개선된 KMP알고리듬을 제안한다.