공유 메모리 병렬 시스템에서 위상 연산 기반 이미지 얇게 만들기
초록
본 논문은 그레이스케일 영상의 위상 구조를 보존하면서 직접 얇게 만드는(top‑thin) 연산자를 공유 메모리 SMP 환경에 효율적으로 병렬화한 방법을 제시한다. Split‑Distribute‑Merge(SDM) 전략과 데이터·스레드 혼합 병렬성을 결합해 λ‑레벨링·스켈레톤화·크레스트 복원 등 다양한 위상 연산에 적용 가능하도록 설계하였다. 8코어 Xeon 기반 실험에서 6.2배 가속과 초당 125프레임 처리 속도를 달성하였다.
상세 분석
이 연구는 위상학적 이미지 얇게 만들기 연산자를 병렬화함에 있어 두 가지 핵심 아이디어를 도입한다. 첫 번째는 Split‑Distribute‑Merge(SDM) 전략으로, 입력 영상을 일정 크기의 블록으로 분할(split)한 뒤 각 블록을 독립적인 작업 단위로 배정(distribute)하고, 연산이 끝난 후 결과를 병합(merge)한다. 이 과정에서 블록 경계에서 발생할 수 있는 위상 불일치를 최소화하기 위해 겹침 영역(overlap region)을 설정하고, 경계 조건을 명시적으로 처리한다. 두 번째는 데이터 병렬성과 스레드 병렬성을 혼합한 mixed parallelism이다. 데이터 병렬성은 각 블록 내 픽셀에 대한 연산을 SIMD 스타일로 수행하게 하며, 스레드 병렬성은 블록 단위 작업을 다수의 워커 스레드에 동적으로 할당한다. 특히, 얇게 만들기 과정은 반복적인 라벨링과 조건 검사로 구성되는데, 이때 스레드 수를 입력 이미지의 복잡도와 현재 라벨 수에 따라 가변적으로 조정함으로써 부하 균형(load balancing)을 강화한다.
알고리즘 자체는 λ‑레벨링, 스켈레톤화, 크레스트 복원 등 위상 보존을 요구하는 여러 연산에 공통적으로 적용될 수 있는 일반화된 토폴로지 연산자를 기반으로 한다. 연산자는 그레이스케일 값의 차이를 이용해 픽셀을 삭제하거나 유지하는 규칙을 정의하고, 삭제가 위상(연결성, 구멍, 고리 등)에 미치는 영향을 사전에 검증한다. 이러한 규칙은 전통적인 이진 이미지 얇게 만들기와 달리 그레이스케일 레벨을 직접 다루어 정보 손실을 최소화한다.
성능 평가에서는 512×512 크기의 2D 그레이스케일 이미지에 대해 8코어 Xeon E5405(2 GHz) SMP 머신에서 실험하였다. 실험 결과, 단일 스레드 구현 대비 평균 6.2배 가속을 달성했으며, 최대 125이미지/초의 처리 속도를 기록하였다. 이는 메모리 대역폭과 캐시 일관성 비용을 최소화하도록 설계된 작업 스케줄링과, 블록 경계에서의 최소화된 동기화 오버헤드 덕분이다. 또한, 스레드 수를 동적으로 조절함으로써 작업량이 불균형한 경우에도 높은 효율을 유지하였다.
한계점으로는 블록 크기 선택이 성능에 큰 영향을 미치며, 매우 큰 이미지나 고해상도 3D 볼륨에 적용할 경우 메모리 사용량과 경계 처리 비용이 급증할 수 있다. 향후 연구에서는 자동 블록 크기 튜닝, NUMA 친화적 메모리 배치, 그리고 GPU와 같은 이종 컴퓨팅 자원을 활용한 하이브리드 병렬화 방안을 모색할 필요가 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기