Skip Navigation
Skip to contents

eTSNE


ANZINE

▶ 69호 : Ansys 구조 해석을 위한 장비 구성

Ansys 구조 해석을 위한 장비 구성

 

Introduction

Ansys 제품을 이용한 구조 해석을 계획 중이거나 해석을 진행 중인 사용자들로부터 종종 해석을 위한 최적의 장비 구성 방법에 대해 질문을 받는데, 아이러니하게도 거의 모든 업무를 컴퓨터로 수행하는 현재의 작업 환경에서 컴퓨터가 어떻게 구성되어 작동되는지를 이해하고 있는 경우는 드물다. 
가벼운 문서 작업용 소프트웨어 같은 것들은 그러한 이해가 필요하지 않을 수도 있다. 하지만 우리가 사용하고 있는 Ansys와 같은 해석용 프로그램은 장비의 최적화 정도에 따라 계산 속도가 크게 달라질 수 있기 때문에 장비와 프로그램 간의 상성을 위해 사용자가 어느 정도 프로그램과 컴퓨터의 작동 원리를 알고 있다면 좋을 것이다.


필자 역시 컴퓨터 작동의 모든 원리를 이해하고 있지는 못하나 구조 해석에 최적화된 장비 구성을 위한 기본적인 내용은 어느 정도 가지고 있다.
본 글에서는 해석 엔지니어들을 위해 장비와 프로그램 설정에 대한 기본적인 내용에 관해 서술하고자 한다.

 

하드웨어 추천 사양

Ansys사에서 추천하는 해석용 장비 사양 정보(1-소켓 워크스테이션 기준)는 아래와 같다.

 

Component

최소 사양

CPU

AMD Ryzen 5/7/9 5000X or 7000X Intel Core i7/i9 12000K/13000K

Memory

4X32GB DDR4-3200 non-ECC

4X32GB DDR5-4800 non-ECC

4X32GB DDR5-4800 ECC

Storage

1TB+ PCIe NVMe SSD

GPU

NVIDIA RTX A series 

Max. single RTX 6000 Ada

Brands

& Models

BOXX APEXX A3/E3/S3/S4

Dell Precision 3660

EXXACT VWS-147165456

HP Z2 Tower G9 Workstation

Lenovo ThinkStation P360 Tower

Supermicro SYS-531A-IL

[표 1] 하드웨어 최소 사양

 

Component

중간 사양

CPU

Intel Xeon W3/5/7-2400

(20 or less cores)

Memory

4X32GB DDR5-4800 ECC

4X64GB DDR5-4800 ECC

Storage

TBs PCIe NVMe SSD

GPU

NVIDIA RTX A series

Max. 2X-3X RTX 6000 Ada

Brands

& Models

BOXX APEXX W3

HP Z4 G5

[표 2] 하드웨어 중간 사양

 

Component

고급 사양

CPU

Intel Xeon W5/7/9-3400 series

(36 or less cores)

Memory

8X32 DDR5-4800 ECC

8X64 DDR5-4800 ECC

Storage

TBs PCIe NVMe SSD

GPU

NVIDIA RTX A series

Max. 3X-4X RTX 6000 Ada

Brands

& Models

BOXX APEXX W4

HP Z6 G5

HP Z8 Fury G5

[표 3] 하드웨어 고급 사양

 

보는 것처럼 CPU, Memory, Storage가 하드웨어 사양을 결정하는 중요한 부품들이다.

 

 

이러한 부품들은 서로 유기적으로 연결되어 있고 그 연결된 제품 간의 스펙에 따라 모든 부품이 제 성능을 발휘하냐 하지 못하냐 나뉠 수가 있다.

 

CPU

CPU는 모두 알다시피 컴퓨터 성능의 중요한 역할을 담당하는 부품이다. 그렇다면 해석 장비에서는 어떤 CPU를 어떻게 사용하는 것이 좋을까 당연히 최신형의 높은 사양 CPU가 좋을 것이다. 
장비가 가지고 있는 CPU의 코어 개수를 모두 사용하고 싶다면 HPC 라이선스가 필요하다. 제품 라이선스(Enterprise, Premium, Pro)에서 기본적으로 4개 코어를 사용할 수 있으며, HPC 라이선스 1개당 1개의 코어를 증가시킬 수 있다.

 

■ Memory 대역폭 및 채널당 Core 개수

해석이 수행되면 CPU와 Memory 사이에 많은 데이터 송수신이 발생한다. 이때 높은 CPU 클럭 수와 그에 따른 데이터 양을 Memory에서 바로바로 처리해 주어야 CPU는 딜레이 없이 빠른 속도로 작동하게 된다. 
여기서 중요한 부분이 대역폭이다. Memory의 대역폭이 CPU의 대역폭과 일치하거나 더 커야 CPU를 정상적으로 사용할 수 있다.
CPU 코어 개수가 많아도 Memory 대역폭이 받쳐주지 못한다면 차라리 코어 개수를 줄여서 해석을 수행하는 것이 유리할 수 있다. 보통 Memory가 장착되는 채널당 4개 코어가 적당하다.

 

■ Hyper-threading Off

CPU의 다중 코어 사용 설정에 대한 부분에서 인텔의 Hyper-threading 또는 AMD의 SMT 기능은 BIOS에서 끄고 사용하는 것을 추천한다. 남는 코어의 자원을 활용하여 코어 개수를 두 배로 늘리는 것인데 이는 Ansys와 같은 유한요소해석 프로그램의 다중 코어 계산에는 방해 요인으로 속도가 저하되는 원인이 된다.

 

■ Turbo Boost On

클럭 수를 높이기 위한 편법으로 Overclocking이 사용되기도 하는데 이는 권장되지 않으며, CPU가 자동으로 Overclocking을 수행하는 Turbo Boost 기능이 지원되는 CPU라면 BIOS에서 Turbo Boost를 On해서 사용하는 것을 추천한다.
이 기능이 활성화됨에 있어 코어 개수에 따른 영향이 있다. 단일 코어만 사용할 경우 클럭 속도는 모든 코어를 사용할 때보다 훨씬 빨라질 수 있다. 따라서 해석에 필요한 적절한 코어 개수를 적용해야 한다.  

 

■ P Core만 사용

인텔 12세대 이후 제품의 경우 P(Performance)와 E(Efficient) 코어로 구성되어 있는 경우가 있다. Ansys와 같은 유한요소해석 프로그램은 P 코어만 사용해야 한다. P와 E 코어를 모두 사용할 경우 E 코어의 성능으로 딜레이 타임이 생겨 계산 속도가 느려진다. 
만약 CPU가 8개 P 코어와 8개 E 코어로 구성되어 있다면 Ansys에서 코어 개수 설정은 8개로 진행해야 한다(기본적으로 P 코어를 우선 사용).

 

Memory

Memory 용량은 크면 클수록, 대역폭 역시 크면 클수록 좋다. 앞서 이야기한 것처럼 CPU와의 효율을 위해서는 CPU 대역폭에 맞는 대역폭을 갖거나 그보다 큰 대역폭의 Memory를 갖춰야 한다. Memory 용량의 크기가 크다면 느린 I/O 속도에서 매우 유리하다.
넉넉한 Memory 용량을 갖추고 있다면 운영 체제에서는 Memory 일부 용량을 캐시 하여 계산이 진행되는 동안 임시 Storage로 운용되기 때문에 느린 I/O 속도에 따른 영향을 최소화하게 된다(CPU와 Memory 송수신 속도는 I/O 속도 대비 몇10^(4~6)배 정도 빠르다).

 

■ In-core vs Out-of-core 모드

Ansys에서 입력 행렬을 계산하여 생성되는 인수 분해된 행렬은 입력 행렬보다 10~20배 더 큰 행렬 인수가 생성된다. 
이때 인수 분해된 행렬을 Memory 용량이 감당할 수 있는지 없는지에 따라 In-core 또는 Out-of-core 모드로 계산이 실행되게 되는데 용량이 충분하다면 모두 메모리에 행렬을 올려서 한 번에 계산(In-core 모드)이 수행되고, 충분하지 못하다면 행렬을 Storage에 저장한 후 쪼개어 부분마다 Memory에 나누어 올려 계산(Out-of-core 모드)을 수행하게 된다. Out-of-core 모드는 이러한 계산 방식으로 인해 I/O 속도에 영향을 크게 받는데, I/O 속도가 느린 경우 In-core 모드에 비해 몇 배 이상의 계산 시간이 필요할 수도 있다. 
계산 속도 향상을 위해 HPC 라이선스 구입을 고려하고 있다면 먼저 해석 대상에 대해 충분한 Memory를 갖추고 있는지를 확인하는 것이 좋다.
HPC로 코어 개수를 아무리 늘려도 Out-of-core 모드로 계산된다면 Storage 최적화를 통해 I/O 속도를 개선한 장비가 아닌 이상 계산 시간의 유의미한 향상을 기대하기는 어렵다. 이 경우 차라리 HPC 구성보다 Memory 용량의 업그레이드가 우선되어야 한다.

 

Storage

일반적으로 CPU의 연산 속도 대비 하드디스크(HDD) 전송 속도는 매우 느리다(1000배 이상). 그러나 우리는 컴퓨터를 사용하면 이를 거의 체감하지 못한다. 그 이유는 대용량의 메모리 캐시가 느린 I/O 속도를 커버해 주고 있기 때문이다. 그러나 Ansys와 같은 유한요소해석 프로그램의 경우 장비의 물리적인 Memory보다 해석 파일의 크기가 더 큰 경우가 많다. 이때 느린 I/O 속도는 해석에 그대로 영향을 주게 된다.

 

■ RAID 0 구성

이러한 느린 I/O 속도 개선을 위해 RAID 0 구성을 권장한다. RAID 0 구성은 여러 대의 하드디스크 드라이브를 하나의 논리 드라이브로 결합하는 방식으로, 데이터를 여러 디스크에 분산해서 저장하기 때문에 I/O 속도를 향상시킬 수 있다. 4개 이상의 디스크로 구성하는 것을 추천하며 SDD로 구성한다. RAID 0 방식의 안정성 문제로 저장용 드라이브보다는 해석 작업 폴더로 사용하는 것이 좋다. 
RAID 0 구성의 주목적이 I/O 속도 향상인 만큼 안정성 측면을 위해 작업 용량은 RAID 드라이브 용량의 1/3미만에서 사용하고 정기적으로 드라이브 조각 모음 또는 포맷하여 안정성을 높여 주는 것이 좋다. 데이터 저장용은 별도의 HDD로 구성한다.

 

맺음말

해석에 사용되는 CPU 개수가 증가하면 무조건 해석 속도가 빨라지는 것으로 알고 있는데, 맞는 경우도 있겠지만 장비는 어느 특정 부품이 좋다고 빨라지기 보다는 모든 부품들이 조화롭게 구성되었을 때 가장 빠르고 효율적이다. 본 글이 계산 속도 향상을 위해 고민하는 해석 엔지니어 분들에게 어느 정도 참고가 되길 바란다.

 

좋아요이 원고가 마음에 든다면 하트를 꾸욱!