Skip to main content
QUICK REVIEW

[논문 리뷰] Parallel Ordered Sets Using Join

Guy E. Blelloch, Daniel Ferizovic|arXiv (Cornell University)|2016. 02. 05.
Logic, programming, and type systems참고 문헌 27인용 수 10
한 줄 요약

이 논문은 AVL, 레드블랙, 웨이트 밸런스드 트리, 트레프의 네 가지 균형 잡힌 구조에서 일반적인 조인 연산을 사용하여 순서 있는 집합을 구현하기 위한 작업 효율적이고 고도로 병렬화된 프레임워크를 제시한다. 아담스의 조인 기반 알고리즘들이 최적의 작업 복잡도와 다중로그 시간 복잡도를 달성함을 증명함으로써, 저자들은 이러한 알고리즘이 점근적으로 최적임과 동시에 높은 확장성을 가지며, 비균형적이고 겹침이 적은 데이터 분포에서 기존 라이브러리보다 뛰어나고, 64개 코어에서 최대 45배의 성능 향상을 달성함을 보여준다.

ABSTRACT

The ordered set is one of the most important data type in both theoretical algorithm design and analysis and practical programming. In this paper we study the set operations on two ordered sets, including Union, Intersect and Difference, based on four types of balanced Binary Search Trees (BST) including AVL trees, red-black trees, weight balanced trees and treaps. We introduced only one subroutine Join that needs to be implemented differently for each balanced BST, and on top of which we can implement generic, simple and efficient parallel functions for ordered sets. We first prove the work-efficiency of these Join-based set functions using a generic proof working for all the four types of balanced BSTs. We also implemented and tested our algorithm on all the four balancing schemes. Interestingly the implementations on all four data structures and three set functions perform similarly in time and speedup (more than 45x on 64 cores). We also compare the performance of our implementation to other existing libraries and algorithms.

연구 동기 및 목표

  • 아담스의 조인 기반 알고리즘이 여러 균형 잡힌 트리 구조에서 작업 최적성과 고도의 병렬성을 확보하는지를 증명하는 것.
  • 단일 트리 전용 조인 함수만 필요로 하는 일반화된 프레임워크를 구축하여 다양한 균형 잡힌 구조 간의 재사용을 가능하게 하는 것.
  • 현대 다코어 시스템에서 비균형적 데이터 분포 조건 하에서 프레임워크의 실질적 성능을 평가하는 것.
  • STL, MCSTL, WBB-트리 라이브러리와의 비교를 통해 순차적 및 병렬 환경에서 제안된 구현의 성능을 평가하는 것.

제안 방법

  • 저자들은 다양한 트리 유형 간의 균형 유지와 작업 효율성을 보장하기 위한 랭크 기반 불변식 체계를 정의한다.
  • 조인 연산의 비용이 입력 트리의 랭크 차이에 비례하고, 결과 랭크가 더 큰 입력 랭크의 일정 요소로 제한됨을 증명한다.
  • 프레임워크는 핵심 원자 연산으로 단일이고 일반적인 조인 함수를 사용하며, 모든 다른 연산(합집합, 교집합, 차집합, 분할)은 조인과 병렬 조합을 재귀적으로 구현한다.
  • 구현은 네 가지 균형 잡힌 구조(_AVL, 레드블랙, 웨이트 밸런스드, 트레프_)에 대해 평가되었으며, 조인을 제외한 모든 코드는 구조 간에 일반화되어 있다.
  • 성능 평가는 다양한 데이터 분포(균일 및 정규 분포)와 코어 수(최대 64개)에서 측정되었으며, STL, MCSTL, WBB-트리 라이브러리와의 비교가 포함되었다.
  • 이론적 증명을 통한 작업 최적성 분석과 실제 하드웨어에서의 속도 향상 및 성능 평가가 함께 이루어졌다.

실험 결과

연구 질문

  • RQ1아담스의 조인 기반 알고리즘이 여러 균형 잡힌 트리 구조에서 순서 있는 집합에 대해 작업 최적성과 고도의 병렬성을 확보하는가?
  • RQ2단일 조인 함수에 기반한 일반화된 프레임워크가 다양한 균형 잡힌 구조에서 최적의 작업 복잡도와 다중로그 시간 복잡도를 달성할 수 있는가?
  • RQ3다양한 겹침 정도를 가지는 데이터에서 제안된 프레임워크의 성능이 기존 라이브러리(STL, MCSTL, WBB-트리)와 비교해 어떻게 되는가?
  • RQ4프레임워크는 겹침이 적은 데이터 분포에서 적응형 성능을 보이며 성능 향상을 이룰 수 있는가?
  • RQ5현대 다코어 시스템에서 프레임워크의 실제 병렬 확장성은 어떠한가?

주요 결과

  • 제안된 조인 기반 알고리즘은 AVL, 레드블랙, 웨이트 밸런스드 트리, 트레프의 네 가지 균형 잡힌 구조에서 작업 최적성과 다중로그 시간 복잡도를 증명하였다.
  • 64코어에서 45배의 속도 향상을 달성하여 강력한 병렬 확장성을 입증하였다.
  • 1억 요소의 맵에서 순차적 합집합 연산에서 STL의 레드블랙 트리보다 3배 빠른 성능을 보였다.
  • 균형이 깨진 데이터(평균이 0과 1, σ = 1/16인 정규 분포)에서, 겹침이 적어 서로 다른 집합이 많을 경우, MCSTL과 WBB-트리 라이브러리보다 프레임워크가 뛰어난 성능을 보였다. 이는 서로 겹치지 않는 집합에 대해 적응형 성능을 유도하기 때문이다.
  • MCSTL은 16코어를 초과해도 병렬 처리 성능이 저하되는 반면, 제안된 프레임워크와 WBB-트리 라이브러리는 강력한 확장성을 유지하며, 겹침이 적은 데이터에서는 제안된 방법이 훨씬 빠른 성능을 보였다.
  • 비균형적 데이터에서 프레임워크의 성능 우위는 처리해야 할 노드 수가 적기 때문이며, 겹침이 적은 데이터는 더 적은 수의 서브트리가 그대로 유지되고, 조인 연산도 줄어들기 때문이다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.