Skip to main content
QUICK REVIEW

[논문 리뷰] Greed is Good: Optimistic Algorithms for Bipartite-Graph Partial Coloring on Multicore Architectures

Mustafa Kemal Taş, Kamer Kaya|arXiv (Cornell University)|2017. 01. 10.
Scheduling and Timetabling Solutions참고 문헌 18인용 수 6
한 줄 요약

이 논문은 공유 메모리 다코어 시스템에서 이분 그래프 부분 색칠하기(BGPC) 및 거리-2 그래프 색칠하기(D2GC)를 위한 고도로 최적화된, 근시성(greedy)이고 낙관적(optimistic)인 병렬 알고리즘을 제시한다. 공격적인 충돌 해결 및 비용이 들지 않는 온라인 균형 조정 휴리스틱을 적용하여, 16개 코어에서 ColPack 라이브러리 대비 최대 4.71배의 성능 향상을 달성하면서도 색상 수는 평균 8%만 증가시키며, 성능에 손해를 주지 않고도 색상 집합의 크기 균형을 크게 향상시켰다.

ABSTRACT

In parallel computing, a valid graph coloring yields a lock-free processing of the colored tasks, data points, etc., without expensive synchronization mechanisms. However, coloring is not free and the overhead can be significant. In particular, for the bipartite-graph partial coloring (BGPC) and distance-2 graph coloring (D2GC) problems, which have various use-cases within the scientific computing and numerical optimization domains, the coloring overhead can be in the order of minutes with a single thread for many real-life graphs. In this work, we propose parallel algorithms for bipartite-graph partial coloring on shared-memory architectures. Compared to the existing shared-memory BGPC algorithms, the proposed ones employ greedier and more optimistic techniques that yield a better parallel coloring performance. In particular, on 16 cores, the proposed algorithms perform more than 4x faster than their counterparts in the ColPack library which is, to the best of our knowledge, the only publicly-available coloring library for multicore architectures. In addition to BGPC, the proposed techniques are employed to devise parallel distance-2 graph coloring algorithms and similar performance improvements have been observed. Finally, we propose two costless balancing heuristics for BGPC that can reduce the skewness and imbalance on the cardinality of color sets (almost) for free. The heuristics can also be used for the D2GC problem and in general, they will probably yield a better color-based parallelization performance especially on many-core architectures.

연구 동기 및 목표

  • 실세계 그래프에서 BGPC 및 D2GC를 위한 고전적 순차 색칠 처리 시간(종종 수분의 수준)을 줄이기 위해.
  • 더 공격적이고 낙관적인 색칠 전략을 통해 공유 메모리 다코어 아키텍처에서 BGPC 및 D2GC의 병렬 성능을 향상시키기 위해.
  • 계산 비용을 증가시키지 않고도 색상 집합의 크기 편향을 최소화하는 비용이 들지 않는 온라인 균형 조정 휴리스틱을 설계하기 위해.
  • 제안된 기법들을 D2GC로 확장하고 다양한 그래프 워크로드에서 성능을 평가하기 위해.
  • 수치 최적화 및 과학 계산 워크로드에서 그래프 색칠에 의존하는 효율적이고 확장 가능하며 로드 밸런스가 잘 맞는 병렬 처리를 가능하게 하기 위해.

제안 방법

  • 정점들을 병렬로 색상 할당하는 근시성, 낙관적 색칠 전략을 채택하며, 유효성을 가정하고 충돌은 후처리 단계에서 해결한다.
  • 분산 시스템의 넷 기반 색칠에 영감을 얻어, 효율적으로 충돌을 식별하고 해결하는 넷 기반 충돌 탐지 메커니즘을 사용한다.
  • 두 가지 온라인 균형 조정 휴리스틱을 도입한다: B1은 색상 수를 늘리지 않으면서도 균형을 향상시키며, B2는 최대 11% 더 많은 색상을 허용함으로써 균형을 크게 향상시킨다.
  • 동일한 낙관적이고 근시성 기법을 D2GC 문제에 적용하여 충돌 해결 및 균형 조정 메커니즘을 재사용한다.
  • OpenMP를 사용하여 공유 메모리 시스템에서 알고리즘을 구현하며, 고도의 스레드 수준 병렬성과 낮은 동기화 오버헤드를 목표로 한다.
  • 다양한 실세계 그래프에서 속도 향상과 로드 밸런싱 향상 정도를 평가하기 위해 정규화된 성능 지표와 색상 집합 크기 분포를 사용한다.

실험 결과

연구 질문

  • RQ1기존의 공유 메모리 구현 대비 더 공격적이고 낙관적인 색칠 전략이 다코어 시스템에서 BGPC의 실행 시간을 크게 줄일 수 있는가?
  • RQ2제안된 균형 조정 휴리스틱이 유의미한 계산 비용 증가 없이 색상 집합 크기의 균형을 얼마나 줄일 수 있는가?
  • RQ3BGPC에 사용된 동일한 낙관적이고 근시성 기법이 D2GC에 효과적으로 적용되어 유사한 성능 향상을 이끌 수 있는가?
  • RQ4제안된 알고리즘이 유일하게 공개된 병렬 BGPC 라이브러리인 ColPack과 비교해 성능과 색상 수 측면에서 어떻게 다른가?
  • RQ5로드 불균형이 과학 계산 워크로드에서 그래프 색칠의 전체 병렬 성능에 어떤 영향을 미치며, 색칠 과정에서 효과적으로 완화될 수 있는가?

주요 결과

  • 16개 코어에서 제안된 BGPC 알고리즘은 UFL 행렬 8종에 대해 평균적으로 색상 수가 8%만 더 증가하면서도 ColPack 라이브러리의 병렬 버전 대비 4.71배 빠른 성능을 달성한다.
  • 성능 향상은 기본 최적화(1.47배 향상)와 더 공격적인 낙관적 색칠 기법(2.81배 향상)의 조합을 통해 달성된다.
  • 균형 조정 휴리스틱 B1과 B2는 각각 색상 집합 크기의 표준편차를 최대 0.62배와 0.25배로 줄였으며, 비용은 극히 적게 들었고, B2의 경우 평균적으로 색상 수가 11%만 더 증가하였다.
  • D2GC에 대해서도 여덟 개의 정사각형이고 구조적으로 대칭적인 행렬 중 다섯 개에서 유사한 성능 향상을 관찰하여, 이 기법의 일반화 가능성을 입증하였다.
  • 제안된 휴리스틱은 비용이 들지 않고 온라인으로 작동하므로, 추가 루프나 상당한 오버헤드 없이 색칠 과정 중에 적용 가능하다.
  • 결과적으로 색상 집합의 로드 불균형을 색상 수 증가 없이도 성능 저하 없이 크게 줄일 수 있음을 입증하였으며, 이는 특히 다코어 아키텍처에서 매우 유리하다.

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

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

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

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