Skip to main content
QUICK REVIEW

[논문 리뷰] In Search of the Fastest Concurrent Union-Find Algorithm.

Dan Alistarh, Alexander Fedorov|arXiv (Cornell University)|2019. 01. 01.
Distributed systems and fault tolerance인용 수 1
한 줄 요약

이 논문은 다양한 플랫폼과 워크로드에서 동시성 Union-Find 알고리즘을 평가하고 최적화하며, 캐시 미스를 주요 성능 저하 원인으로 규명한다. 노드 우선순위를 암묵적으로 저장하고 안전한 일반 읽기/쓰기 연산을 사용하여 메모리 트래픽을 줄이며, 거기서 유도된 결과로 트랜잭션 메모리 기반 잠금 해제 기능을 갖춘 굵은 단위 잠금 버전이 다른 동시성 설계보다 뛰어난 성능을 보였다.

ABSTRACT

Union-Find (or Disjoint-Set Union) is one of the fundamental problems in computer science; it has been well-studied from both theoretical and practical perspectives in the sequential case. Recently, there has been mounting interest in analyzing this problem in the concurrent scenario, and several asymptotically-efficient algorithms have been proposed. Yet, to date, there is very little known about the practical performance of concurrent Union-Find. This work addresses this gap. We evaluate and analyze the performance of several concurrent Union-Find algorithms and optimization strategies across a wide range of platforms (Intel, AMD, and ARM) and workloads (social, random, and road networks, as well as integrations into more complex algorithms). We first observe that, due to the limited computational cost, the number of induced cache misses is the critical determining factor for the performance of existing algorithms. We introduce new techniques to reduce this cost by storing node priorities implicitly and by using plain reads and writes in a way that does not affect the correctness of the algorithms. Finally, we show that Union-Find implementations are an interesting application for Transactional Memory (TM): one of the fastest algorithm variants we discovered is a sequential one that uses coarse-grained locking with the lock elision optimization to reduce synchronization cost and increase scalability.

연구 동기 및 목표

  • 이론적으로는 효율적이지만 실질적인 성능에 대한 이해 격차를 해소하기 위해.
  • 기존 동시성 Union-Find 구현에서의 주요 성능 저하 원인을 규명하기 위해.
  • 암묵적 우선순위 저장 및 일반 메모리 연산의 안전한 사용을 통해 캐시 미스를 줄여 알고리즘 성능을 최적화하기 위해.
  • 특히 잠금 해제 기능을 통한 트랜잭션 메모리의 효능을 탐색하기 위해.

제안 방법

  • 소셜 네트워크, 무작위 그래프, 도로 네트워크, 통합 알고리즘을 포함한 다양한 워크로드를 사용하여 인텔, AMD, ARM 플랫폼에서 성능을 측정하였다.
  • 정확도에 영향을 주지 않으면서 메모리 트래픽과 캐시 미스를 줄이기 위해 노드 우선순위를 암묵적으로 저장하는 방식을 도입하였다.
  • 알고리즘 정확성을 유지하는 방식으로 일반 읽기 및 쓰기 연산을 사용하여 동기화 오버헤드를 최소화하였다.
  • 거친 단위 잠금과 트랜잭션 메모리 기반 잠금 해제를 적용하여 경쟁을 줄이고 확장성을 향상시켰다.
  • 실세계 워크로드에서 여러 알고리즘 변종을 평가하여 성능에 영향을 주는 요소를 분리하였다.
  • 메모리 접근 패턴과 캐시 동작이 전체 성능에 미치는 영향을 분석하였다.

실험 결과

연구 질문

  • RQ1다양한 아키텍처에서 기존 동시성 Union-Find 알고리즘의 주요 성능 저하 원인은 무엇인가?
  • RQ2암묵적 우선순위 저장 방식은 동시성 Union-Find에서 메모리 트래픽을 어떻게 줄이고 성능을 향상시킬 수 있는가?
  • RQ3동시성 Union-Find에서 일반 읽기 및 쓰기 연산을 얼마나 안전하게 사용할 수 있으며, 이는 동기화 비용을 얼마나 줄일 수 있는가?
  • RQ4특히 잠금 해제 기능을 통한 트랜잭션 메모리는 동시성 Union-Find의 성능을 상당히 향상시킬 수 있는가?
  • RQ5소셜, 무작위, 도로 네트워크 워크로드는 서로 다른 Union-Find 변종의 상대적 성능에 어떤 영향을 미치는가?

주요 결과

  • 연산의 계산 비용이 낮기 때문에 동시성 Union-Find에서 캐시 미스가 주요 성능 저하 원인이다.
  • 노드 우선순위를 암묵적으로 저장함으로써 메모리 트래픽이 감소하고 모든 플랫폼에서 성능이 크게 향상된다.
  • 정확성을 유지하는 방식으로 일반 읽기 및 쓰기 연산을 사용함으로써 동기화 오버헤드가 감소하고 확장성이 향상된다.
  • 거친 단위 잠금과 트랜잭션 메모리 기반 잠금 해제 기능을 갖춘 순차적 Union-Find 변종이 가장 빠른 성능을 기록했다.
  • 최적화로 얻은 성능 향상은 인텔, AMD, ARM 아키텍처 전반에서 일관되게 나타났다.
  • 접근 패턴과 그래프 구조와 같은 워크로드 특성이 서로 다른 알고리즘 변종의 상대적 성능에 상당한 영향을 미친다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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