• 검색 결과가 없습니다.

Efficient Executions of MPI Parallel Programs in Memory-Centric Computer Architecture

N/A
N/A
Protected

Academic year: 2021

Share "Efficient Executions of MPI Parallel Programs in Memory-Centric Computer Architecture"

Copied!
2
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

한국컴퓨터정보학회 하계학술대회 논문집 제27권 제2호 (2019. 7)

257

● 요 약 ●

본 논문에서는 “프로세서 중심 컴퓨터 구조”에서 개발된 MPI 병렬 프로그램을 수정하지 않고 “메모리 중심 컴퓨터 구조”에서 더 효율적으로 수행시키는 기술을 제안한다. 본 연구에서 제안하는 기술은 메모리 중심 컴퓨터 구조가 가지는 “빠른 대용량 공유 메모리” 특징을 이용하여 MPI 표준 라이브러리가 수행하는 네트워크 통신을 통한 느린 데이터 전달을 공유 메모리를 통한 빠른 데이터 전달로 대체하여 효율성을 얻는다. 본 연구에서 제안한 기술은 도커 가상화 기술을 사용한 분산 시스템 환경에서 MC-MPI-LIB 라이브러리 및 MC-MPI-SIM 시뮬레이터로 구현되었으며 다수의 MPI 병렬 프로그램으로 시험 수행하여 효율성이 있음을 보였다.

키워드: 컴퓨터 구조(Computer Architecture), 메모리 중심 컴퓨팅 구조(Memory-centric Computer Architecture), MPI(Message-Passing Interface), 병렬 프로그래밍(Parallel Programming)

메모리 중심 컴퓨터 구조에서 MPI 병렬 프로그램의 효율적인 수행

이제만*, 이승철*, 신동하O 상명대학교 컴퓨터과학과* 상명대학교 융합전자공학과O

e-mail:{frad0211, chewin9}@naver.com*, [email protected]O

Efficient Executions of MPI Parallel Programs in Memory-Centric Computer Architecture

Je-Man Lee*, Seung-Chul Lee*, Dong-Ha ShinO Dept. of Computer Science, Sang-Myung University* Dept. of Electronic Engineering, Sang-Myung UniversityO

I. Introduction

최근 들어 컴퓨터가 양적으로 급증하는 데이터를 효율적으로 처리 하지 못하는 현상이 발생함에 따라[3][7] 기존의 “프로세서 중심 컴퓨터 구조”를 대체하는 “메모리 중심 컴퓨터 구조”에 대한 개발이 시작되고 있다[1][3]. 메모리 중심 컴퓨터 구조가 등장하더라도, 프로 세서 중심 컴퓨터 구조에서 개발된 병렬 프로그램[4]은 재 작성되거나 수정되어야 메모리 중심 컴퓨터 구조에서 더 효율적으로 수행될 수 있다는 문제가 있다. 본 연구에서는 기존 프로세서 중심 컴퓨터 구조에서 개발된 MPI 병렬 프로그램을 수정하지 않고 메모리 중심 컴퓨터 구조에서 더 효율적으로 수행시키는 기술을 제안한다.

II. Preliminaries

1. 프로세서 중심 컴퓨터 구조

프로세서 중심 컴퓨터 구조는 자신만 접근 가능한 로컬 메모리를 가지는 다수의 프로세서 노드가 네트워크 통신으로 연결된 컴퓨터 구조이다. 현재의 분산 시스템, 클러스터, 슈퍼 컴퓨터 등은 이 구조를 가지고 있다[4].

2. 메모리 중심 컴퓨터 구조

메모리 중심 컴퓨터 구조는 다수의 프로세서 노드가 “빠른 대용량 공유 메모리”를 공유하는 구조를 가지는 컴퓨터 구조이다[3][7]. 이는 네트워크 통신을 통한 느린 데이터 전달을 공유 메모리를 통한 빠른 데이터 전달로 대체하여 병렬 프로그램을 프로세서 중심 컴퓨터 구조에서 보다 더 효율적으로 수행할 수 있는 환경을 제공한다. 최근 HP가 프로토타입으로 개발한 The Machine이 이 구조를 가지고 있다[7].

III. The Proposed Scheme

본 연구에서 제안하는 기술은 크게 두 가지로 구성된다. 첫째는 기존 MPI 표준 라이브러리 함수[5][6]의 의미를 유지하면서 메모리 중심 컴퓨터 구조에서 더 효율적으로 수행하는 수정된 MPI 라이브러 리 함수(MC-MPI-LIB)의 개발이고, 둘째는 프로세서 중심 컴퓨터 구조 상에서, MPI 병렬 프로그램에 대하여, 메모리 중심 컴퓨터 구조의 수행을 시뮬레이션하는 기술(MC-MPI-SIM)이다.

(2)

한국컴퓨터정보학회 하계학술대회 논문집 제27권 제2호 (2019. 7)

258 1. MC-MPI-LIB

MC-MPI-LIB는 기존 MPI 함수 내의 통신을 통한 데이터 전달 부분을 공유 메모리를 통한 데이터 복사로 수정하여 효율적인 수행을 얻는다. 이를 위하여 각 MPI 함수에 대응하는 새로운 MPI 함수를 개발하였다. 사용자는 이 라이브러리를 사용하여 기존 프로세서 중심 컴퓨터 구조에서 개발한 MPI 프로그램을 수정하지 않고 메모리 중심 컴퓨터 구조에서 더 효율적으로 수행할 수 있다.

2. MC-MPI-SIM

MC-MPI-SIM은 MPI 병렬 프로그램이 메모리 중심 컴퓨터 구조에 서 수행될 때 수행 시간을 예측하는 프로그램이다. 이 프로그램을 사용하면 어떤 MPI 병렬 프로그램의 프로세서 중심 컴퓨터 구조에서 의 수행 시간과 메모리 중심 컴퓨터 구조에서의 수행 시간을 비교해 볼 수 있다. 이 프로그램은 MPI 병렬 프로그램의 수행 시간을 통신 수행 시간과 계산 수행 시간으로 나누어 비교할 수도 있고, 각 MPI 함수가 수행한 수행 시간을 구분하여 알아볼 수도 있다.

IV. Simulation Results

Fig. 1. Simulation results of Matrix-vector multiplication

제안한 기술은 Dell PowerEdge T620 Server, Intel(R) Xeon(R) CPU E5-2640 @ 2.50GHz, 12-Core * 2, Memory 192G와 Ubuntu 18.04.1 LTS Server OS 환경 및 도커 가상화 기술를 이용하여 구축한 분산 시스템[2][8] 상에서 개발하고 시뮬레이션하였다. 본 연구에서는 시뮬레이션을 위해 Ping-pong, Pi-Calculation, Matrix-vector multiplication, Sorting 및 All-pairs shortest paths 등의 MPI 병렬 프로그램을 사용하였으며, Fig. 1.은 그 중 Matrix-vector multiplication 프로그램의 시뮬레이션 결과이다.

V. Conclusions

메모리 중심 컴퓨터가 등장하더라도 기존에 프로세서 중심 컴퓨터 에서 개발된 MPI 병렬 프로그램을 그대로 메모리 중심 컴퓨터에서

수행시켜서는 성능 향상이 없다. 이를 해결하기 위해 본 논문에서는 기존 MPI 병렬 프로그램을 수정하지 않고 메모리 중심 컴퓨터에서 성능 향상이 가능한 기술을 개발하였다. 본 논문에서 구현한 방법을 통해 기존 MPI 병렬 프로그램을 메모리 중심 컴퓨터에서 더 높은 성능으로 수행 가능함을 보였으며, 특히 통신 오버헤드 비율이 높은 MPI 병렬 프로그램의 경우 메모리 중심 컴퓨터에서 매우 높은 성능으 로 수행 가능하다는 점을 시뮬레이션을 통해 확인하였다.

REFERENCES

[1] K. Bresniker, S. Singhal, and R. Williams, "Adapting to thrive in a new economy of memory abundance", Computer, 48(12), 44-53, 2015.

[2] M. Chung, N. Hung, M. Nguyen, N. Thoai, "Using Docker in High Performance Computing Applications", ICCE, 2016.

[3] P. Faraboschi, K. Keeton, T. Marsland and D. Milojicic,

"Beyond Processorcentric Operating Systems", HotOS, 2015.

[4] A. Grama, A. Gupta, G. Karypis and V. Kumar, Introduction to Parallel Computing, Second Edition, Addison Wesley, 2003.

[5] W. Gropp, E. Lusk and A. Skjellum, Using MPI Portable Parallel Programming with the Message-Passing Interface Third Edition, The MIT Press, 2014.

[6] G. Hager and G. Wellein, Introduction to High Performance Computing for Scientists and Engineers, CRC Press, 2011.

[7] K. Keeton, "Memory-Driven Computing", USENIX FAST, 2017.

[8] Docker Documentation, https://docs.docker.com/, 2019.

수치

Fig.  1.  Simulation  results  of  Matrix-vector  multiplication

참조

관련 문서

STEAM 교육은 ’과학기술에 대한 학생의 흥미와 이해를 높이고 과학기술 기반 의 융합적 사고력과 실생활 문제 해결력을 배양하는 교육‘ 이며, 어떤 교과라도 중심 교과가

이름 그대로 Geometry(기하)와 Algebra(대수)의 합성어로 동적 기하 소프트웨어 (DGS;Dynamic Geometry Software)와 컴퓨터 대수 시스템(CAS;Computer Algebra

넷째,각 학생별 컴퓨터 활용능력 편차가 크다.이 특성은 초등학교 각 학교 학급간 의 컴퓨터 교육의 계속성과 연관된 문제로서 각 학교 학급에서 컴퓨터 교육과

54는 공기 냉각시스템을 사용한 컴퓨터를 1시간 동안 작동시켜 컴퓨터 내부 의 온도를 상승시킨 후 전자냉각시스템을 1시간 동안 작동시켰을 경우에 컴퓨터

이에, 본 연구는 융합인재교육(STEAM) 기반 협력 중심 M.I.O.(Make It Ourselves) 프로그램을 개발하여 과학적 사고방식 및 조직력, 창작력, 논리력, 추론 력, 협업을 경험해

메이커 중심

 지역 인터넷 서비스 제공자(Regional Internet Service Provider).  지역 ISP 또는 하나 이상의 NSP에

폼을 열어 레코드들이 표시될 때 발 생하며, 이 이벤트는 Current 이벤트 전에 발생하고 Open 이벤트 후에 발 생함.