Skip to main content
QUICK REVIEW

[논문 리뷰] A Comparative Study of Containers and Virtual Machines in Big Data Environment

Qi Zhang, Ling Liu|arXiv (Cornell University)|2018. 07. 05.
Cloud Computing and Resource Management참고 문헌 21인용 수 11
한 줄 요약

이 논문은 Spark 기반의 대용량 데이터 워크로드에서 도커 컨테이너와 가상 머신(VM) 간의 종합적인 실험적 비교를 수행하며, 배포 편의성, 성능 확장성, 자원 활용도를 평가한다. 결과적으로 컨테이너는 확장성과 자원 효율성에서 VM보다 뛰어나며, 대규모 클러스터에서 14.31배 빠른 실행 속도를 기록하고, 경량화된 격리 및 동적 자원 할당 덕분에 CPU/메모리 활용도가 뛰어나다.

ABSTRACT

Container technique is gaining increasing attention in recent years and has become an alternative to traditional virtual machines. Some of the primary motivations for the enterprise to adopt the container technology include its convenience to encapsulate and deploy applications, lightweight operations, as well as efficiency and flexibility in resources sharing. However, there still lacks an in-depth and systematic comparison study on how big data applications, such as Spark jobs, perform between a container environment and a virtual machine environment. In this paper, by running various Spark applications with different configurations, we evaluate the two environments from many interesting aspects, such as how convenient the execution environment can be set up, what are makespans of different workloads running in each setup, how efficient the hardware resources, such as CPU and memory, are utilized, and how well each environment can scale. The results show that compared with virtual machines, containers provide a more easy-to-deploy and scalable environment for big data workloads. The research work in this paper can help practitioners and researchers to make more informed decisions on tuning their cloud environment and configuring the big data applications, so as to achieve better performance and higher resources utilization.

연구 동기 및 목표

  • 컨테이너와 가상 머신을 사용한 대용량 데이터 환경 설정의 실용적 편의성을 평가하기 위해.
  • 컨테이너 기반 및 VM 기반 클라우드 인fra에서 다양한 Spark 워크로드의 성능 및 확장성을 측정하고 비교하기 위해.
  • 컨테이너와 VM 간 성능 차이를 이끄는 시스템 수준의 요인들—예를 들어 CPU 대기 시간 및 메모리 할당—을 분석하기 위해.
  • 시스템 관리자 및 연구자가 대용량 데이터 워크로드를 위한 클라우드 환경을 최적화하는 데 도움이 되는 실질적인 통찰을 제공하기 위해.

제안 방법

  • 동일한 구성으로 도커 컨테이너와 KVM 기반 가상 머신을 사용하여 물리적 클러스터에 Spark 워크로드를 구축하였다.
  • 확장성을 평가하기 위해 클러스터 크기를 8에서 48개 노드로 다양하게 설정하였다.
  • 실행 시간, 메이크스팬, 그리고 CPU 활용도(사용자, 시스템, 대기), 메모리 사용량(캐시, 사용, 가용) 등의 시스템 수준 메트릭을 측정하였다.
  • 런타임 메트릭을 수집하고 분석하여 I/O 지연 및 자원 경쟁과 같은 성능 저하 요인을 규명하였다.
  • 컨테이너 이미지 생성을 표준화하고 환경 간 일관된 애플리케이션 배포를 보장하기 위해 Dockerfiles를 사용하였다.
  • 각 노드의 워크로드 전후 메모리 사용량을 모니터링하여 메모리 프로필과 할당 동작을 비교하였다.

실험 결과

연구 질문

  • RQ1컨테이너와 가상 머신 간에 대용량 데이터 컴퓨팅 환경 설정에 소요되는 시간은 어떻게 다를까?
  • RQ2다양한 Spark 워크로드에서 컨테이너 환경과 VM 환경은 실행 시간과 확장성 측면에서 어떻게 비교될 수 있을까?
  • RQ3컨테이너와 VM 간 성능 차이를 이끄는 시스템 수준의 요인들—예를 들어 CPU 대기 시간 및 메모리 할당—은 무엇일까?
  • RQ4다양한 클러스터 크기와 워크로드에서 컨테이너와 VM 간의 자원 활용도(CPU 및 메모리)는 어떻게 달라질까?

주요 결과

  • 컨테이너는 설정 시간과 배포 복잡도가 VM보다 낮아 시스템 관리자에게 더 편리하다.
  • 48개 노드 클러스터에서 로지스틱 회귀는 컨테이너에서는 238초, VM에서는 3643초가 소요되어 14.31배의 성능 향상을 기록하였다.
  • VM은 대규모 환경(48개 이상 노드)에서 과도한 작업 타임아웃으로 인해 워크로드를 완료하지 못했고, 컨테이너는 모든 작업을 성공적으로 수행하였다.
  • 클러스터 크기가 커질수록 VM의 CPU 대기 시간이 크게 증가하여 I/O 지연 및 자원 경쟁이 심화되었으며, 특히 고부하 상황에서 두드러졌다.
  • 컨테이너에서는 메모리 활용도가 더 효율적이었으며, 2개의 컨테이너는 노드당 2GB 미만을 사용했고, 2개의 VM은 워크로드 실행 전에도 약 4GB를 소비하였다.
  • 컨테이너는 작업 완료 후 즉시 메모리를 해제한 반면, VM은 할당된 메모리를 유지하여 자원 활용도가 떨어졌다.

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

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

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

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