Skip to main content
QUICK REVIEW

[논문 리뷰] Spinning Fast Iterative Data Flows

Stephan Ewen, Kostas Tzoumas|arXiv (Cornell University)|2012. 08. 01.
Parallel Computing and Optimization Techniques참고 문헌 22인용 수 4
한 줄 요약

이 논문은 병렬 데이터플로우 시스템의 확장으로서 증분 반복(iterative iterations)을 제안하며, 그래프 알고리즘과 같은 희소 계산적 의존성이 있는 반복 알고리즘의 효율적 실행을 위해 가변 상태와 워크셋 기반 업데이트를 활용한다. 평가 결과, 버블 반복 대비 최대 두 자릿수의 성능 향상을 보이며, 데이터플로우 시스템이 전용 프레임워크와 경쟁 가능해지지만 통일된 추상화를 유지한다.

ABSTRACT

Parallel dataflow systems are a central part of most analytic pipelines for big data. The iterative nature of many analysis and machine learning algorithms, however, is still a challenge for current systems. While certain types of bulk iterative algorithms are supported by novel dataflow frameworks, these systems cannot exploit computational dependencies present in many algorithms, such as graph algorithms. As a result, these algorithms are inefficiently executed and have led to specialized systems based on other paradigms, such as message passing or shared memory. We propose a method to integrate incremental iterations, a form of workset iterations, with parallel dataflows. After showing how to integrate bulk iterations into a dataflow system and its optimizer, we present an extension to the programming model for incremental iterations. The extension alleviates for the lack of mutable state in dataflows and allows for exploiting the sparse computational dependencies inherent in many iterative algorithms. The evaluation of a prototypical implementation shows that those aspects lead to up to two orders of magnitude speedup in algorithm runtime, when exploited. In our experiments, the improved dataflow system is highly competitive with specialized systems while maintaining a transparent and unified dataflow abstraction.

연구 동기 및 목표

  • 기존 데이터플로우 시스템이 희소 계산적 의존성이 있는 반복 알고리즘을 실행하는 데에 비효율적인 문제를 해결하기 위해.
  • 그래프 처리나 머신러닝과 같이 상태를 점진적으로 갱신하는 알고리즘을 데이터플로우 시스템이 효율적으로 지원할 수 있도록 하기 위해.
  • 일般적인 목적의 데이터플로우 프로그래밍을 전용 반복 시스템(Pregel, GraphLab 등)의 성능과 통합하기 위해.
  • 증분 계산을 위해 가변 상태와 워크셋 의미 체계를 데이터플로우 추상화에 확장하기 위해.
  • 데이터플로우 시스템이 표현력이나 투명성 손실 없이 전용 시스템과 동등한 성능을 낼 수 있음을 입증하기 위해.

제안 방법

  • 각 반복에서 변경된 상태 부분만 워크셋에 포함된 변경된 요소를 사용해 업데이트하는 증분 반복을 데이터플로우 시스템에 확장한다.
  • 상태 변경과 메시지 전달을 분리하는 프로그래밍 모델을 도입하여 업데이트에 대한 세밀한 제어를 가능하게 한다.
  • 매 반복에서 처리가 필요한 요소들만 추적하는 워크셋 기반 접근법을 사용하여 불필요한 계산을 줄인다.
  • 작업을 내리고 데이터 이동을 최소화하기 위해 데이터플로우 최적화기를 활용한다.
  • 잘 정의된 조건 하에서 비동기 마이크로스텝 실행을 지원하여 희소 알고리즘의 수렴 속도를 향상시킨다.
  • 병렬 데이터플로우 시스템인 Stratosphere에 이 접근법을 구현하고, 증분 반복을 최적화된 데이터플로우 계획으로 컴iles한다.

실험 결과

연구 질문

  • RQ1일반적인 목적의 데이터플로우 시스템에 증분 반복을 효율적으로 통합하여 희소 의존성이 있는 반복 알고리즘의 성능을 향상시킬 수 있는가?
  • RQ2데이터플로우 시스템이 그래프 및 머신러닝 알고리즘에 내재된 희소 계산적 의존성을 얼마나 잘 활용할 수 있는가?
  • RQ3증분 반복을 지원하는 데이터플로우 시스템의 성능은 Pregel이나 GraphLab과 같은 전용 시스템과 비교해 어떻게 되는가?
  • RQ4통합된 데이터플로우 추상화가 표현력을 유지하면서도 반복 워크로드를 최적화할 수 있는가?
  • RQ5데이터플로우 시스템에서 비동기 마이크로스텝 실행을 안전하고 효율적으로 적용할 수 있는 조건은 무엇인가?

주요 결과

  • 제안된 증분 반복 모델은 희소 의존성이 있는 알고리즘에 대해 버블 반복 대비 최대 두 자릿수의 성능 향상을 달성한다.
  • Stratosphere에 구현된 프로토타입은 PageRank나 연결 컴ponent와 같은 그래프 알고리즘에서 Pregel 및 GraphLab과 경쟁 가능한 성능을 달성한다.
  • 증분 반복의 통합은 Pregel이 활성화와 메시징을 결합하는 것보다 복잡한 알고리즘(예: 적응형 PageRank)을 더 자연스럽게 표현할 수 있게 한다.
  • 시스템은 잘 정의된 조건 하에서 비동기 마이크로스텝 실행을 지원하여 동기화 병목 현상 없이 더 빠른 수렴을 가능하게 한다.
  • 이 접근법은 통합된 데이터플로우 추상화를 유지하여 분석 파이프라인에서 다수의 시스템이나 오케스트레이션 프레임워크가 필요로 하는 것을 줄인다.
  • 컴파일러 기법을 통해 완전한 반복 알고리즘을 증분 형태로 변환할 수 있으며, 이는 향후 최적화 잠재력을 시사한다.

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

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

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

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