기술 문서자료

FAQ

[FAQ] 여러 개의 CPU 사용이 해석시간에 어떤 영향을 미치나요?

  • 25-04-02 00:00
  • 웹스시스템코리아
조회수 24

[FAQ] 여러 개의 CPU 사용이 해석 시간에 어떤 영향을 미치나요?


프로그램의 다양한 부분에서 여러 코어의 사용


 Area of the program

 Hyper-Threading

 Multicore

 User Interface

 No

 No

 Mesher

 No

 Yes*

 Solver

 Yes**

 Yes


 * In SOLIDWORKS version 2014 and later

** In SOLIDWORKS version 2009 and late



여러 코어가 메시 생성에 미치는 영향


2014 버전부터 메시 생성기가 다음과 같이 멀티스레딩을 지원합니다:


72c01b2da803614b2c6194961488907d_1743583518_3684.gif

더 많은 코어를 사용할수록 성능이 지속적으로 향상됩니다.



72c01b2da803614b2c6194961488907d_1743583546_3926.gif
2014 버전에서 n개의 코어를 사용할 때의 메시 생성 시간과 1개 코어 사용 시 비교


SOLIDWORKS 2014 이전 버전에서는 코어 수가 메시 생성 시간에 영향을 미치지 않습니다.


여러 코어가 해석 시간에 미치는 영향


테스트를 통해 여러 코어 사용이 해석 시간에 미치는 영향을 확인할 수 있습니다. 


본 섹션에서는 튜토리얼에서 제공하는 다음 모델을 사용합니다:


▶ A2 - Conjugate HT


▶ B3 - Heat Exchanger


▶ C3 - Non-Newtonian


▶ C6 - CPU Cooler


이 Q&A에서는 현재 테스트에 사용된 튜토리얼 모델의 수정된 버전을 포함하고 있습니다. 원본 버전에서의 수정 사항은 글로벌 메시 설정(Global Mesh Settings) 변경 및 계산 제어 옵션(Calculation Control Options) 의 마무리 조건(Finishing Conditions) 변경을 포함합니다.


아래 표는 테스트에 사용된 컴퓨터의 프로세서를 보여줍니다.


 Computer

 # CPU

 Details of the processor

 Type

 Total # of cores

 Base Freq. (GHz)

 Max Freq. (GHz)

 A

 2 

 Xeon Gold 6244

 16 (2×8)

 3.6

 4.4

 B

 2

 Xeon Gold 6148

 16 (2×8)

 2.4

 3.7

 C

 2

 E5-2680v4

 28 (2×14)

 2.4

 3.3

 D

 1

 Xeon W-2275

 14

 3.3

 4.8

 E

 1

 Ryzen Threadripper PRO 5965WX

 24

 3.8

 4.5


해석 시간과 코어 수의 관계를 나타내는 곡선은 모든 모델과 컴퓨터에서 동일하지 않습니다. 경향은 유사하지만, 정확한 성능 향상에는 차이가 있습니다.


테스트 결과, 모든 코어를 사용할 때의 해석 시간은 단일 코어 사용 시 해석 시간의 12.7%에서 17.4% 사이로 감소했습니다.


72c01b2da803614b2c6194961488907d_1743583765_8021.gif



비슷한 워크스테이션들 사이에서 어느 컴퓨터가 더 빠르게 시뮬레이션을 실행할 수 있는지 예측하는 것은 때때로 어렵습니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 모든 코어를 사용할 때 성능 차이가 미미할 수 있습니다. 두 컴퓨터 모두 2개의 프로세서(각각 8코어) 를 가지고 있지만, 기본 클럭 속도는 컴퓨터 A가 3.6 GHz, 컴퓨터 B가 2.4 GHz로 크게 다릅니다.


예상대로, 단일 코어를 사용할 때는 컴퓨터 A의 성능이 컴퓨터 B보다 훨씬 우수합니다.


성능 예측이 어려운 이유


성능 예측을 어렵게 만드는 주요 요소는 다음과 같습니다.


▶ 최대 터보 주파수(Max Turbo Frequency)


▶ Intel® Turbo Boost Technology 2.0 주파수


▶ Intel® Turbo Boost Max Technology 3.0 주파수


▶ 프로세서 내 강력한 성능 코어(P-코어)와 효율성 코어(E-코어)의 동시 존재


▶ 다중 프로세서를 사용하는 경우, 서로 다른 프로세서에 속한 코어 간의 통신 지연과 같은 성능 병목 현상


고성능을 발휘하는 컴퓨터는 코어 수가 많고 클럭 속도가 높은 단일 프로세서를 갖춘 시스템입니다. 이는 컴퓨터 E의 경우에 해당합니다.



테스트 결과


테스트 결과, 모든 코어를 사용할 경우 모든 모델에서 가장 빠른 컴퓨터는 일관되게 동일한 것으로 나타났습니다.


72c01b2da803614b2c6194961488907d_1743583850_6066.gif

참고: 테스트 결과는 SOLIDWORKS 2022 SP4.0에서 수행되었습니다.



사용자 모델로 테스트 수행 방법


1. 하이퍼스레딩(Hyperthreading) 옵션 비활성화


▶ 컴퓨터의 BIOS 또는 UEFI 설정에서 하이퍼스레딩을 비활성화합니다.


2. 프로젝트 생성


▶ 사용자의 컴퓨터에 있는 코어 개수만큼 프로젝트를 생성합니다.


▶ 각 프로젝트에 CPU (1), CPU (2), … 와 같이 명확한 이름을 부여합니다.


3. Batch Run 기능 사용


▶ 각 프로젝트에서 사용할 코어 개수를 다르게 설정합니다.


Use CPU(s) 목록에서 적절한 코어 개수를 선택합니다.


Maximum simultaneous runs at this computer 값을 1로 설정합니다.


▶ 모든 프로젝트를 실행합니다.


4. 결과 분석


각 프로젝트 폴더에서 다음 단계를 반복하여 해석 시간을 확인합니다.


▶ [X] 폴더에서 [X].stdout 파일을 엽니다. ([X]는 프로젝트 폴더명)


▶ 사용된 코어 개수 확인:


- 파일의 세 번째 줄을 확인합니다.


- 예시: Number of used processors (NPROC): 28


▶ 해석 시간 확인:


- 파일의 마지막 줄 중 "Total CPU time"으로 시작하는 줄을 찾습니다.


- 역방향 검색을 활용하면 더 빠르게 찾을 수 있습니다.


- 예시: Total CPU time 715 s



프로젝트를 동시에 해석하는 특별한 경우


▶ 16~24개의 코어를 사용하는 경우, 성능 확장이 포화(saturation) 상태에 도달하여 유의미한 성능 향상이나 저하가 발생하지 않음.


▶ 만약 여러 개의 프로젝트를 실행해야 한다면, 두 개의 프로젝트를 동시에 실행하는 것이 더 효과적일 수 있음.



Batch Run 설정 방법


1. 각 프로젝트를 실행할 때, 컴퓨터의 코어 수의 절반만 사용하도록 설정


▶ 최대 16~24개의 코어까지 할당 (포화 한계)


2. Batch Run 대화상자에서 "Maximum simultaneous run at this computer" 값을 2로 설정


▶ 이는 SOLIDWORKS Flow Simulation에서 지원하는 최대 동시 실행 개수임.



(주)웹스시스템코리아는 파트너십 기반으로 “고객의 성공을 위해 솔루션과 가치를 제공합니다.”