현재 위치 - 법률 상담 무료 플랫폼 - 특허 조회 - caecfd의 고성능 컴퓨팅 애플리케이션의 효율성을 향상시키는 방법
caecfd의 고성능 컴퓨팅 애플리케이션의 효율성을 향상시키는 방법

CAE(Computer Aided Engineering)는 공학 및 산업제품의 구조, 성능, 작동상태를 컴퓨터를 이용하여 시뮬레이션하는 것을 말하며, CFD(Computational Fluid Dynamics)는 컴퓨터를 이용하여 수치해석을 하는 것을 말한다 유체 역학 문제.

현재 고성능 컴퓨터를 기반으로 한 CAE/CFD 시뮬레이션은 항공우주, 자동차 및 조선, 석유화학 산업, 토목공학 등 분야에서 널리 사용되고 있습니다. 또한, 컴퓨터 기술이 지속적으로 발전함에 따라 상기 분야에서 CAE/CFD의 역할이 점점 더 중요해지고 있으며, 특히 항공우주 분야에서는 이론 분석, 풍동 실험과 함께 3대 연구 방법 중 하나로 자리잡고 있습니다. NASA는 가까운 미래에 항공우주 비행체의 설계가 혁명적인 변화, 즉 CAE/CFD 시뮬레이션 데이터를 기반으로 한 수치 풍동에서의 가상 비행을 겪을 것으로 예측하고 있습니다.

CAE/CFD에 고성능 컴퓨팅을 적용하는 일차적인 목표는 최저 비용으로 현실에 가장 가까운 결과를 얻는 것입니다. 현재 CAE/CFD 업계에는 많은 소프트웨어가 있으며 이러한 소프트웨어에 대한 고객의 애플리케이션 요구 사항도 매우 다르기 때문에 통합 솔루션을 구성하기가 어렵습니다.

그렇다면 고성능 컴퓨팅은 CAE/CFD에서 어떻게 최적화를 적용해야 할까요? 먼저 CAE/CFD의 특징을 분해해 보겠습니다.

CAE/CFD 소프트웨어는 기본적으로 유한 요소법 또는 유한 체적법을 사용하여 제어 방정식을 해결합니다. 계산에는 앞뒤 시간 단계의 많은 반복과 접합 영역 처리가 포함됩니다. 계산 집약적이며 CPU 성능이 필요하므로 당연히 높을수록 좋습니다.

일반적으로 명시적 시간 형식을 사용하는 CAE/CFD 소프트웨어는 평균 메모리 용량 요구 사항을 갖는 반면, 암시적 시간 형식을 사용하는 CAE/CFD 소프트웨어는 메모리 용량 요구 사항이 상대적으로 높습니다. 단일 노드의 프로세스 수 프로세스 수가 많을수록 메모리 대역폭 요구 사항도 높아집니다.

I/O 수준에서 대부분의 CAE/CFD 소프트웨어가 읽기 작업을 수행하면 마스터 프로세스가 데이터를 읽은 다음 쓰기 작업 중에 데이터를 슬레이브 프로세스에 배포하고 마스터 프로세스는 데이터를 수집합니다. 통합된 방식으로 슬레이브 프로세스에서 데이터를 가져온 다음 메인 프로세스에서 데이터를 기록합니다. 즉, 메인 프로세스만이 I/O 작업을 직접 담당합니다. 따라서 CAE/CFD는 I/O 스토리지에 적당한 압력을 가합니다.

앞서 언급한 것처럼 CAE/CFD 소프트웨어는 시간 단계 전후를 반복하고 계산 중에 접합 영역을 처리해야 하기 때문에 상대적으로 네트워크 통신도 까다롭기 때문에 InfiniBand 네트워크를 사용해야 합니다.

다음으로 고성능 컴퓨팅을 위해 CAE/CFD 작업을 최적화하는 방법을 살펴보겠습니다.

CAE/CFD는 대부분 상용 소프트웨어이기 때문에 일반적으로 하드웨어 수준 최적화와 운영 수준 최적화만 수행할 수 있습니다. 이전 기능 분석을 고려하면 하드웨어 수준 최적화 수준에서는 고주파 CPU와 4채널 메모리를 구성하여 각각 CPU와 메모리의 성능을 향상할 수 있으며, 네트워크 연결 토폴로지, 라우팅 알고리즘 및 RDMA도 개선할 수 있습니다. InfiniBand 네트워크의 통신 기능을 향상시킵니다.

실행 수준 최적화 수준에서는 일반적으로 MPI 최적화 전략이 사용됩니다. 예를 들어 MPI 프로세스 바인딩 최적화, MPI 메시지 전달 메커니즘 최적화, MPI 통신 공유 메모리 최적화 등이 있습니다. PGAS(Partitioned Global Address Space) 프로그래밍 모델과 GPU 및 MIC와 같은 가속화된 보조 프로세서의 개발을 통해 위의 기존 알고리즘이 크게 향상될 것입니다.

Fluent 계산 사례를 예로 들면, Inspur는 자체 개발한 고성능 애플리케이션 특성 모니터링 및 분석 시스템인 'Teye'(영어: Teye)를 사용하여 Fluent의 애플리케이션 특성을 모니터링하고 분석했습니다. Intel XeonE5-2680v3 CPU 플랫폼과 144개 프로세스에서 1,000만 그리드 규모의 Fluent 계산 예시가 계산되었습니다.

아래 그림을 보면 Inspur Sky Eye를 통해 Fluent의 CPU 활용도가 100에 가깝다는 것을 알 수 있으며, 계산에 관련된 물리적 코어는 기본적으로 풀로드로 실행되고 있어 Fluent가 계산 집약적임을 알 수 있습니다.

1

Inspur Sky Eye는 Fluent 계산 예시의 CPU 사용률을 분석합니다.

메모리 대역폭 측면에서 Sky Eye는 Fluent의 메모리 대역폭 요구 사항이 주로 다음에서 발생함을 감지합니다. 그리드 구축, 병합 및 파티셔닝 후의 총 메모리 대역폭은 약 45GB/s입니다. 그 중 읽기 메모리 대역폭은 약 40GB/s, 쓰기 메모리 대역폭은 약 5GB/s이다. Fluent는 기본 프로세스에서 데이터를 읽고 쓰며, 슬레이브 프로세스는 I/O 작업에 직접 참여하지 않습니다. 또한 읽고 쓰는 데이터의 양은 Fluent 계산 예제의 크기와 직접적인 관련이 있습니다.

2

Inspur Sky Eye는 Fluent 계산 예시의 메모리 대역폭을 분석합니다

또한 초기 단계를 제외하고는 읽기가 마스터 노드의 작업 속도는 40MB/에 도달합니다. 또한 Fluent의 전체 계산 과정에서 I/O 작업 압력은 상대적으로 작습니다. 일반적인 CFD 소프트웨어인 Fluent는 데이터 통신을 위해 InfiniBand 네트워크를 사용해야 합니다.

3

Inspur Sky Eye는 Fluent 계산 예시의 디스크 읽기 및 쓰기 작업을 모니터링합니다.

계산 초기 단계에서 Fluent는 많은 양의 데이터를 수행합니다. 네트워크를 통해 작업을 보내고 받습니다. 이후의 계산 과정에서는 데이터 송수신이 연속적인 흐름 특성을 보이며, 속도는 60MB/s ~ 100MB/s로 유지됩니다. Fluent는 네트워크 집약적인 소프트웨어임을 알 수 있습니다.

4

Inspur Sky Eye는 Fluent 계산 예의 InfiniBand 그리드 데이터 송수신을 모니터링합니다.

아래 그림은 Fluent 계산 예의 레이더를 보여줍니다. Inspur Sky Eye가 분석하고 모니터링한 그림은 Fluent의 다양한 응용 기능을 시각적으로 보여줍니다.

5

Inspur Sky Eye가 분석한 Fluent 소프트웨어 애플리케이션 특성의 레이더 차트

Inspur는 Tianyan의 CAE/CFD 최적화에 대한 풍부한 경험을 보유하고 있습니다. CAE/CFD 소프트웨어의 특성을 보다 종합적이고 세밀하게 분석할 수 있으며, 소프트웨어와 하드웨어를 통합한 종합적인 최적화 솔루션을 제공할 수 있습니다. 현재 Inspur의 CAE/CFD 고성능 컴퓨팅 응용 솔루션은 항공우주, 자동차, 조선, 건설 및 기타 산업 분야에서 널리 사용되고 있습니다.