[논문 리뷰] RECEIPT: REfine CoarsE-grained IndePendent Tasks for Parallel Tip decomposition of Bipartite Graphs
RECEIPT는 공유 메모리 병렬 알고리즘으로, 이원 그래프의 톱 분해를 위해 서로 다른 톱 수준에서의 정점 독립 부분집합을 활용하여 높은 병렬성과 극적으로 감소된 동기화 오버헤드를 달성한다. 대규모 데이터셋에서 기존 최고 수준의 방법에 비해 최대 17.1배의 자기 상대적 속도 향상을 이룩하고, 와이어지( wedge ) 탐색 횟수를 64배 감소시키며 스레드 동기화 횟수를 1100배 감소시킨다.
Tip decomposition is a crucial kernel for mining dense subgraphs in bipartite networks, with applications in spam detection, analysis of affiliation networks etc. It creates a hierarchy of vertex-induced subgraphs with varying densities determined by the participation of vertices in butterflies (2,2-bicliques). To build the hierarchy, existing algorithms iteratively follow a delete-update(peeling) process: deleting vertices with the minimum number of butterflies and correspondingly updating the butterfly count of their 2-hop neighbors. The need to explore 2-hop neighborhood renders tip-decomposition computationally very expensive. Furthermore, the inherent sequentiality in peeling only minimum butterfly vertices makes derived parallel algorithms prone to heavy synchronization. In this paper, we propose a novel parallel tip-decomposition algorithm -- REfine CoarsE-grained Independent Tasks (RECEIPT) that relaxes the peeling order restrictions by partitioning the vertices into multiple independent subsets that can be concurrently peeled. This enables RECEIPT to simultaneously achieve a high degree of parallelism and dramatic reduction in synchronizations. Further, RECEIPT employs a hybrid peeling strategy along with other optimizations that drastically reduce the amount of wedge exploration and execution time. We perform detailed experimental evaluation of RECEIPT on a shared-memory multicore server. It can process some of the largest publicly available bipartite datasets orders of magnitude faster than the state-of-the-art algorithms -- achieving up to 1100x and 64x reduction in the number of thread synchronizations and traversed wedges, respectively. Using 36 threads, RECEIPT can provide up to 17.1x self-relative speedup. Our implementation of RECEIPT is available at https://github.com/kartiklakhotia/RECEIPT.
연구 동기 및 목표
- 최소 버터플라이 정점의 순차적 제거에 의존하는 기존 순차적 및 병렬 톱 분해 알고리즘의 확장성 한계를 해결하기 위해.
- 대규모 그래프에서 트리플렛 수조 개 이상의 와이어지를 탐색하는 2-hop 이웃 탐색의 높은 계산 비용을 줄이기 위해.
- 제거 과정의 본질적 순차성로 인해 확장성에 장애를 주는 병렬 구현에서의 스레드 동기화 오버헤드를 최소화하기 위해.
- 공유 메모리 다중코어 시스템을 활용해 대규모 이원 그래프에서 효율적이고 확장 가능하며 실용적인 톱 분해를 가능하게 하기 위해.
- 이러한 접근 방식이 워킹 디컴포지션 및 분산 메모리 실행과 같은 다른 그래프 분석 문제로의 일반화 가능성 탐색을 위해.
제안 방법
- 이원 그래프를 수신하고, 정점들을 톱 수준에 따라 독립 부분집합으로 분할하여 k-톱 계층의 서로 다른 수준에서 동시 제거를 가능하게 한다.
- 거시적 독립 작업 스케줄링과 미세 조절 최적화를 조합한 하이브리드 제거 전략을 적용하여 와이어지 탐색을 줄이고 부하 균형을 향상시킨다.
- 새로운 색인 체계를 사용하여 버터플라이 수를 사전 계산하고 제거 중 2-hop 이웃 갱신을 효율적으로 지원함으로써 중복 계산을 최소화한다.
- 예상 계산 비용을 기반으로 스레드 간 제거 작업 할당을 동적으로 수행하는 작업 스케줄링 메커니즘을 도입하여 부하 불균형을 감소시킨다.
- 메모리 액세스 최적화를 적용하고 SIMD 병렬성을 활용하여 공유 메모리 실행에서의 데이터 국소성 향상과 NUMA 영향 감소를 도모한다.
- 동일한 작업 독립성 및 최적화 원칙을 확장하여 정점 제거(톱 분해)와 엣지 제거(윙 분해)를 모두 지원한다.
실험 결과
연구 질문
- RQ1서로 다른 톱 수준에서 정점의 독립 부분집합을 식별하고 병렬로 처리하여 톱 분해의 순차적 제거 병목 현상을 해결할 수 있는가?
- RQ2지능적인 워크로드 분할과 하이브리드 제거 전략을 통해 병렬 톱 분해에서 와이어지 탐색과 스레드 동기화를 얼마나 줄일 수 있는가?
- RQ3기존 병렬 알고리즘 대비 대규모 이원 그래프에서 스레드 수 증가에 따라 RECEIPT의 성능가 어떻게 확장되는가?
- RQ4제안된 최적화 기법이 워킹 디컴포지션 또는 분산 메모리 실행과 같은 다른 그래프 분석 문제로 일반화될 수 있는가?
- RQ5대규모 톱 분해의 공유 메모리 환경에서 알고리즘 복잡도, 메모리 사용량, 성능 간의 상호 상충 관계는 어떠한가?
주요 결과
- RECEIPT는 공유 메모리 다중코어 서버에서 36개 스레드를 사용해 최대 17.1배의 자기 상대적 속도 향상을 달성하여 기존 병렬 알고리즘을 크게 앞서간다.
- LiveJournal 데이터셋에서 RECEIPT는 톱 분해를 16분 이내로 완료했고, 최고의 순차 알고리즘(Bit-BU)은 15시간 이상 소요되었다.
- RECEIPT는 최고 수준의 병렬 알고리즘 대비 스레드 동기화 횟수를 최대 1100배 감소시키며, 와이어지 탐색 횟수를 최대 64배 감소시켰다.
- 비트 기반 색인 방법(Bit-BU)이 요구하는 수백 GB가 필요한 것과는 달리 RECEIPT는 몇 GB의 메모리만 소비한다.
- 하이브리드 제거 전략과 워크로드 분할이 2-hop 이웃 탐색의 계산 비용을 크게 감소시켜 톱 분해의 주요 성능 병목 요소를 해소한다.
- RECEIPT의 설계는 병렬 워킹 디컴포지션 및 분산 메모리 시스템으로도 확장 가능하며, 미세 조절 병렬성과 통신 인지 작업 스케줄링을 통해 향후 확장성 향상이 가능하다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.