| 성능 최적화

병렬화를 통해 Rescale에서 Gromacs를 더 빠르게 실행

그로막스 에 의해 개발되었다 스칼라라이프 에 의해 재정 지원을 받았다. 유럽​​ 연구위원회. Gromacs는 생화학 분자의 분자 역학을 분석하기 위해 설계된 오픈 소스 다목적 패키지입니다. 인기로 인해 우리는 Gromacs를 사용하여 여러 dyno(즉, 컴퓨팅 코어)에 걸쳐 단일 작업을 병렬화하는 데 필요한 단계를 보여 주기로 결정했습니다. 원래의 기본 Gromacs 튜토리얼을 찾을 수 있습니다. 여기에서 지금 확인해 보세요.및 또 다른 병렬화 튜토리얼 여기에서 지금 확인해 보세요..

우리의 예는 총 1024개의 원자에 대해 지질당 23개의 물 분자가 있는 이중층 구성의 121,846개의 DPPC(디팔미토일포스파티딜콜린) 지질로 구성된 인지질 막을 시뮬레이션합니다. 대규모 문제가 발생하면 여러 dyno에 걸쳐 작업을 병렬화하여 런타임을 줄이는 것을 고려하십시오. 두 개의 dyno에서 작업을 성공적으로 병렬화할 수 있다면 잠재적으로 작업 런타임을 50%까지 줄일 수 있습니다.

XNUMX개의 다이노에 걸쳐 예제를 병렬화했을 때 런타임이 절반으로 줄었습니다.
테이블
보시다시피, 4개 코어에 걸쳐 병렬화할 때(XNUMX개 코어에서 실행하는 것과 비교할 때) 런타임이 XNUMX배 향상되지 않았습니다. (a) 작업 분해 및 (b) 작업과 관련된 다양한 다이노 간의 메시지 전달과 관련된 지연이 있습니다. 또한, 분해가 잘 이루어지지 않으면 그에 따른 부하 불균형으로 인해 추가적인 지연이 발생하게 됩니다.

다행히 Gromacs는 사용자에게 이러한 모든 요소를 ​​추적할 수 있는 시간 계산 도구를 제공합니다. 이를 사용하려면 텍스트 편집기로 "job-name".log 파일을 엽니다.
런타임
여기서 시간 단위는 CPU 초입니다. 이 값을 관련 다이노 수(이 경우 4개 다이노)로 나누어 작업의 각 부분에 소요되는 실제 시간을 계산할 수 있습니다. 도메인 분해, 대기, 통신, 읽기/쓰기는 이상적인 확장을 달성하는 데 방해가 되는 요소 중 일부입니다. 그러나 고급 사용자는 Gromacs가 제공하는 데이터를 사용하여 비효율적인 실행에서 학습하고 보다 효율적인 병렬화를 설계할 수 있습니다.

데모 등록

Rescale이 HPC 클라우드 분야를 어떻게 혁신하고 있는지 자세히 알아보세요.

비슷한 게시물