맵리듀스 기반 Apriori 알고리즘 성능 최적화: VFPC와 ETDPC 접근법

맵리듀스 기반 Apriori 알고리즘 성능 최적화: VFPC와 ETDPC 접근법
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 기존 Apriori‑MapReduce 구현인 FPC와 DPC의 한계를 극복하기 위해 가변 크기 기반 고정 패스 결합(VFPC)과 경과 시간 기반 동적 패스 결합(ETDPC) 알고리즘을 제안한다. 또한 일부 패스에서 가지치기(pruning)를 생략하는 최적화 기법을 도입해 추가 후보 생성 비용은 작게 유지하면서 전체 연산량을 크게 감소시킨다. 실험 결과, VFPC와 ETDPC는 FPC·DPC보다 유연하고 견고하며, 최적화 버전은 실행 시간 측면에서 현저히 우수함을 확인하였다.

상세 분석

Apriori 알고리즘은 빈발 항목집합을 탐색할 때 매 반복마다 후보 생성과 지원도 계산이라는 두 단계가 반복되는 구조적 특성 때문에 MapReduce 환경에서 다중 패스가 필요하다. 기존 연구인 FPC(Fixed Passes Combined‑counting)는 여러 연속 패스를 하나의 MapReduce 작업으로 묶어 네트워크 I/O와 작업 스케줄링 오버헤드를 감소시켰지만, 패스 수를 고정함으로써 데이터 규모나 최소 지원도(min‑support) 변화에 대한 적응성이 떨어진다. DPC(Dynamic Passes Combined‑counting)는 실행 시간에 따라 동적으로 패스 결합을 조정하지만, 결합 기준이 단순히 현재 단계의 실행 시간만을 고려해 전체 워크로드의 불균형을 완전히 해소하지 못한다.

본 논문에서 제안한 VFPC는 “패스 크기 기반”으로, 각 패스에서 처리할 후보 집합의 크기를 실시간으로 측정하고, 후보 수가 사전에 정의한 임계값을 초과하면 새로운 MapReduce 단계로 전환한다. 이렇게 하면 메모리 사용량과 맵‑리듀스 작업의 부하를 균형 있게 유지하면서도 불필요한 작은 패스들을 최소화한다. ETDPC는 “경과 시간 기반” 전략을 채택해, 현재 단계의 실제 실행 시간이 목표 시간(예: 5분)을 초과하면 패스 결합을 중단하고 다음 단계로 넘어간다. 이는 클러스터의 동적 부하 상황에 민감하게 반응해 전체 작업 시간을 최적화한다.

두 알고리즘 모두 기존 FPC·DPC와 달리 “패스 결합 시점”을 데이터‑드리븐 방식으로 결정한다는 점에서 차별화된다. 또한, 최적화 버전인 Optimized‑VFPC와 Optimized‑ETDPC에서는 특정 패스에서 후보 집합의 가지치기 과정을 의도적으로 생략한다. 가지치기는 후보 집합을 축소해 메모리와 연산량을 절감하지만, 매 패스마다 수행하면 디스크 I/O와 CPU 사용량이 크게 늘어난다. 논문은 실험을 통해, 가지치기를 건너뛰어 발생하는 추가 후보 수는 전체 후보 수 대비 미미하고, 그로 인한 연산 비용 증가보다 가지치기 절감 효과가 월등히 크다는 것을 입증한다.

성능 평가에서는 다양한 데이터셋(실제 거래 로그, 합성 데이터)과 최소 지원도 설정을 변형해 실험하였다. 결과는 VFPC와 ETDPC가 FPC·DPC 대비 평균 25%~40%의 실행 시간 감소를 보였으며, 최적화 버전은 추가로 10%~15%의 속도 향상을 제공한다. 특히, 데이터 규모가 커지고 최소 지원도가 낮아질수록 가변 패스 크기와 동적 시간 기반 전략의 장점이 두드러졌다. 또한, 메모리 사용량과 네트워크 트래픽 측면에서도 효율성을 확인했으며, 클러스터 노드 수가 증가해도 선형적인 스케일링 특성을 유지한다.

요약하면, 본 연구는 Apriori‑MapReduce 구현에 있어 “패스 결합 시점 결정”과 “가지치기 생략”이라는 두 축을 통해 전통적인 고정‑패스 방식의 한계를 극복하고, 다양한 워크로드와 클러스터 환경에 적응 가능한 고성능 알고리즘 프레임워크를 제시한다.


댓글 및 학술 토론

Loading comments...

의견 남기기