ISSN 2383-6318(Print) / ISSN 2383-6326(Online) KIISE Transactions on Computing Practices, Vol. 20, No. 10, pp. 534-542, 2014. 10 http://dx.doi.org/10.5626/ktcp.2014.20.10.534 분자동역학과 확률회전동역학을 결합한 멀티스케일 모델링 기법 개발 (Development of Multiscale Modeling Methods Coupling Molecular Dynamics and Stochastic Rotation Dynamics) 차 광 호 정 영 균 (Kwangho Cha) (Youngkyun Jung) 요 약 멀티스케일 모델링은 시공간적으로 서로 다른 규모의 시스템을 다룰 수 있는 시뮬레이션 기법 이다. 본 연구에서는 멀티스케일 모델링 연구의 일환으로 서로 다른 시뮬레이션 기법인 분자동역학과 확률 회전동역학을 결합할 수 있는 방법을 제안한다. 분자동역학 프로그램 중 잘 알려진 오픈 소스인 LAMMPS를 기반으로 멀티스케일링 모델링을 구현하였으며 LAMMPS에서 정의한 제3자를 위한 표준 확 장 방법을 따랐다. 제안된 방법에서는 확률회전동역학 모델을 기본으로 경계 영역은 분자동역학으로 해석 가능하게 하였고 심리스한 해석을 보장하기 위하여 중첩 영역과 정보 교환 영역을 함께 구현하였다. 예비 실험을 수행한 결과, 제안된 멀티스케일 방법론이 기존 분자동역학 시뮬레이션 결과와 일치된 해석 결과를 보여주었으며 실행 시간 또한 단축시킬 수 있음을 확인하였다. 키워드: LAMMPS, 분자동역학, 멀티스케일 모델링, 병렬프로그램 Abstract Multiscale modeling is a new simulation approach which can manage different spatial and temporal scales of system. In this study, as part of multiscale modeling research, we propose the way of combining two different simulation methods, molecular dynamics(md) and stochastic rotation dynamics(srd). Our conceptual implementations are based on LAMMPS, one of the well-known molecular dynamics programs. Our prototype of multiscale modeling follows the form of the third party implementation of LAMMPS. It added MD to SRD in order to simulate the boundary area of the simulation box. Because it is important to guarantee the seamless simulation, we also designed the overlap zones and communication zones. The preliminary experimental results showed that our proposed scheme is properly worked out and the execution time is also reduced. Keywords: LAMMPS, molecular dynamics, multiscale modeling, parallel program 정 회 원 : 한국과학기술정보연구원(KISTI) khocha@kisti.re.kr (Corresponding author임) 비 회 원 : 한국과학기술정보연구원 yjung@kisti.re.kr 논문접수 :2014년 7월 10일 (Received 10 July 2014) 논문수정 :2014년 8월 28일 (Revised 28 August 2014) 심사완료 :2014년 9월 3일 (Accepted 3 September 2014) CopyrightC2014 한국정보과학회ː개인 목적이나 교육 목적인 경우, 이 저 작물의 전체 또는 일부에 대한 복사본 혹은 디지털 사본의 제작을 허가합니다. 이 때, 사본은 상업적 수단으로 사용할 수 없으며 첫 페이지에 본 문구와 출처 를 반드시 명시해야 합니다. 이 외의 목적으로 복제, 배포, 출판, 전송 등 모든 유형의 사용행위를 하는 경우에 대하여는 사전에 허가를 얻고 비용을 지불해 야 합니다. 정보과학회 컴퓨팅의 실제 논문지 제20권 제10호(2014. 10) 1. 서 론 컴퓨터 기술의 발달로 인한 고성능 시스템의 보급은 고성능 컴퓨팅 기법을 다양한 분야에서 활용하는 계기가 되었다. 그러나 슈퍼 컴퓨터와 같은 고성능 시스템은 태 생적으로 계산 과학 분야와 깊게 연관되어 있어 여전히 계산 과학 분야의 시뮬레이션 프로그램들이 슈퍼컴퓨터 시스템의 주요한 어플리케이션으로 자리 매김하고 있다. 이와 같은 시뮬레이션 프로그램들은 모델링하고자 하 는 자연 현상에 따라 다양하게 개발되어 왔으며 연구 대상의 시공간적인 규모(scale)을 고려하여 적합한 시뮬 레이션 기법을 선택하게 된다. 최근에는 제한된 계산 자 원의 한계를 극복하기 위하여 서로 다른 모델링 방법을 접목하는 멀티스케일 모델링 기법의 적용 사례가 증가
분자동역학과 확률회전동역학을 결합한 멀티스케일 모델링 기법 개발 535 하고 있다. 본 연구에서는 미시계(micro-scale)에서 발생하는 자 연 현상을 모델링하는데 적합한 분자동역학(Molecular Dynamics, MD)[1,2]과 중시계(meso-scale)의 현상을 모델링할 수 있는 확률회전동역학(Stochastic Rotation Dynamics, SRD)[3]을 결합한 멀티스케일 시뮬레이션 기법을 구현하였다. 특히 다양한 사용자층을 확보하고 있 는 오프소스 기반의 MD 시뮬레이션 도구인 LAMMPS (Large-scale Atomic/Molecular Massively Parallel Simulator)[4]에 MD와 SRD를 동시에 실행할 수 있는 기능을 추가하여 멀티스케일 모델링이 가능하도록 하였다. 미시계 문제를 다룰 수 있는 MD는 입자 단위로 연 구 대상을 모델링하기 때문에 세밀하고 정확한 시뮬레 이션이 가능하다는 장점이 있으나 다루는 시간 범위가 짧고 큰 규모의 대상을 모델링하기 위해서는 시간이 많 이 걸린다는 단점이 있다[1,2]. 반면 유체역학(Hydrodynamics) 문제를 계산하는데 이용되는 SRD는 MD 보다 큰 규모의 문제를 풀 수 있다는 장점이 있으나 경 계 영역에서의 정확도를 유지하기 힘들다는 단점이 존 재한다[3]. 이에 큰 규모의 문제 대부분은 SRD로 해석 하되 경계 영역은 MD를 적용하여 풀면 두 가지 방법론 의 단점을 보완할 수 있다. 본 연구에서는 LAMMPS의 MD 기법에 SRD 기법 을 결합하기 위한 여러 가능성들을 분석하였고 그 결과 LAMMPS가 사용하는 유저 함수 형태의 함수 집합으로 그 기능을 구현하였다. 또한 서로 다른 시뮬레이션 방법 론을 심리스(seamless)하게 결합하는데 필요한 기능들 을 도출하고 구현하였다. 본 논문의 구성은 다음과 같다. 2장에서는 분자동역 학, 확률회전동역학 및 멀티스케일 모델링의 기본 개념 과 LAMMPS의 특징에 대하여 살펴보고 3장에서는 두 방법론을 위한 결합 방법들의 특징과 장단점을 소개한 다. 4장에서는 MD와 SRD의 결합을 위하여 현재까지 구현된 프로토타입(이하 MDSRD)의 구조 및 예비 실험 결과에 대해서 설명하고 5장에서는 본 연구의 시사점과 향후 계획을 소개한다. 2. 관련 연구 2.1 분자동역학(MD) MD는 주어진 물질을 구성하는 분자들간의 힘을 계산 하여 분자 운동을 모사함으로서 해당 물질의 특성을 탐 구하는 학문이다. 현재 시간(t)의 입자들에 대한 뉴튼의 운동방정식을 계산하여 다음 시간(t+ t)에서의 입자들의 위치, 속도 및 힘을 구하는 과정을 반복하여 최종적으로 해당 물질의 여러 가지 물리적인 성질을 계산한다[1,2]. MD 시뮬레이션에서 가장 많은 시간이 소요되는 부분 은 각 입자들 사이에 작용하는 힘을 계산하는 부분으로 퍼텐셜 함수를 이용하여 구하게 된다[5,6]. 식 (1)은 일 반적으로 많이 이용되는 레너드-존스 퍼테셜(Lennard- Jones Potential)을 보여주며 이를 이용하여 식 (2)와 같 이 입자간의 힘을 구하게 된다. (1) (2) 여기에서 와 는 에너지와 거리의 단위이고 은 입자 간의 거리이다. 이때, N개의 입자를 가지는 물질에서 특정 입자가 받 게 되는 힘은 N-1개 입자들과의 상호 작용력을 누적하 여 구하게 되므로 한 번의 시간 단계(timestep)내에서의 시간 복잡도는 O(N 2 )가 된다. 1) MD 시뮬레이션에 널리 이용되는 소프트웨어에는 CHARMM, AMBER, LAMMPS, NAMD등이 있으며, CHARMM과 AMBER는 오래전부터 개발되어 충분히 검증된 소프트웨어라는 장점이 있고, LAMMPS와 NAMD 는 후발 주자이지만 병렬시스템의 특성을 잘 반영하여 병렬 확장성에서의 장점을 가지고 있는 소프트웨어들이 다[7]. 2.2 확률회전동역학(SRD) SRD는 중시계를 연구하는데 적합한 시뮬레이션 기법 이다. 특히 유체 역학(Hydrodynamics)를 구현하기 위 한 입자 기반 시뮬레이션 기법으로 용제나 용액 등의 특성을 해석하는데 적합한 기법이다. MD와는 다르게 입자들 간의 상호 작용이 존재하지 않는다는 가정하에 입자들은 식 (3)과 같이 매 시간 이 류(advection)를 진행하고 특정 주기로 식 (4)와 같이 입 자들에 대한 회전을 수행하는 것이 주요 내용이다[3]. 2) (3) (4) 여기서 와 는 입자 및 특정 영역에서의 속도이다. 이와 같이 한 번의 시간 단계 내에서 각 입자들은 상 호 작용 없이 이류내지는 회전만을 수행하므로 시간 복 잡도는 O(N)가 된다. 이것이 MD 기법과 차별되는 부 분으로 MD가 다루는 규모보다 훨씬 큰 중시계의 문제 를 다룰 수 있는 이유이기도 하다. 이러한 장점에도 불 구하고 SRD는 다루고자 하는 계의 경계 부분에서 정확 한 물성을 계산하지 못하는 단점을 가지고 있다. 1) 최근 MD 코드에서는 특정 입자와 N-1개의 모든 입자들 간의 상호 작 용력을 계산하는 것이 아니라, 물리적으로 의미있는 거리 내의 입자들을 대상으로 상호 작용력을 계산하고 있다. 2) 는 회전 행렬을 의미한다.
536 정보과학회 컴퓨팅의 실제 논문지 제 20 권 제 10 호(2014.10) 그림 1 분야별 시뮬레이션 방법 및 특징[8] Fig. 1 Traditional simulation methods and their characteristics[8] 2.3 멀티스케일 모델링 앞서 언급된 바와 같이 현재 사용되고 있는 많은 시뮬 레이션 기법들은 서로 상이한 시간, 공간, 그리고 에너지 차원에 맞게 발전되어 왔다. 그림 1은 각 분야별로 사용되 는 대표적인 시뮬레이션 방법론들과 그 특징을 보여준다[8]. 이러한 다양한 시뮬레이션 방법론이 존재함에도 불구 하고 사용자의 요구 사항이 보다 복잡하게 되어, 풀고자 하는 문제의 크기 증대, 시뮬레이션 결과의 정확도 향상 및 시스템 자원의 효율적인 사용 등과 같은 요구 사항 들을 시뮬레이션 방법론이 수용할 수 있어야만 했다. 이 를 위해 서로 스케일이 상이한 시뮬레이션 방법론을 통 합하여 사용하는 기법을 통칭하여 멀티스케일 모델링이 라 부른다. MD의 관점에서 멀티스케일 모델링의 필요성을 고려 해 보면, MD에서 다룰 수 있는 입자 수의 제약으로 시 뮬레이션 대상이 큰 경우, MD만으로 해석하기에는 한계 가 있다. 또한 그림 1과 같이 빠르게(10-12 초~10-9 초) 진 행되는 물리 현상을 MD로 해석하기에는 큰 문제가 없 으나 10-6 초 이상에서 일어나는 현상을 MD만으로 풀기 에는 무리가 있다. 이처럼 하나의 문제 영역을 MD 기법 만을 적용하여 시뮬레이션 하기에는 시간과 공간적인 제 약이 있기 때문에 좀 더 큰 시공간 스케일을 다루는 방 법론을 부분적으로 적용하여 그 한계를 극복할 수 있다. 한편 상대적으로 큰 스케일의 문제를 다루는 연속체 모델링과 같은 경우에는 풀고자 하는 지배방정식의 일 부 항을 대략적인 상수 값으로 간주하고 해석해야만 한 다. 반면 멀티스케일 모델링 방법은 대략적인 상수 값 대신, 함께 사용된 모델링 기법의 도움을 받아 매번 정 확하게 계산된 값을 사용할 수 있기 때문에 시뮬레이션 결과의 정확도를 높일 수 있는 장점이 있다. 이처럼 멀티스케일 모델링은 서로 다른 시간스케일을 사용하는 모델링 기법들을 결합한다는 점에서 동일한 시간스케일을 사용하는 모델링 기법들을 결합하는 하이 브리드 방법론보다 발전된 기술이라 할 수 있다. 그림 1에 언급된 여러 연구 분야별로 서로 다른 모델 링 기법을 결합한 다양한 연구 사례를 찾아 볼 수 있다. MD와 전산유체역학(CFD)를 결합하여 유체 흐름[9]과 모퉁이 흐름[10]을 해석하거나 MD와 같은 시간스케일 을 사용하는 몬테칼로(Monte Carlo, MC) 시뮬레이션을 CFD와 결합하여 희박 기체의 흐름을 해석하기도 한다 [11]. 또한 DNA를 용액에 떠있는 고분자 사슬로 간주 하고 이를 효율적으로 해석하기 위해 MD와 몬테칼로 시뮬레이션을 접목한 경우[12] 3) 역시 하이브리드한 결 합이기는 하지만 의미 있는 연구라 할 수 있다. 이처럼 여러 분야에서 모델링 기법의 결합에 대한 다 양한 선행 연구들이 진행되고 있다. 그러나 이런 연구 대부분이 공통적으로 결합된 모델링 기법을 구현하는데 연구자들의 자체 코드(Inhouse Code)를 사용하기 때문 에 제안된 방법론을 제3자가 활용하는데 제약이 있다. 본 연구에 앞서 진행된 선행 연구[13]에서는 자체 코드 가 아닌 범용 코드로 많이 이용되는 LAMMPS를 기반 으로 MD과 SRD의 결합 가능성을 제시하였으나 심리 스한 해석 결과를 얻기에는 부족함이 있었다. 3) 해당 연구[12]에서는 이벤트 중심(Event-Driven)의 분자동역학을 사용 하였으나 본 논문에서는 타임스텝 중심(Timestep-Driven)의 분자동역 학을 사용한다.
분자동역학과 확률회전동역학을 결합한 멀티스케일 모델링 기법 개발 537 2.4 LAMMPS 본 연구에서 사용하는 LAMMPS는 미국 샌디아 연 구소와 로렌스 리버모어 연구소가 공동으로 개발한 대 규모 문제를 해석할 수 있는 병렬화된 분자동역학 패키 지로 오픈 소스이다. 원자, 고분자, 생물학, 금속, 알갱이 및 coarse-grained system을 모델링할 수 있으며 초기 에는 FORTRAN으로 개발되었으나 현재는 객체 지향 언어인 C++ 언어로 작성되어 있다. MPI를 이용한 병렬처리를 지원하는 LAMMPS는 수 만개의 프로세서까지 활용이 가능하다. 공간적인(spatial) 작업 분할 방식을 사용하고 있으며 각 입자들이 균등하 게 분포하지 않는 경우의 로드밸런싱을 위하여 시뮬레 이션 영역을 가변적으로 분할할 수 있는 기능을 제공한다. 상대적으로 후발 주자인 LAMMPS가 사용자층을 늘 릴 수 있었던 이유 중 하나는 제3자에 의한 기능 수정 및 보강이 가능하다는 것이다. LAMMPS는 기본 사용 방법 이외에 라이브러리 형태로 활용이 가능하며 또한 fix라는 일종의 서브루틴들의 집합을 추가하여 기능의 수정 및 추가도 가능하다. 현재 LAMMPS는 이와 같은 fix 형태로 SRD 기능 을 제공하고 있으나 특정 입자들에 대해서만 고전적인 MD 계산이 가능하며 다수의 입자들에는 SRD 기법만 적용할 수 있다. 즉, 현재의 SRD를 위한 fix는 멀티스 케일 모델링에 필요한 MD와 SRD를 결합한 해석 방법 은 제공하지 못하는 상황이다. 3. LAMMPS 기반 프로그램 연동 본 장에서는 LAMMPS를 기반으로 타 시뮬레이션 기법과 결합하여 멀티스케일 모델링을 구현하기 위하여 선택 가능한 방법들을 살펴본다. 3.1 Loosely-coupled 방식 작업 스케쥴러(Job Scheduler)가 여러 작업을 그룹으 로 묶어서 스케쥴링하고 자원을 할당할 수 있는 경우, 그림 2(a)와 같이 할당된 계산 자원 내에서 두 종류의 시뮬레 이션 프로그램들이 실행되고 서로 통신하는 방식이다[14]. 시뮬레이션 프로그램에 대한 수정이 적다는 장점이 있지만 스케쥴러의 지원이 가능한 경우에만 적용이 가 능하다. 또한 계산 자원이 불균등하게 활용될 수 있어 동적 로드밸런싱 필요하다는 단점이 있다. 3.2 단일 프로그램 방식 LAMMPS를 단일 프로그램의 형태로 타 프로그램과 연동하는 방법중 우선적으로 고려해 볼 수 있는 것은 LAMMPS를 라이브러리(liblammps.a)로 생성하여 상위 프로그램에 결합시키는 것이다. 이 경우, 그림 2(b)와 같이 타 분야의 시뮬레이션 프로그램이 상위 프로그램 의 역할을 수행한다[15]. 이와 반대로 그림 2(c)와 같이 다른 시뮬레이션 프로 그램이 LAMMPS의 일부 기능으로 포함되는 방법을 고 려할 수 있는데 LAMMPS의 fix 또는 커맨드로 수정되 어 추가될 수 있다. 두 방식의 차이점을 설명하기 위하 여 LAMMPS가 시뮬레이션을 수행할 때 사용하는 입력 스크립트의 예제를 그림 3에 나타내었다. 먼저 시뮬레이 션에 대한 특성 및 환경에 대하여 기술하고(시작~1), fix를 통한 기능 보완이 필요한 경우, 해당 fix들을 등록 한다(1~3). 이와 같은 환경 설정과 fix로 등록된 서브 루틴들을 참고하면서 시뮬레이션을 수행한다(4과 6). 즉, 그림 3을 참조하여 우리가 목표로 하는 멀티스케 일 기능을 fix로 구현하거나, 커맨드 방식으로 구현하는 것의 차이를 살펴보면, fix의 경우(2)에는 run에 의해 시뮬레이션이 수행되는 n스텝 중 매 스텝마다 fix에 의 해 등록된 서브루틴이 호출되며 커맨드 방식의 경우(5) 에는 n스텝의 시뮬레이션이 끝난뒤, 즉 run과 run사이 에만 실행되는 차이를 갖는다. 이처럼 fix가 보다 세부 적으로 호출될 수 있다는 특성을 감안하여 본 연구에서 는 fix기반의 멀티스케일 모델링 기법을 선택하였다. 4. LAMMPS 기반 MDSRD 구현 본 연구에서는 기존 연구들과는 달리 범용 MD 소프 트웨어인 LAMMPS에 탑재가 가능하고 MD와 SRD를 결합하더라도 심리스한 해석이 가능한 패케지를 개발하 였다. 본장에서는 LAMMPS를 기반으로 구현된 MDSRD 모듈의 구성 및 특성에 대하여 설명한다. 특히, 선행 연 구[13]와 유사 개념인 중첩 영역을 본 연구에서도 사용 하였으나 내부 구조 및 구체적인 운영 방법에는 차이가 있다. (a) Loosely-coupled method (b) LAMMPS library (c) fix and command method 그림 2 LAMMPS 기반 프로그램 연동 방법 Fig. 2 LAMMPS-based program coupling methods
538 정보과학회 컴퓨팅의 실제 논문지 제 20 권 제 10 호(2014.10) 그림 3 LAMMPS의 입력 스크립트 예 Fig. 3 Example of LAMMPS input script 4.1 속성 변경 방식[13] 속성 변경 방식의 MDSRD는 SRD 입자의 속성을 변 경하는 방식을 취하고 있다. 그림 4(a)와 같이 SRD 입 자의 위치에 따라 입자의 속성을 SRD 또는 MD로 변 경하면서 제반 계산을 수행하도록 하였다. 각 입자들이 어느 영역에 위치하는가에 따라 적용되는 시뮬레이션 방법이 결정되므로 영역별로 속해있는 입자 들에 대한 식별 방법이 필요했다. 기존의 LAMMPS에 서는 각 입자에 대한 그룹 관리를 위해 비트 마스크를 사용하고 있는데 이를 수정하여 입자들에 대한 식별자 로 이 비트 마스크 중 4비트를 사용할 수 있도록 하였 다. 중첩 영역은 SRD 입자가 MD 속성과 SRD 속성을 동시에 갖게 하는 목적으로 운영되었다. 속성 변경 방식의 MDSRD의 경우, fix 및 수정된 비 트 마스크를 활용하여 영역별 입자들의 속성 변경이 가 능하다는 것을 확인하기에는 문제가 없었으나 MD 영역 에서 SRD 입자가 MD 입자로 변경되는 경우에 발생하 는 급작스런 물리량의 변화로 인하여 심리스한 시뮬레 이션 결과를 도출하는데 제약이 있었다. 4.2 영역별 정보 전달 방식 선행 연구[13]에서 발생하는 문제를 해결하기 위하여 영역별로 물리량을 전달하는 방법을 고려하였다. 그림 4(b)는 영역별 정보 전달 방식의 예를 보여준다. 그림과 같이 중첩 영역에는 MD 입자와 SRD 입자가 공존하나 서로 독립적으로 시뮬레이션이 진행된다. 이후 중첩 영 역 중 일부 영역에서 주기적으로 정보 교환을 수행한다. MD와 SRD 모두 각자 다루는 입자들을 빈(bin) 또는 셀(cell) 단위로 그룹지어서 관리한다[1,2]. 이에 이들 빈 (또는 셀)단위의 평균 물리량을 전달하거나 참조하는 방 식을 취하였다. 일반적으로 MD용 빈이 SRD용 빈보다 크게 형성되므로 하나의 MD용 빈에 다수의 SRD용 빈들 이 대응된다는 가정하에 MD에서 SRD, SRD에서 MD 로의 매핑테이블을 구성하여 정보 교환에 활용하였다. 또한 해당 시뮬레이션 시간 스텝에서 전달된 물리량 이 피드백되는 것을 피하기 위해 정보가 송수신되는 영 역을 서로 인접하지 않도록 하였다. 이와 같은 구조의 MDSRD가 갖는 오버헤드는 다음 과 같이 크게 2가지가 존재한다. 입자수의 증가: 중첩 영역의 경우, 동일한 밀도의 MD 입자와 SRD 입자가 동시에 존재하게 되므로 MD 방 법으로 시뮬레이션 했을 때 보다 더 많은 입자들을 관리해야 한다. 정보 교환 비용: 일정 주기로 MD용 빈과 SRD용 빈 간에 정보 교환이 이루어져야 하며 어떤 빈들을 대상 으로 정보 교환이 필요한지를 확인하기 위해 별도의 관리 비용이 발생한다. 이와 같은 오버헤드로 인하여 MDSRD가 모든 경우 에 효과적이라고 이야기하기는 힘들며 SRD를 통한 계 산 시간 절감이 이러한 오버헤드를 상쇄하고 효과를 보 기 위해서는 일정 규모 이상의 문제에 적용되어야 할 것으로 예상된다. 4.3 fix 기반 구현 앞서 설명된 run명령어(그림 3의 4과 6)의 내부 처 리 과정을 그림 5에 기술하였다. 한 번의 시뮬레이션 시 간 스텝에서 다양한 함수들이 호출되는데 이중 제3자에 의해 기능이 추가될 수 있는 부분은 fix 클래스의 함수 들이다. 즉 제3자는 수정하거나 추가하고자 하는 기능을 C++ 형태의 함수들로 작성하여 fix 객체를 생성하고 등 록한다. 이후 LAMMPS는 fix를 위한 객체 함수 배열 에 선택적으로 등록된 함수들을 순서대로 실행한다. 우리가 구현한 MDSRD fix는 3군데의 객체 함수배열 에서 접근하게 된다. fix->initial_integrate()에서는 n번 의 타임 스텝 중 처음 한 번에 한하여 MD에서 SRD로 SRD에서 MD로의 매핑테이블을 구성한다. 이는 run 명 령어와 run 명령어 사이에 MD용 빈이나 SRD용 빈의
분자동역학과 확률회전동역학을 결합한 멀티스케일 모델링 기법 개발 539 (a) Attribute modification based approach[13] (b) Communication based approach 그림 4 MDSRD 개념도 Fig. 4 Conceptual overview of MDSRD 위치가 바뀌는 경우를 고려한 결과이다. fix->post_force() 에 의해 MDSRD가 호출되는 경우에는 MD 입자들이 존재할 수 있는 영역을 벗어나지 않도록 위치를 보정해 준 뒤 MD에서 SRD로의 정보 전달을 수행한다. 이후 SRD에서 MD로의 정보 전달은 fix->final_integrate() 를 수행하는 과정에서 진행된다. 4.4 시뮬레이션 검증 MDSRD의 실행 결과를 검증하기 위하여 그림 6(a) 와 같은 쿠에트 흐름(Couette flow)을 모델링하여 그 결과를 비교하였다. 이는 그림 6(a)와 같이 두 개의 평 판을 유체 영역의 상부(1)와 하부(2)에 위치시키고 상판 (1)을 일정한 속도로 X축 방향으로 밀면서 유체 영역의 변화를 관찰하는 시뮬레이션이다. 이때 유체 영역중 상 판과 하판에 인접한 부분은 MD를 가운데 부분은 SRD 를 적용하고 중첩 영역을 유지하면서 모델링하였다. 그림 6(b)는 시뮬레이션 영역을 Y축 방향으로 균등하 게 분할하여 각 영역에 존재하는 입자들의 평균 속도를 표시한 것이다. 그림 6(b)에서 원으로 표시된 그래프( ) 는 전체 시뮬레이션을 MD 기법을 적용하여 해석한 결 과이다. 그림 6(a)와 같이 상판(1)만 X축 방향으로 움직 이기 때문에 상판에 가까운 입자들은 빠른 속도로 움직 이지만 하판에 가까운 입자들 일수록 속도 변화가 적은 것을 보여주고 있다. 그림 6(b)에서 보듯이 MDSRD에서 MD( )는 각 중 첩영역의 중간부분까지 기존의 MD( )방법과 유사한 결과를 보여 주었으며 나머지 SRD( ) 역시 가운데 부 분을 시뮬레이션하는데 있어서 기존 방법과 유사한 결 과를 보여주고 있다. 특히 본 실험은 쿠에트 흐름 시뮬레이션의 특성상 SRD가 독자적으로 해석 할 수 없는 문제를 MD와 결 합하여 해석이 가능한지를 확인하는데 그 목적이 있다. 이에 상판과 직접적으로 접하고 있지 않은 SRD 입자들 이 상층부의 MD 입자들의 속도 정보를 얼마나 잘 전달 받아 X축으로의 움직일 수 있는가를 확인하고자 하였 다. 결과와 같이 중간의 SRD 입자들도 기존의 MD 방 법론과 유사한 움직임을 보여주었고 또한 하층부의 MD
540 정보과학회 컴퓨팅의 실제 논문지 제 20 권 제 10 호(2014.10) 입자들에 대한 정보 전달도 잘 이루어지고 있음을 확인할 수 있었다. 또한 표 1과 같은 서로 다른 크기의 문제들에 서도 MD의 결과와 유사한 결과를 확인할 수 있었다. 4.5 시뮬레이션 성능 분석 앞서 언급한 바와 같이 멀티스케일 모델링의 장점은 보다 큰 문제를 풀 수 있거나 보다 정확하게 문제를 해 석 할 수 있다는 점이다. 특히 MDSRD는 경계 영역을 MD로 해석하고 나머지 부분은 SRD를 이용하여보다 큰 문제를 해석할 수 있다는 장점이 있다. 이는 달리 말 하면 같은 크기의 문제를 빠른 시간에 시뮬레이션 할 수 있다는 의미로 해석될 수 있다. MDSRD의 실행 성능을 살펴보기 위하여 표 1과 같이 3종류의 3차원 쿠에트 흐름 문제를 준비하였다. 시뮬레 이션 박스 크기와 입자 수를 보면 알 수 있듯이 각각 서 로 다른 크기의 문제이며 특히 전체 시뮬레이션 공간에서 중첩 영역이 차지하는 비율4) 또한 다르게 설정하였다. 이와 같은 시뮬레이션들을 표 2와 같은 두 종류의 멀 티코어 시스템에서 MD와 MDSRD를 이용하여 수행하 고 실행시간을 측정하였다. 각 시스템의 최대 코어 수를 감안하여 System I에서는 9개의 CPU 코어를 System II에서는 16개의 CPU 코어를 사용하였으며 모든 시뮬 레이션은 100,000 스텝까지 진행되었다. 그림 7은 측정된 실행 시간을 정리한 것이다. 본 연구 에서 개발된 MDSRD는 동일한 문제를 푸는 경우라고 그림 5 verlet::run() 의사코드[16] Fig. 5 verlet::run() pseudo code[16] (a) Configuration of couette flow 3D simulation 4) 3종류의 시뮬레이션이 동일한 크기의 z(=5)를 사용하므로 중첩영역의 비 율은 그림 6(a)에서 (α+β)/h가 된다. (b) Velocities distribution of couette flow 3D (MD particles: cyan, SRD particles: purple) 그림 6 시뮬레이션 구성 및 결과 Fig. 6 Configuration and result of simulation
분자동역학과 확률회전동역학을 결합한 멀티스케일 모델링 기법 개발 541 표 1 성능 평가를 위한 테스트 집합 구성 Table 1 Test sets configuration for performance evaluation Test I Test II Test III Simulation size 86 86 5 133 133 5 166 166 5 Overlap zone ratio 0.61499 0.35836 0.31513 No. of particles MD MDSRD MD MDSRD MD MDSRD No. of MD particles 147,920 117,820 353,780 171,570 551,120 210,820 No. of SRD particles 122,980 315,210 502,980 그림 7 MD와 MDSRD의 실행 시간 비교(단위: sec.) Fig. 7 Execution time comparison of MD and MDSRD (unit: sec.) CPU 표 2 테스트 베드 구성 Table 2 Test-bed configuration System I Intel Xeon X5650 2.67GHz System II Intel Xeon E5-2665 2.40GHz No. of CPUs 2 2 No. of Cores/CPU 6 8 No. total Cores 12 16 OS CentOs 6.3 (linux 2.6.32) Compiler Intel Compiler 13.0 MPI MPICH2 1.4.1p1 FFT fftw-2.1.5 하더라도 MD 보다 많은 입자(MD 입자 수 +SRD 입자 수)를 다루게 된다. 이는 중첩 영역에 MD 입자와 SRD 입자가 동시에 존재하므로 나타나는 필연적인 결과이다. 본 실험에 사용된 테스트 집합 역시 표 1과 같이 MDSRD 가 다루게 되는 총 입자수가 MD 보다 많다. 이러한 특 이점을 감안할 때 MD 입자에 비해 상대적으로 계산량이 적은 SRD 입자를 많이 보유한 시뮬레이션이 MDSRD에 더 적합할 것이라는 예상을 할 수 있다. 표 1과 그림 7에서 보듯이 Test I은 상대적으로 중첩 영역이 많은 부분을 차지하나 SRD 영역은 협소한 형태 의 시뮬레이션으로 이와 같은 조건에서는 MDSRD가 중첩 영역을 계산하는데만 시간을 소모하여 오히려 MD 보다 성능이 나빠지는 경우이다. 반면 Test II과 III는 SRD 영역을 증가시킨 경우로 두 시스템 모두 MDSRD 가 수행시간을 단축시키는 것으로 나타났다. 특히 Test III의 경우에는 약 25.2%와 22.1%의 시간 단축 효과를 보여 주고 있다. 이는 시간 제약으로 인하여 MD로 해석하기에 어려운 큰 문제를 SRD의 도움을 받아 해석하겠다는 당초의 MDSRD 개발 취지에 부합하는 결과로서 MD로 해석하 기에 시간이 오래 걸리는 큰 규모의 문제들이 MDSRD 를 적용하기에 적합하다는 것을 보여준다. 5. 결 론 LAMMPS는 범용 MD 패케지로서 MPI를 이용한 병 렬 수행을 지원함으로써 슈퍼컴퓨터를 활용하는 주요한 어플리케이션으로 자리 매김하고 있다. 본 연구에서는
542 정보과학회 컴퓨팅의 실제 논문지 제 20 권 제 10 호(2014.10) LAMMPS를 바탕으로 중시계 시뮬레이션 기법인 SRD 모델링에 경계 영역을 위한 MD 기법의 결합을 시도하 였다. LAMMPS의 제3자를 위한 서브루틴 구조인 fix 형태로 프로토타입을 개발하였고 검증 과정을 통하여 기존 방법론의 결과와 매우 유사한 결과를 보여주는 것 을 확인하였다. 실행 시간 역시 SRD 영역이 충분히 확 보될 수 있는 큰 규모의 문제에서 기존의 MD를 사용하 는 것 보다 훨씬 단축되었음을 확인할 수 있었다. 향후 MDSRD의 안정화 작업과 대규모 문제에 적용을 계획 하고 있다. References [ 1 ] Daan Frenkel, and Berend Smit, "Understanding molecular simulation, second edition: from algorithms to applications(second edition)," Academic Press, 2002. [2] Dennis C. Rapaport, "The art of molecular dynamics simulation(second edition)," Cambridge University Press, 2004. [3] Matt K. Petersen, Jeremy B. Lechman, Steven J. Plimpton, Gary S. Grest, Pieter J. in't Veld and P. R. Schunk, "Mesoscale hydrodynamics via stochastic rotation dynamics: Comparison with Lennard- Jones fluid," The Journal of Chemical Physics, Vol. 132, No. 17, 174106, 2010. [4] LAMMPS Molecular Dynamics Simulator, http:// lammps.sandia.gov, Accessed 2, Jul. 2014. [ 5 ] Sadaf R. Alam, Pratul K. Agarwal, Scott S. Hampton, and Hong Ong, "Experimental evaluation of molecular dynamics simulations on multi-core systems," High Performance Computing(HiPC) 2008, Lecture Notes in Computer Science, Vol. 5374, pp. 131-141, 2008. [6] Sadaf R. Alam, Pratul K. Agarwal, Scott S. Hampton, Hong Ong, and Jeffrey S. Vetter, "Impact of multicores on large-scale molecular dynamics simulations," Proc. of IEEE International Symposium on Parallel and Distributed Processing(IPDPS) 2008, pp. 1-7, 2008. [7] Kwangho Cha, "Performance Evaluation of LAMMPS on Multi-core Systems," Proc. of IEEE International Conference on High Performance Computing and Communications and IEEE International Conference on Embedded and Ubiquitous Computing (HPCC_EUC) 2013, pp. 812-819, 2013. [8] Annika Schiller, "Mesoscopic Simulations on Cell Broadband Engine using Stochastic Rotation Dynamics," Master Thesis, Forschungszentrum Jülich, Jül-4299, 2009. [9] X. B. Nie, S. Y. Chen, W. N. E and M. O. Robbins, "A continuum and molecular dynamics hybrid method for micro- and nano-fluid flow," Journal of Fluid Mechanics, Vol. 500, pp. 55-64, 2004. [10] Xiaobo Nie, Mark O. Robbins, and Shiyi Chen, "Resolving Singular Forces in Cavity Flow: Multiscale Modeling from Atomic to Millimeter Scales," Physical Review Letters, Vol. 96, 134501, 2006. [11] D.A. Kessler, E.S. Oran, and C.R. Kaplan, "Improving the Efficiency of a Multiscale Method for Rarefied Flows," Proc. of AIP International Symposium on Rarefied Gas Dynamics 2010, pp. 266-271, 2010. [12] Aleksandar Donev, Alejandro L. Garcia, Berni J. Alder, "Stochastic Event-Driven Molecular Dynamics," Journal of Computational Physics, Vol. 227, No. 4, pp. 2644-2665, 2008. [13] Kwangho Cha and Youngkyun Jung, "A Study on LAMMPS-based Multi-scale Modeling," Journal of Supercomputing Information, Vol. 1, No. 2, pp. 9-14, 2013. [14] Soon-Heum Ko, Nayong Kim, Joohyun Kim, Abhinav Thota, and Shantenu Jha, "Efficient Runtime Environment for Coupled Multi-physics Simulations: Dynamic Resource Allocation and Load- Balancing," Proc. of IEEE/ACM International Conference on Cluster, Cloud and Grid Computing (CCGrid) 2010, pp. 349-358, 2010. [15] Benjamin FrantzDale, Steven J. Plimpton, and Mark S. Shephard, "Software components for parallel multiscale simulation: an example with LAMMPS," Engineering with Computers, vol. 26, no. 2, pp. 205-211, 2010. [16] LAMMPS Developer Guide, http://lammps.sandia.gov/doc/developer.pdf, Accessed 2 Jul. 2014. 렬프로그래밍 차 광 호 1999년 숭실대학교 컴퓨터학부(학사). 2002 년 한국정보통신대학원대학교 공학부(석 사). 2012년 한국과학기술원 전산학과(박 사). 2002년~현재 한국과학기술정보연구 원 국가슈퍼컴퓨팅연구소 선임연구원 관 심분야는 병렬컴퓨팅, 병렬파일시스템, 병 정 영 균 2000년 고려대학교 물리학과(이학박사) 2000년~2002년 University of Washington research associate. 2002년~2004년 한국 과학기술정보연구원 초청선임연구원. 2004 년~현재 한국과학기술정보연구원 책임연 구원. 관심분야는 Multiscale modeling, Molecular dynamics simulation, Polymer physics, Biophysics and soft matter