정확 문자열 매칭 성능 향상을 위한 혁신적 병렬 플랫폼
초록
본 논문은 MPI 기반 마스터‑슬레이브 모델을 이용해 텍스트를 다수의 조각으로 분할하고 동시에 처리함으로써 기존 정확 문자열 매칭 알고리즘의 실행 시간을 크게 단축시키는 PXSMAlg 플랫폼을 제안한다. Quick Search 알고리즘을 적용한 실험 결과, 플랫폼 적용 시 실행 시간이 현저히 감소함을 확인하였다.
상세 분석
PXSMAlg 플랫폼은 정확 문자열 매칭(Exact String Matching, ESM) 문제의 근본적인 병목 현상인 선형 탐색 시간을 MPI(Message Passing Interface) 기반의 병렬 처리 구조로 해소한다. 텍스트 전체를 동일한 크기의 블록으로 나누어 각 슬레이브 프로세스에 할당하고, 마스터 프로세스는 작업 분배와 결과 수집을 담당한다. 이때 블록 경계에서 발생할 수 있는 매칭 누락을 방지하기 위해 각 슬레이브는 자신의 블록 앞뒤에 패턴 길이‑1 만큼의 오버랩 영역을 추가로 로드한다. 이러한 설계는 패턴이 블록 경계에 걸쳐 있더라도 정확히 탐지할 수 있게 하며, 오버랩 데이터 전송 비용은 전체 데이터 양에 비해 미미하다.
통신 모델은 비동기적 MPI_Send와 MPI_Recv를 활용해 마스터와 슬레이브 간의 데이터 흐름을 최소화한다. 슬레이브는 자체적으로 매칭을 수행한 뒤 매칭 위치를 로컬 인덱스로 반환하고, 마스터는 이를 전역 인덱스로 변환해 최종 결과를 조합한다. 이 과정에서 발생하는 통신 오버헤드는 프로세스 수가 증가함에 따라 선형적으로 증가하지만, 텍스트 크기가 충분히 클 경우 계산 비용이 통신 비용을 압도하므로 전체 스루풋은 크게 향상된다.
실험에서는 대표적인 문자열 매칭 알고리즘인 Quick Search를 선택해 PXSMAlg에 적용하였다. Quick Search는 패턴의 마지막 문자와 텍스트의 현재 문자 비교를 기반으로 이동 거리를 결정하는 단순하면서도 효율적인 알고리즘이다. 이를 병렬화함으로써 각 슬레이브는 독립적인 서브 텍스트에 대해 Quick Search를 수행하고, 마스터는 결과를 집계한다. 실험 결과, 프로세스 수가 2배, 4배, 8배로 증가할 때 각각 약 1.9배, 3.7배, 7.2배의 속도 향상이 관찰되었으며, 이는 이론적인 선형 확장에 근접한 성능을 보여준다.
하지만 플랫폼에는 몇 가지 한계점도 존재한다. 첫째, 텍스트가 매우 작거나 패턴이 매우 짧은 경우 오버랩 및 통신 비용이 계산 이득을 상쇄할 수 있다. 둘째, 마스터 프로세스가 결과 집계와 인덱스 변환에 집중되면서 병목이 발생할 가능성이 있다. 셋째, 현재 구현은 정적 작업 분할 방식을 사용하므로 각 슬레이브의 처리 속도가 균일하지 않을 경우 부하 불균형이 나타날 수 있다. 이러한 문제를 해결하기 위해 동적 작업 스케줄링, 비동기 집계, 그리고 하이브리드 MPI‑OpenMP 모델을 도입하는 것이 향후 연구 과제로 제시된다.
전반적으로 PXSMAlg은 기존 ESM 알고리즘을 손쉽게 병렬화할 수 있는 범용 프레임워크를 제공하며, 특히 대용량 텍스트 데이터베이스, 로그 분석, 바이오인포매틱스 등 실시간 혹은 배치 처리에서 높은 성능을 요구하는 분야에 적용 가능성이 크다.
댓글 및 학술 토론
Loading comments...
의견 남기기