Implementation and analysis of a parallel suffix tree construction algorithm using TBB and Cilk Plus

TBB, Cilk Plus를 이용한 병렬 접미사 트리 생성 알고리즘 구현 및 성능 분석

  • Seo, Jun-Ho (Department of Computer Science & Engineering, Sejong University) ;
  • Na, Joong-Chae (Department of Computer Science & Engineering, Sejong University)
  • 서준호 (세종대학교 컴퓨터공학과) ;
  • 나중채 (세종대학교 컴퓨터공학과)
  • Published : 2012.06.22

Abstract

접미사 트리는 문자열 압축, 텍스트 처리, 생물정보학 등 다양한 응용 분야에서 사용되는 인덱스 자료구조이다. 최근 64bit 하드웨어와 멀티코어 CPU가 보급됨에 따라 메모리상에서 병렬로 접미사 트리를 생성하는 알고리즘이 활발히 연구되고 있다. 본 논문에서는 McCreight의 선형시간 알고리즘과 Chen의 병렬 알고리즘을 기반으로 메모리상에서 접미사 트리를 병렬로 생성하는 구현 방법을 보였으며, TBB, Cilk Plus와 같은 병렬 프로그래밍 라이브러리를 이용하여 병렬 알고리즘을 구현하였다. 알고리즘 실험 결과 병렬로 수행한 알고리즘이 직렬로 수행한 결과보다 최대 4배 가량 성능 향상을 얻을 수 있었으며, 병렬 라이브러리를 사용함으로써 가지는 오버헤드는 극히 적은 것으로 나타났다.

Keywords

Acknowledgement

Supported by : 한국연구재단