Skip to main content
QUICK REVIEW

[논문 리뷰] Architectural Impact on Performance of In-memory Data Analytics: Apache Spark Case Study

Ahsan Javed Awan, Mats Brorsson|arXiv (Cornell University)|2016. 04. 28.
Cloud Computing and Resource Management참고 문헌 25인용 수 7
한 줄 요약

이 논문은 하드웨어 성능 카운터를 사용하여 현대 스케일업 서버에서 배치, 스트리밍, 머신러닝 워크로드를 위한 Apache Spark의 마이크로아키텍처 성능을 조사한다. DRAM 지연 시간이 주요 성능 저하 원인임을 밝혀내며, L1-D 다음 라인 프리패치 기능 비활성화, 다수의 소형 엑스큐터 사용, 하이퍼스레딩 활성화와 같은 설정 최적화를 제안하여 최대 36%의 성능 향상을 달성한다.

ABSTRACT

While cluster computing frameworks are continuously evolving to provide real-time data analysis capabilities, Apache Spark has managed to be at the forefront of big data analytics for being a unified framework for both, batch and stream data processing. However, recent studies on micro-architectural characterization of in-memory data analytics are limited to only batch processing workloads. We compare micro-architectural performance of batch processing and stream processing workloads in Apache Spark using hardware performance counters on a dual socket server. In our evaluation experiments, we have found that batch processing are stream processing workloads have similar micro-architectural characteristics and are bounded by the latency of frequent data access to DRAM. For data accesses we have found that simultaneous multi-threading is effective in hiding the data latencies. We have also observed that (i) data locality on NUMA nodes can improve the performance by 10% on average and(ii) disabling next-line L1-D prefetchers can reduce the execution time by up-to 14\% and (iii) multiple small executors can provide up-to 36\% speedup over single large executor.

연구 동기 및 목표

  • 현대 스케일업 서버에서 메모리 기반 데이터 분석 워크로드의 마이크로아키텍처 성능 특성 이해
  • NUMA 메모리 액세스, 하이퍼스레딩, 하드웨어 프리패치 기능이 Spark 성능에 미치는 영향 정량화
  • Spark 스트리밍 워크로드에서 데이터 속도의 영향 평가 및 성능 저하 원인 규명
  • 하이브리드 메모리 큐브와 같은 고대역폭 메모리 기술이 Spark 워크로드에 미치는 잠재적 영향 평가
  • 스케일업 시스템에서 성능을 극대화하기 위한 Spark 및 하드웨어 설정 최적화 방안 제공

제안 방법

  • 이중 소켓 Ivy Bridge 서버에서 하드웨어 성능 카운터를 활용한 마이크로아키텍처 분석 수행
  • DRAM 유한 대기 시간, L1/L2 캐시 미스 영향, 명령어 종료 속도 등 주요 성능 지표 측정
  • 메모리 액세스 지연 시간 영향을 정량화하기 위해 LocalDRAMBound 및 RemoteDRAMBound를 계산하는 공식 사용
  • 관측된 단일 스레드 성능 및 이론적 성능 기반 공식을 도출하여 하이퍼스레딩의 효과성 평가
  • Spark Core, MLlib, SQL, GraphX, Streaming 등 다양한 구성에서 Spark 워크로드 벤치마킹 수행
  • 실행자 크기, 메모리 국지성, DDR3 속도, 프리패처 설정을 체계적으로 변화시켜 성능 영향 요인 분리

실험 결과

연구 질문

  • RQ1Apache Spark의 배치 처리 및 스트리밍 워크로드는 마이크로아키텍처 특성에서 어떻게 다릅니까?
  • RQ2NUMA 노드에서의 데이터 국지성은 스케일업 서버에서 Spark 성능을 얼마나 향상시킵니까?
  • RQ3하이퍼스레딩은 Spark 워크로드에서 DRAM 액세스 지연 시간을 얼마나 효과적으로 숨길 수 있습니까?
  • RQ4L1-D 및 L2 하드웨어 프리패처 비활성화가 Spark 워크로드에 미치는 성능 영향은 무엇입니까?
  • RQ5하이브리드 메모리 큐브와 같은 고대역폭 메모리 기술은 Spark 성능을 상당히 향상시킬 수 있습니까?

주요 결과

  • Apache Spark의 배치 처리 및 스트리밍 워크로드는 성능 저하 원인이 동일하게 DRAM 액세스 지연 시간에 의해 제한되며, 성능 저하 원인에서의 아키텍처적 차이가 없음.
  • NUMA 노드에서의 데이터 국지성은 평균 10% 향상시키며, 백엔드 유한 대기 시간은 19% 감소하고 명령어 종료 수는 9% 증가함.
  • L1-D 다음 라인 프리패처 비활성화로 최대 14% 실행 시간 감소, 인접 캐시 라인 L2 프리패처 비활성화로 최대 4% 감소.
  • 단일 대형 실행자 대비 다수의 소형 실행자(1실행자당 ≤32GB) 사용 시 최대 36%의 성능 향상 달성 가능.
  • 하이퍼스레딩은 DRAM 유한 대기 시간을 50% 감소시키며, HT 효과성 지수 1.0을 기록하여 이 경우 거의 완벽한 스케일링을 달성함.
  • DDR3 속도를 1866 MT/s에서 1333 MT/s로 낮추면 성능 향상이 발생함을 시사하며, 이는 메모리 대역폭이 제한 요소가 아니며, 저주파수로 전환할 경우 전력 소모 및 지연 시간 오버헤드 감소함.

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

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

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

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