Skip to main content
QUICK REVIEW

[논문 리뷰] Parallel Delta-Stepping Algorithm for Shared Memory Architectures

M. Kranjčević, Daniele Palossi|arXiv (Cornell University)|2016. 04. 07.
Graph Theory and Algorithms참고 문헌 8인용 수 4
한 줄 요약

이 논문은 방향성 있는 그래프와 무방향 그래프에서 단일 원천 최단 경로를 위한 공유 메모리 구현을 제시하며, 동기화 오버헤드를 줄이기 위해 최적화한다. 이는 다중 코어 CPU와 인텔 Xeon Phi에서 최소 50% 이상의 병렬 효율성을 달성하며, 순차 모드에서 소형 직경 그래프에서 Boost Graph Library의 Dijkstra 알고리즘을 능가한다.

ABSTRACT

We present a shared memory implementation of a parallel algorithm, called delta-stepping, for solving the single source shortest path problem for directed and undirected graphs. In order to reduce synchronization costs we make some deviations from the algorithm and discuss the consequences. We study the behaviour of our implementation on small-world and scale-free graphs, and graphs arising from game maps. We collect performance data on multi-core CPUs and Intel Xeon Phi. When run in sequential mode, our implementation outperforms the implementation of Dijkstra's algorithm from Boost Graph Library on graphs with a small diameter. Both on the CPU and the co-processor we achieve an overall performance of at least 50% parallel efficiency.

연구 동기 및 목표

  • 단일 원천 최단 경로 계산을 위한 확장 가능한 공유 메모리 병렬 구현을 개발하기 위해.
  • 기존 delta-stepping 알고리즘의 수정을 통해 병렬 그래프 처리에서의 동기화 비용을 줄이기 위해.
  • 소형 세계, 스케일프리, 게임 맵 그래프를 포함한 다양한 그래프 유형에서 성능을 평가하기 위해.
  • 기존 다중 코어 CPU와 인텔 Xeon Phi와 같은 가속기에서 높은 병렬 효율성을 달성하기 위해.

제안 방법

  • 스레드 동기화를 최소화하기 위해 작업 분배 방식을 재구성하여 공유 메모리 환경에 맞게 delta-stepping 알고리즘을 적응시켰다.
  • 임시 거리 기반으로 정점을 관리하기 위해 버킷 기반 접근 방식을 사용하여 간선의 병렬 완화를 가능하게 하였다.
  • 원자 연산과 동기화 지점에 대한 의존도를 줄이기 위해 알고리즘적 수정을 도입하였다.
  • C++를 사용하여 공유 메모리 시스템에서 OpenMP를 활용한 작업 병렬화를 구현하였다.
  • 실제 세계 및 합성 그래프 워크로드를 사용하여 CPU 및 인텔 Xeon Phi 아키텍처에서 성능을 평가하였다.
  • 기본 성능 효율성을 평가하기 위해 순차 모드에서 Boost Graph Library의 Dijkstra 구현과 성능을 비교하였다.

실험 결과

연구 질문

  • RQ1공유 메모리 delta-stepping 구현은 소형 세계 및 스케일프리 그래프에서 순차 Dijkstra 알고리즘과 비교해 어떻게 성능을 내는가?
  • RQ2알고리즘적 수정이 동기화 오버헤드와 병렬 효율성에 어떤 영향을 미치는가?
  • RQ3이 구현은 다중 코어 CPU와 인텔 Xeon Phi에서 모두 높은 병렬 효율성을 달성할 수 있는가?
  • RQ4제안된 구현의 성능은 순차 모드에서 Boost Graph Library의 Dijkstra 알고리즘과 비교해 어떻게 되는가?
  • RQ5알고리즘의 확장성은 다양한 그래프 유형과 하드웨어 플랫폼 간에 어떻게 나타나는가?

주요 결과

  • 소형 직경 그래프에서 순차 버전의 구현이 Boost Graph Library의 Dijkstra 알고리즘을 능가한다.
  • 다중 코어 CPU와 인텔 Xeon Phi 아키텍처에서 최소 50% 이상의 병렬 효율성을 달성한다.
  • 소형 세계, 스케일프리, 게임 맵 그래프를 포함한 다양한 그래프 유형에서 성능 향상이 관찰된다.
  • 알고리즘적 수정이 동기화 비용을 효과적으로 줄이며 병렬 확장성을 향상시킨다.
  • 일반 목적의 CPU와 Xeon Phi와 같은 가속기 하드웨어에서 뛰어난 성능을 보여준다.

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

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

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

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