Hardware

메모리 채널(듀얼, 쿼드 채널 아님.. 그 이상 6c, 8c, 10c, 12c)에 따른 성능

crazyits 2023. 10. 24. 02:08
반응형

하드웨어들은 스펙이 정해져 있습니다.

신 제품이 나오면 그 이상이 되겠지만 좀 걸립니다.

이런 한계를 극복하기 위하여 사용된 한가지가 메모리 채널 구성으로 그 한계를 극복하는 한 예입니다.

단 구성을 하기 위해서는.... CPU의 메모리 컨트롤러에서 다채널을 지원해야 합니다.

그리고 메인보드에서도 다채널을 지원해서 두 가지 조건이 되었을때만 가능합니다.

[Hardware] - 메모리 싱글, 듀얼, 쿼드 채널? DDR4, DDR5

 

메모리 싱글, 듀얼, 쿼드 채널? DDR4, DDR5

아직까지 주로 사용하는 메모리는 DDR4를 사용하고 있다. intel 이 조만간 출시할 13세대 프로세서는 DDR4 / DDR5 모두 사용이 가능한 프로세서이다. AMD는 얼마전에 신제품이 출시되었는데 DDR5만 지원

crazyits.tistory.com

우리가 보통 사용하는 데스크탑은 듀얼 채널까지만 지원합니다.

HEDT 또는 서버급으로 올라가야 메모리 채널이 증가하게 되고....

서버급에서는 최대 12채널 메모리를 구성이 가능합니다.

이렇게 되면 메모리 대역폭이 증가하여 워크로드에 따라서 성능이 달라지게 됩니다.

phoronix 에서 EPYC를 가지고 6채널, 8채널, 10채널, 12채널  이렇게 4가지를 비교한 것이 있습니다.

사용된 프로세서는... EPYC 9654(genoa)로 96코어 제품으로 테스트 되었습니다.

채널마다 메모리 갯수가 다르기 때문에 메모리 용량만 다르고 나머지는 동일한 구성입니다.

https://www.phoronix.com/review/ddr5-epyc-9004-genoa

 

DDR5 Memory Channel Scaling Performance With AMD EPYC 9004 Series - Phoronix

In addition to the big performance uplift from AVX-512, up to 96 cores per socket, and other Zen 4 architectural improvements, also empowering the EPYC 9004 "Genoa" processors is the support for up to 12 channels of DDR5-4800 memory. In this article is a w

www.phoronix.com

NAS Parallel Benchmarks 로 워크로드에 메모리 대역폭이 많이 필요하기 때문에

메모리 채널수가 증가하면 성능도 증가합니다.

무작위 메모리 액세스 성능에 의존도가 높은 IS(Interger Sort) 이기 때문에 12채널 메모리 구성이 가장 성능이 좋은 것 입니다.

멀티그리드 테스트를 비롯하여 전체적으로 메모리 채널에 따른 성능을 보여주고 있습니다.

nekRS 도 메모리 채널이 많을 수록 성능이 좋습니다.

오픈소스 전산유체역학(CFD) OpenFOAM 에서는 6채널에서 8채널, 10채널까지 성능이 대폭 증가하는 모습을 보입니다.

12채널도 성능이 증가하긴 했지만..이전과 비교하면 좀 아쉽기는 합니다.

지금까지는 성능이 좋았습니다만....

메모리 채널이 성능을 발휘하지 못하는 워크로드도 있습니다.

주 사용하는 워크로드에 따라서 메모리를 구성하여 비용을 절감이 가능합니다.

RELION 은 CFD와 유사한 결과값을 보여주고 있습니다.

메모리 채널 가성비를 생각한다면.. 10채널이 가장 좋은 선택이라 생각되는 결과값 입니다.

워크로드에 따라서 채널 증가하면 성능이 꾸준하게 증가하는 워크로드가 있기도 하지만...

8채널 정도의 대역폭만 가지게 되면 그 이상에서는 성능이 증가하지 않는 경우도 있습니다.

컴파일을 하는데 있어서 6채널, 8채널....

10채널, 12채널 이런것은 의미가 없다는 것을 보여주고 있습니다.

워크로드가 메모리 위주가 아니라는 것이지요.

intel 신경망 라이브러리의 경우 12채널시 성능이 좋은 것도 있기는 하지만 그게 아닌 경우도 보이고 있습니다.

TensorFlow ResNET-50 성능은 모델이나 배치 크기를 어떤 것을 사용하는가에 따라서 12채널의 메모리가 유리하기도 합니다.

AI 모델을 어떤 것을 사용하는가에 따라서 6채널이 최대이기도 하고 12채널이 가장 좋은 성능을 보여주기도 합니다.

OpenVINO에서 테스트된 모델에서는 더 높은 채널에서 약간 높은 성능을 보여주긴 했지만...

역시나 모델이 어떤 것이냐에 따라서 채널에 따른 성능이 변동됩니다.

블랜더의 렌더링은 CPU의 연산을 많이 필요하는 워크로드이다 보니...

메모리 채널로 인한 성능의 향상이 없습니다.

DB나 웹서버에서도 채널에 따라 약간 차이가 있는 거 같기는 하지만.. 무시할만한 수치로 보입니다.

테스트를 종합해보면....

메모리 채널이 많을수록 성능이 증가하는 것은 맞습니다만...

CPU연산을 많이 필요로 하는 렌더링 같은 경우는 저 대역폭이 필요가 없습니다.

워크로드가 메모리 대역폭을 많이 필요로 하는 작업에만 해당됩니다.

이러한 워크로드는 WRF(일기예보), 전산유체역학(CFD), AI 워크로드 등... 같은 것입니다.

작업에 적합한 정도의 채널을 구성한다면 비용의 절감에 도움이 되겠지요.

 

반응형