Skip to main content
QUICK REVIEW

[논문 리뷰] M3R: Increased performance for in-memory Hadoop jobs

Avraham Shinnar, David Cunningham|arXiv (Cornell University)|2012. 08. 21.
Cloud Computing and Resource Management참고 문헌 13인용 수 56
한 줄 요약

M3R는 디스크 I/O를 제거하고 메모리 내 데이터 구조를 활용함으로써 반복적이고 메모리 기반 워크로드를 가속화하는 고성능 메모리 내 Hadoop MapReduce 엔진입니다. 기존 Hadoop 작업을 그대로 지원하면서도, 데이터 레이아웃 최적화, 직렬화 오버헤드 감소, X10 기반 실행을 통한 직접 캐시 액세스로 인해 희박 행렬 연산에서 최대 45배의 성능 향상을 제공합니다.

ABSTRACT

Main Memory Map Reduce (M3R) is a new implementation of the Hadoop Map Reduce (HMR) API targeted at online analytics on high mean-time-to-failure clusters. It does not support resilience, and supports only those workloads which can fit into cluster memory. In return, it can run HMR jobs unchanged -- including jobs produced by compilers for higher-level languages such as Pig, Jaql, and SystemML and interactive front-ends like IBM BigSheets -- while providing significantly better performance than the Hadoop engine on several workloads (e.g. 45x on some input sizes for sparse matrix vector multiply). M3R also supports extensions to the HMR API which can enable Map Reduce jobs to run faster on the M3R engine, while not affecting their performance under the Hadoop engine.

연구 동기 및 목표

  • 반복적이고 메모리 기반 워크로드에서 Hadoop MapReduce의 성능 저하 문제를 디스크 I/O 제거와 메모리 내 실행을 통해 해결하기 위해.
  • Pig, Jaql, SystemML 등의 기존 Hadoop 작업이 수정 없이 더 빠른 메모리 내 엔진에서 실행되도록 가능하게 하기 위해.
  • 메모리 기반 워크로드에서 오버헤드를 줄이고 캐시 효율을 향상시키기 위해 데이터 레이아웃과 직렬화를 최적화하기 위해.
  • API 호환성이나 이식성 손실 없이도 상당한 성능 향상이 달성 가능하다는 것을 입증하기 위해.

제안 방법

  • M3R는 분산 메모리 계산과 효율적인 직렬화를 네이티브로 지원하는 X10 언어를 사용하여 Hadoop MapReduce API를 구현합니다.
  • 디스크 기반 셔플 대신 메모리 기반 키-값 저장소를 도입함으로써 I/O를 감소시키고 노드 간 더 빠른 데이터 액세스를 가능하게 합니다.
  • 사용자 정의 직렬화 프로토콜과 직접 캐시 액세스를 통해 중간 단계의 직렬화/역직렬화 단계를 회피함으로써 반복 알고리즘의 성능을 향상시킵니다.
  • 런타임 컴ponent(예: SystemML)을 패치하여 메모리 캐시에서 직접 데이터를 가져올 수 있도록 하여 기존 Hadoop 툴체인과 통합합니다.
  • Hadoop 성능에 영향을 주지 않으면서도 M3R에서의 성능 향상을 추가로 가속화할 수 있도록 HMR API에 확장 기능을 지원합니다.
  • 경량 동시성 모델과 분산 객체 모델을 활용하여 노드 간 데이터 이동과 계산을 효율적으로 관리합니다.

실험 결과

연구 질문

  • RQ1고성능 메모리 내 Hadoop MapReduce 엔진이 백워드 컴patiblity를 해치지 않으면서도 반복적이고 메모리 기반 워크로드에서 상당한 속도 향상을 제공할 수 있는가?
  • RQ2디스크 I/O 제거와 데이터 직렬화 최적화가 메모리 내 MapReduce 워크로드 성능에 어떤 영향을 미치는가?
  • RQ3기존 Hadoop 툴체인(Pig, Jaql, SystemML 등)이 수정 없이 메모리 내 엔진에서 실행될 경우, 얼마나 빠르게 가속화될 수 있는가?
  • RQ4Hadoop MapReduce API 호환성을 유지하면서 메모리 내 실행을 지원하기 위해 필요한 아키텍처 변경 사항은 무엇인가?

주요 결과

  • M3R는 Hadoop 대비 희박 행렬-벡터 곱셈에서 최대 45배의 성능 향상을 기록했으며, 특히 더 큰 입력 크기에서 두드러졌습니다.
  • 글로벌 비음수 행렬 분해 작업에서 M3R는 Hadoop에서 1200초 이상이 소요되던 실행 시간을 스케일링 시 30초 이내로 단축시켰습니다.
  • 큰 데이터셋에서 선형 회귀 성능은 M3R에서 Hadoop 대비 뚜렷이 향상되었으며, 실행 시간이 1600초 이상에서 400초 이내로 감소했습니다.
  • 페이지랭크 실행 결과 M3R는 일관된 성능 향상을 보였으며, Hadoop에서 800초 이상이 소요되던 작업이 대규모 그래프에서 200초 이내로 단축되었습니다.
  • 성능 향상 요인은 I/O 감소, 최적화된 직렬화, 캐시 통합을 통한 직접 메모리 데이터 액세스 덕분이었습니다.
  • SystemML 워크로드는 M3R가 중복된 직렬화를 방지하고 메모리 기반 데이터 구조를 효과적으로 활용할 수 있었기에 상당한 성능 향상을 경험했습니다.

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

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

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

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