Skip to main content
QUICK REVIEW

[논문 리뷰] Scientific Computing Meets Big Data Technology: An Astronomy Use Case

Zhao Zhang, K. Barbary|arXiv (Cornell University)|2015. 07. 13.
Advanced Data Storage Technologies참고 문헌 21인용 수 6
한 줄 요약

이 논문은 빅데이터 플랫폼을 활용하여 다수의 작업을 수행하는 과학적 워크로드를 가속화하는 Spark 기반 천문학 이미지 처리 툴킷인 Kira를 제안한다. 데이터 국소성과 Spark의 장애 내성 기능을 활용함으로써, Kira SE는 EC2에서 C 구현보다 2.5배 빠르게 1TB 크기의 슬론 디지털 스카이 서베이(Sloan Digital Sky Survey) 데이터셋을 처리하여 초고성능 컴퓨터(HPC 슈퍼컴퓨터) 수준의 성능을 달성한다.

ABSTRACT

Scientific analyses commonly compose multiple single-process programs into a dataflow. An end-to-end dataflow of single-process programs is known as a many-task application. Typically, tools from the HPC software stack are used to parallelize these analyses. In this work, we investigate an alternate approach that uses Apache Spark -- a modern big data platform -- to parallelize many-task applications. We present Kira, a flexible and distributed astronomy image processing toolkit using Apache Spark. We then use the Kira toolkit to implement a Source Extractor application for astronomy images, called Kira SE. With Kira SE as the use case, we study the programming flexibility, dataflow richness, scheduling capacity and performance of Apache Spark running on the EC2 cloud. By exploiting data locality, Kira SE achieves a 2.5x speedup over an equivalent C program when analyzing a 1TB dataset using 512 cores on the Amazon EC2 cloud. Furthermore, we show that by leveraging software originally designed for big data infrastructure, Kira SE achieves competitive performance to the C implementation running on the NERSC Edison supercomputer. Our experience with Kira indicates that emerging Big Data platforms such as Apache Spark are a performant alternative for many-task scientific applications.

연구 동기 및 목표

  • 천문학 분야의 과학적 다수 작업 워크로드를 위한 확장성, 유연성, 장애 내성 있는 플랫폼으로 Apache Spark의 가능성을 평가하기 위해.
  • 기존 HPC 도구를 사용할 경우 대규모 천문학적 데이터셋 처리에서 발생하는 성능 저하 문제를 해결하기 위해.
  • 빅데이터 플랫폼이 데이터 집약적인 과학 워크로드에 대해 HPC 성능을 따라하거나 초월할 수 있는지를 보여주기 위해.
  • 기존의 천문학 라이브러리를 현대적인 데이터플로우 실행 환경에서 재사용할 수 있도록 하기 위해.
  • Spark의 스케줄링 능력, 데이터플로우 표현력, 그리고 GlusterFS 및 HDFS와 같은 이질적 스토리지 시스템에 대한 지원 능력을 평가하기 위해.

제안 방법

  • Apache Spark의 내재된 분산 데이터셋(RDDs)과 DAG 기반 작업 스케줄링을 활용하여 분산 천문학 이미지 처리 툴킷인 Kira를 구축하였다.
  • Spark의 풍부한 데이터플로우 패턴(파이프라인, 셔플, 브로드캐스트 등)을 활용하여 천문학 이미지용 소스 추출기인 Kira SE를 구현하였다.
  • 176,938개의 작업을 처리하는 1TB 크기의 SDSS DR7 데이터셋을 처리하기 위해 Amazon EC2에서 64노드의 m2.4xlarge 인스턴스 클러스터를 사용하여 워크로드를 실행하였다.
  • HPC 도구를 사용한 C 기반 구현체와의 성능 비교를 위해 GlusterFS(공유 파일 시스템)와 NERSC Edison 슈퍼컴퓨터에서 실행하였다.
  • 스파크의 데이터 국소성 최적화를 활용하여 I/O 오버헤드를 최소화하고, 일반 클라우드 인프라에서의 성능 향상을 도모하였다.
  • 이미지 컨볼루션 및 소스 탐지 등의 기존 천문학 라이브러리를 Spark 파이프라인에 통합하여 코드 재사용성과 상호운용성을 확보하였다.

실험 결과

연구 질문

  • RQ1Apache Spark는 천문학 분야에서 수백만 개의 작업을 포함하는 대규모 데이터 집약적 과학 워크로드를 효과적으로 확장할 수 있는가?
  • RQ2공유 파일 시스템에서의 기존 HPC 워크플로우 대비 Spark의 데이터 국소성 및 스케줄링 최적화가 성능에 미치는 영향은 어떠한가?
  • RQ3Spark와 같은 빅데이터 플랫폼이 과학적 이미지 처리 워크로드에서 HPC 시스템과 경쟁 가능한 성능을 달성할 수 있는 정도는 어느 정도인가?
  • RQ4Spark는 주요 재구성 없이도 기존의 천문학 소프트웨어 라이브러리와 자연스럽게 통합될 수 있는가?
  • RQ5과학적 데이터플로우 워크로드에서 클라우드 인프라에서의 Spark 사용과 HPC 클러스터 사용 간의 성능 트레이드오프는 어떠한가?

주요 결과

  • Amazon EC2 클라우드 환경에서 512개의 코어를 사용해 1TB 데이터셋을 처리할 때 Kira SE는 동일한 C 프로그램 대비 2.5배 빠른 성능을 기록하였으며, 주로 뛰어난 데이터 국소성 덕분이었다.
  • Spark는 SDSS DR7의 경우 176,938개의 작업을 포함해 10만 개 이상의 작업을 성공적으로 관리하였고, 클러스터 및 데이터 크기가 증가함에 따라 선형 확장성(스케일아웃)을 보였다.
  • EC2에서의 Kira SE 성능은 NERSC Edison 슈퍼컴퓨터에서 실행된 C 구현체와 경쟁 가능했으며, 워크로드에 따라 18.5% 느리거나 75.1% 빠른 성능을 기록하였다.
  • 기존의 천문학 라이브러리가 Spark 파이프라인에 원활하게 통합되어 수정 없이 잘 테스트된 코드를 그대로 재사용할 수 있었다.
  • Spark의 장애 내성 및 라인티지 추적 기능은 일시적인 장애에 대비한 복원력을 제공하였으며, MPI 기반 HPC 워크플로우에서 누락된 기능이었다.
  • 메모리 기반 계산과 최적화된 데이터 셔플링을 통해 Spark는 I/O 및 통신 오버헤드를 줄였으며, 특히 GlusterFS와 같은 공유 파일 시스템 환경에서 두드러진 성능 향상을 보였다.

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

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

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

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