Skip to main content
QUICK REVIEW

[논문 리뷰] Complexity Measures for Map-Reduce, and Comparison to Parallel Computing

Ashish Goel, Kamesh Munagala|arXiv (Cornell University)|2012. 11. 28.
Cloud Computing and Resource Management참고 문헌 6인용 수 30
한 줄 요약

이 개론적 논문은 PRAM와 같은 전통적인 병렬 모델과 구별되는 Map-Reduce에 대한 형식적 복잡도 측정법을 소개한다. Map-Reduce의 샤프플 단계가 낮은 메모리 비용으로 효율적인 집계를 가능하게 하여, PRAM과 근본적으로 다르며 기존 병렬 모델에서 효율적이지 않을 수 있는 알고리즘을 가능하게 한다.

ABSTRACT

The programming paradigm Map-Reduce and its main open-source implementation, Hadoop, have had an enormous impact on large scale data processing. Our goal in this expository writeup is two-fold: first, we want to present some complexity measures that allow us to talk about Map-Reduce algorithms formally, and second, we want to point out why this model is actually different from other models of parallel programming, most notably the PRAM (Parallel Random Access Memory) model. We are looking for complexity measures that are detailed enough to make fine-grained distinction between different algorithms, but which also abstract away many of the implementation details.

연구 동기 및 목표

  • 공 ingeneering 및 이론적 공동체 간의 Map-Reduce 알고리즘 성능 논의를 위한 공통 어휘를 수립하기 위해.
  • Map-Reduce가 병렬 계산의 재브랜딩에 불과한지, 특히 PRAM 모델과의 비교에서 명확히 하기 위해.
  • Map-Reduce의 성능 저하 요인을 포괄하면서도 저수준 구현 세부 사항을 추상화하는 복잡도 측정법을 형식화하기 위해.
  • 샤프플 단계의 집계 기능이 기존 병렬 모델이 포착하지 못하는 성능 이점을 제공하는 방식을 부각하기 위해.
  • Map-Reduce가 메모리 및 단계 구조의 차이로 인해 기존 병렬 모델에서 효율적이지 않은 알고리즘을 갖는 문제를 효율적으로 해결할 수 있음을 보여주기 위해.

제안 방법

  • 주요 복잡도 측정법 두 가지를 제안: 키 복잡도(각 매퍼/리듀서 기준) 및 순차 복잡도(모든 매퍼 및 리듀서에 걸쳐 집계).
  • 키 복잡도는 어떤 매퍼나 리듀서가 처리하는 키-값 쌍당 최대 크기, 실행 시간, 메모리 소비를 추적한다.
  • 순차 복잡도는 모든 매퍼 및 리듀서에 걸쳐 총 입력/출력 크기 및 총 실행 시간을 집계한다.
  • 단계와 키 복잡도의 구분을 도입하여, 각 키에 대한 순차 계산을 병렬성과 분리할 수 있도록 한다.
  • 샤프플 단계를 디스크 기반 집계 단계로 모델링하며, 알고리즘에 대한 비용 부과 없이 처리한다. 이는 실제 Hadoop 스타일의 구현 방식을 반영하기 위함이다.
  • Map-Reduce와 PRAM 간의 메모리 및 통신 간의 상충 관계를 분석하여, 스트리밍 리듀서를 사용할 경우 Map-Reduce는 리듀서당 $O(1)$ 메모리로 구현 가능하지만, PRAM는 $N$개의 노드일 경우 마シン당 $O(N/K)$ 메모리가 필요하다고 보여준다.

실험 결과

연구 질문

  • RQ1어떻게 세밀한 복잡도 지표를 사용하여 다양한 Map-Reduce 알고리즘의 성능을 공식적으로 측정하고 비교할 수 있는가?
  • RQ2Map-Reduce 모델과 PRAM 모델은 모두 병렬 계산 모델임에도 불구하고, 근본적으로 어떤 점에서 다를까?
  • RQ3어떤 워크로드에서 Map-Reduce가 PRAM보다 더 높은 메모리 효율성을 달성하는가? 이는 복잡도 모델에서 어떻게 반영되는가?
  • RQ4샤프플 단계의 집계 기능이 기존 병렬 모델에 존재하지 않는 성능 이점으로 기여하는 정도는 어느 정도인가?
  • RQ5Map-Reduce는 고유한 단계 및 메모리 구조 덕분에, 메모리 및 단계 구조의 제약으로 인해 기존 병렬 모델에서 효율적이지 않은 알고리즘이 존재하는 문제를 효율적으로 해결할 수 있는가?

주요 결과

  • K개의 리듀서를 사용하는 Map-Reduce는 스트리밍 리듀서를 사용할 경우 리듀서당 $O(1)$ 메모리로 구현 가능하지만, PRAM는 N개의 노드일 경우 마シン당 $O(N/K)$ 메모리가 필요하다.
  • Map-Reduce에서 모든 리듀서의 총 메모리 사용량은 $O(K)$이며, 이는 N개의 노드일 경우 PRAM의 총 메모리 $O(N)$보다 현저히 낮다.
  • 샤프플 단계의 디스크 기반 집계는 복잡도 모델에서 무료로 처리되며, 이는 집계 비용이 시스템 수준 최적화에 의해 분리되어 알고리즘 비용에서 제외됨을 반영한다.
  • 합계나 최댓값과 같은 집계 연산의 경우, 매퍼에서 로컬로 결합할 경우 키 복잡도는 $O(1)$이며, 실질적으로 무시할 수 있다.
  • Map-Reduce는 입력 크기 $n$에 대해 $O(\sqrt{n})$ 키 복잡도와 $O(\log n)$ 단계 사이의 트레이드오프를 허용하며, 이는 PRAM 모델에서는 효율적으로 표현되지 않는다.
  • 이 모델은 Map-Reduce가 메모리 및 단계 구조 제약으로 인해 기존 병렬 모델에서 효율적이지 않은 알고리즘이 존재하는 문제를 효율적으로 해결할 수 있음을 드러낸다.

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

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

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

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