[논문 리뷰] Performance Comparison of MPICH and MPI4py on Raspberry Pi-3B Beowulf Cluster
이 논문은 저비용 라즈베리 파이-3B 비오울프 클러스터에서 병렬 계산 작업을 위한 MPICH와 MPI4py의 성능을 평가한다. 몬테 카를로 시뮬레이션을 이용해 π를 추정하고 소수 생성을 수행함으로써, 저비용 하드웨어를 활용한 병렬 처리를 통해 고성능 6500코어 인텔 i7 시스템을 뛰어넘는 뛰어난 성능을 달성함을 입증한다. 이는 고성능 계산(HPC) 교육 및 실험에 있어서 일반 소비자용 하드웨어의 비용 효율성을 강조한다.
Moore's Law is running out. Instead of making powerful computer by increasing number of transistor now we are moving toward Parallelism. Beowulf cluster means cluster of any Commodity hardware. Our Cluster works exactly similar to current day's supercomputers. The motivation is to create a small sized, cheap device on which students and researchers can get hands on experience. There is a master node, which interacts with user and all other nodes are slave nodes. Load is equally divided among all nodes and they send their results to master. Master combines those results and show the final output to the user. For communication between nodes we have created a network over Ethernet. We are using MPI4py, which a Python based implantation of Message Passing Interface (MPI) and MPICH which also an open source implementation of MPI and allows us to code in C, C++ and Fortran. MPI is a standard for writing codes for such clusters. We have written parallel programs of Monte Carlo's Simulation for finding value of pi and prime number generator in Python and C++ making use of MPI4py and MPICH respectively. We have also written sequential programs applying same algorithms in Python. Then we compared the time it takes to run them on cluster in parallel and in sequential on a computer having 6500 core i7 Intel processor. It is found that making use of parallelism; we were able to outperform an expensive computer which costs much more than our cluster.
연구 동기 및 목표
- 저비용 일반 소비자용 하드웨어 비오울프 클러스터에서 MPICH와 MPI4py의 성능을 평가한다.
- 학생들과 연구자들이 병렬 컴퓨팅을 실습할 수 있도록 접근성 있고 저비용의 플랫폼을 제공한다.
- 고성능 상용 프로세서와 비교하여 클러스터에서 계산이 많이 소요되는 알고리즘의 병렬 및 순차적 구현의 실행 시간을 비교한다.
- 저비용 하드웨어에서의 병렬 처리가 고가의 단일 시스템 성능을 뛰어넘을 수 있음을 보여준다.
제안 방법
- 이더넷으로 연결된 여덟 대의 라즈베리 파이-3B 노드를 사용해 비오울프 클러스터를 구축하였으며, 한 대는 마스터로 지정하고 나머지는 슬레이브로 사용하였다.
- 몬테 카를로 시뮬레이션을 통해 π를 추정하고 소수 생성을 수행하기 위해 파이썬을 사용한 MPI4py와 C++를 사용한 MPICH로 병렬 프로그램을 구현하였다.
- 성능 벤치마킹을 위해 동일한 알고리즘의 순차적 버전을 파이썬으로 개발하였다.
- 클러스터와 6500코어 인텔 i7 프로세서에서 병렬 및 순차 실행의 실행 시간을 측정하였다.
- 표준 MPI 통신 패턴을 사용해 작업을 분산하고 결과를 노드 간 집계하였다.
- 고성능 CPU에서의 순차 실행 대비 속도 향상과 효율성에 기반해 성능을 평가하였다.
실험 결과
연구 질문
- RQ1라즈베리 파이-3B 비오울프 클러스터에서 병렬 응용 프로그램을 실행할 때 MPI4py의 성능은 MPICH와 어떻게 비교되는가?
- RQ2저비용 일반 소비자용 하드웨어 클러스터가 병렬 컴퓨팅 작업에서 고성능 상용 프로세서를 얼마나 뛰어넘을 수 있는가?
- RQ3고성능 단일 코어 시스템에서의 순차 실행 대비 비오울프 클러스터에서의 병렬화로 달성한 속도 향상은 어느 정도인가?
- RQ4라즈베리 파이 기반 클러스터는 병렬 및 분산 컴퓨팅 개념을 가르치는 교육 도구로 얼마나 효과적인가?
주요 결과
- 몬테 카를로 및 소수 생성 알고리즘의 병렬 구현에서, 라즈베리 파이-3B 비오울프 클러스터는 6500코어 인텔 i7 프로세서보다 뛰어난 성능을 달성하였다.
- 클러스터에서의 병렬 실행은 고성능 CPU에서의 순차 실행 대비 계산 시간을 크게 단축시켰으며, 상당한 속도 향상을 입증하였다.
- MPI4py와 MPICH는 모두 효과적인 로드 분배 및 노드 간 통신을 가능하게 했으며, 성능 결과는 구현 방식의 선택이 총합 성과에 미치는 영향이 미미하다는 것을 시사한다.
- 이 연구는 일반 소비자용 하드웨어가 적절히 병렬 처리가 이루어지면 기존 고성능 시스템에 비해 비용의 일부에 불과한 비용으로도 경쟁 가능한 성능을 제공할 수 있음을 확인한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.