Skip to main content
QUICK REVIEW

[논문 리뷰] Parallelize Bubble and Merge Sort Algorithms Using Message Passing Interface (MPI)

Zaid Abdi Alkareem Alyasseri, Kadhim Al-Attar|arXiv (Cornell University)|2014. 11. 19.
Parallel Computing and Optimization Techniques참고 문헌 10인용 수 3
한 줄 요약

이 논문은 메시지 전달 인터페이스(MPI)를 사용하여 병렬 구현된 버블 정렬과 머지 정렬을 제안하여 다중 코어 시스템에서의 정렬 성능을 향상시킨다. 입력 데이터를 단어 길이 기반으로 하위 배열으로 분할하고, 인텔 i7-3610QM(8개 CPU)에서 MPI를 활용함으로써, 두 가지 데이터 구조인 문자열 벡터와 3차원 배열을 평가한다. 그 결과, 메모리 접근 오버헤드가 감소한 3차원 배열 방식이 더 뛰어난 성능을 보였다.

ABSTRACT

Sorting has been a profound area for the algorithmic researchers and many resources are invested to suggest more works for sorting algorithms. For this purpose, many existing sorting algorithms were observed in terms of the efficiency of the algorithmic complexity. In this paper we implemented the bubble and merge sort algorithms using Message Passing Interface (MPI) approach. The proposed work tested on two standard datasets (text file) with different size. The main idea of the proposed algorithm is distributing the elements of the input datasets into many additional temporary sub-arrays according to a number of characters in each word. The sizes of each of these sub-arrays are decided depending on a number of elements with the same number of characters in the input array. We implemented MPI using Intel core i7-3610QM ,(8 CPUs),using two approaches (vectors of string and array 3D) . Finally, we get the data structure effects on the performance of the algorithm for that we choice the second approach.

연구 동기 및 목표

  • 다중 코어 아키텍처에서 MPI를 사용한 병렬화를 통해 정렬 효율성을 향상시키기 위해.
  • 분산 환경에서 데이터 구조 설계(문자열 벡터 대비 3차원 배열)가 정렬 성능에 미치는 영향을 조사하기 위해.
  • 다양한 크기의 표준 데이터셋에서 병렬 버블 정렬 및 머지 정렬의 확장성과 성능을 평가하기 위해.
  • 단어 길이 특성에 기반하여 입력 데이터를 프로세스 간에 최적의 방식으로 분배하는 방법을 규명하기 위해.

제안 방법

  • 각 단어의 문자 수를 기반으로 입력 데이터셋을 하위 배열으로 분할하여 프로세스 간 워크로드 균형을 맞추었다.
  • 8개 CPU를 갖춘 인텔 i7-3610QM 프로세서에서 MPI를 사용하여 데이터를 분산하고 프로세스 간 통신을 조율하였다.
  • 두 가지 데이터 구조를 구현: 문자열 벡터와 3차원 배열을 통해 메모리 접근 패턴과 성능를 비교하였다.
  • 버블 정렬과 머지 정렬 알고리즘을 별도로 MPI를 사용하여 병렬화하였으며, 각 하위 배열에서 로컬로 정렬한 후 최종 병합을 수행하였다(머지 정렬의 경우).
  • 다양한 크기의 표준 텍스트 파일을 사용하여 두 데이터 구조 간 성능을 측정하고 비교하였다.
  • 실행 시간과 메모리 접근 효율성에 기반하여 더 우수한 성능을 보인 접근 방식을 최종 결정하였다.

실험 결과

연구 질문

  • RQ1단어 길이 기반 데이터 분할이 MPI를 사용한 병렬 정렬에서 워크로드 균형에 어떤 영향을 미치는가?
  • RQ2MPI 환경에서 분산된 데이터를 저장하고 정렬할 때, 문자열 벡터와 3차원 배열 간의 성능 차이는 무엇인가?
  • RQ3다중 코어 시스템에서 MPI를 통해 병렬화된 버블 정렬과 머지 정렬은 어떻게 확장되는가?
  • RQ4데이터 구조 설계는 병렬 정렬에서 통신 및 메모리 오버헤드를 최소화하는 데 어떤 역할을 하는가?

주요 결과

  • 3차원 배열 데이터 구조가 메모리 국소성 향상과 접근 오버헤드 감소로 인해 문자열 벡터보다 뛰어난 성능을 보였다.
  • 더 큰 데이터셋에서 병렬 머지 정렬이 병렬 버블 정렬보다 더 뛰어난 확장성과 낮은 실행 시간을 기록하였다.
  • 단어 길이 기반의 데이터 분할이 프로세스 간 워크로드 균형을 효과적으로 맞추어 전반적인 효율성을 향상시켰다.
  • MPI 기반 구현이 다중 코어 시스템에서 정렬 시간을 성공적으로 단축시켰으며, 더 큰 입력에서 측정 가능한 성능 향상이 있었다.

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

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

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

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