Skip to main content
QUICK REVIEW

[논문 리뷰] Iterative MapReduce for Large Scale Machine Learning

Joshua Rosen, Neoklis Polyzotis|arXiv (Cornell University)|2013. 03. 13.
Cloud Computing and Resource Management참고 문헌 11인용 수 26
한 줄 요약

이 논문은 대규모 머신러닝 워크로드를 위한 반복 처리를 네이티브로 지원하는 MapReduce 모델의 확장인 반복적 MapReduce를 제안한다. 첫 번째 클래스의 반복 구조와 데이터 분할 및 집계 트리 구조를 최적화하는 정적 최적화기(optimzier)를 도입함으로써, 메모리 캐싱이나 디스크 전용 I/O에 대한 가정 없이 Vowpal Wabbit와 같은 전용 시스템에 맞먹는 성능을 달성한다.

ABSTRACT

Large datasets ("Big Data") are becoming ubiquitous because the potential value in deriving insights from data, across a wide range of business and scientific applications, is increasingly recognized. In particular, machine learning - one of the foundational disciplines for data analysis, summarization and inference - on Big Data has become routine at most organizations that operate large clouds, usually based on systems such as Hadoop that support the MapReduce programming paradigm. It is now widely recognized that while MapReduce is highly scalable, it suffers from a critical weakness for machine learning: it does not support iteration. Consequently, one has to program around this limitation, leading to fragile, inefficient code. Further, reliance on the programmer is inherently flawed in a multi-tenanted cloud environment, since the programmer does not have visibility into the state of the system when his or her program executes. Prior work has sought to address this problem by either developing specialized systems aimed at stylized applications, or by augmenting MapReduce with ad hoc support for saving state across iterations (driven by an external loop). In this paper, we advocate support for looping as a first-class construct, and propose an extension of the MapReduce programming paradigm called {\em Iterative MapReduce}. We then develop an optimizer for a class of Iterative MapReduce programs that cover most machine learning techniques, provide theoretical justifications for the key optimization steps, and empirically demonstrate that system-optimized programs for significant machine learning tasks are competitive with state-of-the-art specialized solutions.

연구 동기 및 목표

  • MapReduce가 반복적 머신러닝 알고리즘을 효율적으로 처리할 수 있는 기본적인 한계를 해결하기 위해.
  • 프로그래머가 저수준 매개변수를 신뢰성 있게 조정할 수 없는 다중 테넌트 클라우드 환경에서 시스템 주도 최적화를 가능하게 하기 위해.
  • 반복적 MapReduce 프로그램에 대한 최적의 런타임 구성 설정을 선택하는 원칙적인 정적 최적화기를 개발하기 위해.
  • 자동 최적화가 최신 전용 머신러닝 시스템(Vowpal Wabbit 등)과 경쟁 가능한 성능을 달성할 수 있음을 입증하기 위해.

제안 방법

  • 반복적 머신러닝 알고리즘을 네이티브로 표현할 수 있도록 MapReduce 모델에 첫 번째 클래스의 반복 구조를 도입한다.
  • 반복에 특화된 스케줄링, 데이터 캐싱, 반복 간 효율적 집계를 지원하는 새로운 런타임을 설계한다.
  • 통신 및 계산 비용의 이론적 분석을 기반으로 최적의 데이터 분할 및 집계 트리의 팬인(fan-in)을 선택하는 정적 최적화기를 개발한다.
  • 120개 노드로 구성된 클러스터에서 실제 머신러닝 워크로드를 대상으로 최적화기의 선택을 경험적으로 검증하며, 응답 시간과 비용을 측정한다.
  • 이론적 모델을 적용하여 최적의 팬인 수와 머신 수를 예측하고, 통제된 실험을 통해 이를 검증한다.
  • 이론적 근거와 경험적 평가를 조합하여 데이터 분할 및 집계 구조와 같은 시스템 매개변수를 최적화한다.

실험 결과

연구 질문

  • RQ1MapReduce에 첫 번째 클래스의 반복 추상화를 도입하면, 수시로 사용되는 반복 프로그래밍 방식에 비해 대규모 머신러닝 워크로드의 효율성과 유지보수성에 상당한 향상을 이룰 수 있는가?
  • RQ2정적 최적화기는 반복적 MapReduce 프로그램에 대해 최적의 데이터 분할 및 집계 트리 구성 설정을 어떻게 자동으로 선택할 수 있는가?
  • RQ3시스템 주도 최적화는 Vowpal Wabbit와 같은 전용으로 수작업 최적화된 머신러닝 시스템의 성능을 얼마나 잘 따라잡거나 초월할 수 있는가?
  • RQ4실제 시스템 환경의 제약 조건과 오버헤드를 고려할 때, 이론적으로 예측된 일정한 최적의 팬인(e 약근처) 값이 유지되는가?
  • RQ5다양한 워크로드가 혼재된 동적인 다중 테넌트 클라우드 환경에서 최적화기는 응답 시간과 비용을 효과적으로 균형 잡을 수 있는가?

주요 결과

  • 실제 실험에서 집계 트리의 최적 팬인은 대부분의 구성에서 일정하게 4 또는 5로 나타나며, 이는 설정 비용을 고려하지 않은 이론적 예측값인 e와는 다소 다름.
  • 최적화기는 100GB 데이터셋에 대해 응답 시간을 최소화하는 데 N=120개의 CPU를, 비용을 최소화하는 데 N=24개의 CPU를 정확히 식별함. 이는 이론적 예측과 일치함.
  • 시스템 최적화 설정을 적용한 반복적 MapReduce는 표준 Hadoop를 능가하며, 최신 기술 수준의 Vowpal Wabbit 시스템과 경쟁 가능한 성능을 달성함.
  • 다양한 데이터 크기와 클러스터 구성에서도 성능이 안정적이며, 이론적 예측과 경험적 결과 간 일관성이 높게 유지됨.
  • 모든 테스트 구성에서 프로그래머의 수동 조정 없이도 정적 최적화기가 효율적인 실행 계획을 성공적으로 선택함.
  • 결과적으로 런타임 환경이 불안정하고 예측 불가능한 클라우드 환경에서도 시스템 주도 최적화가 실현 가능하고 효과적임을 확인함.

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

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

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

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