순정인데 3D마크 스트레스 테스트는 실패? 원인과 대책을 알아보자

클록 하나 안 건드렸는데 이게 무슨 소리요?

퀘이사존 QM크크리
59 4244 2021.08.03 15:44


퀘이사존



    안녕하세요. QM크크리입니다. 오늘은 순정 사양임에도 3DMark의 부하 검사(스트레스 테스트)에서 Not Passed(실패)가 뜨는 문제에 대해 알아보는 자리를 마련했습니다.


    UL Benchmarks(구 Futuremark)사가 개발하는 “3DMark”는 게임 성능을 측정하는 벤치마크 도구로 널리 알려져 있습니다. 현재는 일반적인 벤치마크 시나리오 외에도, 특정 기능만을 집중적으로 확인하거나, 서로 다른 플랫폼들의 성능을 비교하거나, 시스템 안정성을 확인하기 위한 부하 검사(스트레스 테스트) 등 다양한 측정 시나리오를 지원하고 있습니다.


    이 중에서도 부하 검사(스트레스 테스트)는 기본 벤치마크보다 비교적 오랜 시간 고부하 사용을 유지했을 때도 그래픽 시스템이 안정적으로 작동하는지를 확인하기 위한 검사 방식입니다. 이러한 특성으로 인해 그래픽카드 오버클록 후 안정성을 확인하거나 제품의 정상 여부를 확인하는 용도로 활용되고 있습니다.


   그런데 최근 들어 눈에 띄는 쟁점이 하나 보입니다. 바로 모든 설정이 순정 그대로인데 3D마크의 부하 검사(스트레스 테스트)에서 Not Passed가 뜨는 문제입니다. 제가 쓰는 시스템에서도 GTX 1080 Ti(수랭 적용)를 STRIX RTX 3080 Ti로 교체한 후 같은 문제를 확인하였으며, 퀘이사존의 테스트용 샘플인 RTX 3090 FE에서도 같은 현상을 확인하였습니다.


    따라서 이러한 현상은 왜 생기는 것이며, 어떻게 대처해야 맞는지를 알아보도록 하겠습니다.

 


 

퀘이사존

▲ 클릭하면 커집니다.(원본 크기로 보실 수 있습니다.)




퀘이사존

▲ 각 결과의 % 표기는 한 화면에 보여드리기 위해 합성한 것입니다.


    클록 하나 안 건드렸는데 이 무슨 참상이란 말입니꽈아~~~! 근데 왜 저리 많이 돌렸지


    초보분이 이런 일을 처음 맞닥뜨린다면 당황하기 마련입니다. '부하 검사(스트레스 테스트)라서 그런가?', '3D마크 특성?', '초기 불량???' 하지만 검색해보면 3D마크에 부하 검사가 처음 도입된 16년도 당시 GTX 780 Ti부터 같은 문제가 있었음을 확인할 수 있습니다. 그럼 3D마크 문제인가요? 사실 그렇다고 할 수 있습니다.




퀘이사존 


    3D마크의 부하 검사 원리는 매우 단순합니다. GPU 부하가 높은 그래픽 검사를 20회 반복(단, 프로 버전은 회수 설정 가능)하여 일차적으로 블루스크린 등의 시스템 오류 없이 검사를 완주할 수 있는지를 봅니다. 그리고 20회의 검사 중 프레임이 가장 높게 나온 회차를 100% 기준으로 하여, 프레임이 가장 낮게 나온 회차를 상대 성능 %로 환산 후 97%를 넘으면 '통과Passed'를 수여 하는 방식입니다.


    이 검사 방식에는 크게 두 가지 문제가 있습니다. 우선은 점수 산출 논리가 성능에 기반하고 있다는 점입니다. 현대적인 CPU와 GPU는 온도와 전력 소모를 포함하여 칩 내부 상태Condition에 민감하게 반응하여 수시로 변화하는 부스트 클록 체제를 가지고 있습니다. 그 때문에 같은 제품이라도 소위 뽑기 운이나 사용환경(이 온도에 영향을 미치는 정도)에 따라 부스트 클록이 달라져서 순정 상태의 성능이 달라지기도 합니다. 이는 특히 라이젠 3세대 초기 제품에서 다른 문제와 겹쳐져 논란이 되기도 하였으며, 그 정도까진 아니지만, 일부 그래픽카드에서도 몇몇 사용자가 불만을 표한 사례도 있습니다.


    3D마크 부하 검사를 시작할 때는 그래픽카드 온도가 낮기 때문에 부스트 클록이 높게 유지되는 편입니다. 그러나, 검사를 지속하면 GPU나 메모리 내부 온도가 올라가서 처음과 같은 부스트 클록을 유지하기 어렵습니다. 그 때문에 기본 설정 기준 검사 후반인 16~17회쯤에서 가장 낮은 부스트 클록과 성능을 기록하고 이의 상대 성능이 애매하게 93~96% 정도 나오는 경우가 많습니다. 특히 전력 소모가 높은 상위 제품일수록 이런 문제가 심하며, 카탈로그상 자체 전력 소모가 300W 이상인 제품들은 수랭과 같은 강력한 냉각 방식을 쓰지 않는 한 3D마크 부하 검사를 그냥 실행해서는 통과하지 못하는 경우가 더 많습니다.


    두 번째는 이렇게 온도가 중요한 검사인데도 실행 중에는 온도를 확인하기 힘들다는 점입니다. 온도 등 시스템 상태에 대한 감시 기능 자체는 충분히 가지고 있으며, 검사가 끝난 후에는 온도 변화를 보여줍니다만 검사 중에는 이를 보여주지 않습니다. 별도의 프로그램을 사용하여 확인할 수도 있습니다만, 이미 15년 전쯤에 유행했던 부하 검사 프로그램들이 실시간 온도 표시를 기본적으로 지원했으며, OCCT 같은 일부 프로그램은 눈으로는 확인할 수 없는 한두 개 픽셀의 색상 오류까지 감지하여 실시간으로 보고하던 것을 생각하면 참으로 아쉬운 일입니다.


 


퀘이사존

▲ 클릭하면 커집니다(원본 크기로 보실 수 있습니다). 화면 갈무리 출처: overclock.net PolluxCastor 사용자(바로 가기)


    Ocbase에서 개발하는 안정성 및 부하 검사 프로그램인 OCCT는, 소위 '뻥파워 사태'에서 문제의 제품들을 가려낸 주역으로 국내에서도 매우 유명하던 시절이 있었습니다. 이후 메이저 버전업이 지연되고 "하프라이프 3(Half-Life 3)"에 도전장을 내민 게 아닐까 싶은 시절을 거치면서 잊혔습니다만, 최근에는 다시 활발한 개발을 통해 조금씩 알려지고 있기도 합니다.


 


퀘이사존 

▲ 클릭하면 커집니다(원본 크기로 보실 수 있습니다).


    현재의 OCCT 9 버전은 검사 화면을 보여주지 않고, 무료 버전의 기능 제한(각 검사 시작 전 10초간 후원 독려 메시지 노출, 검사 시간 1시간 제한)이 있습니다만, 그 특징과 장점은 퇴색하지 않았습니다.


# 사실은 간단한 해결책 1: 검사 전에 예열하면 됩니다.


    이 문제에 대해 초보자분이 질문하면 에어컨을 빵빵하게 틀라거나 수랭을 해답으로 제시하는 경우도 있습니다. 그러나 검사 목적으로 에어컨 설정을 평시 생활과 다르게 하는 것은 검사의 신뢰성을 떨어뜨릴 수 있습니다. 수랭 역시 원래 수랭으로 출시된 제품이 아니라면 제품 보증 문제가 복잡해질 수 있으며, 초보자는 그래픽카드의 기본 쿨러를 해체하는 것부터 큰일일 수 있어서 매우 조심스럽게 접근해야 할 사안입니다.


    그런데 사실 가장 좋은 해결책은 의외로 쉽고 간단한 방법입니다. 검사 도중에 온도가 올라가는 게 문제이니 시작 전에 예열하면 된다는 얘깁니다. 그리고 이런 용도로는 Geeks3D에서 개발하는 FurMark가 좋습니다. GPU와 VRAM에 골고루 최대 부하를 주면서도 쉽게 켜고 끌 수 있기 때문입니다.(반면, OCCT의 3D 검사는 GPU 최대 부하와 VRAM 최대 부하가 나뉘어 있는 편입니다.)




퀘이사존

▲ 화면 갈무리 출처: Geeks3D(바로 가기)


Geeks3D FurMark 내려받기 바로 가기


    고전 시대(?) FurMark는 한 때 그래픽카드에 독보적으로 가장 높은 부하를 주는 것으로 악명 높았습니다. 비록 GTX 580을 필두로 도입된 전력 제한은 이러한 명성을 박살 냈지만, 여전히 가장 강력한 GPU 부하 검사 프로그램 중 하나입니다.




퀘이사존


    그래픽카드에 따라 조금 달라질 수 있습니다만, FurMark를 예열용으로 쓰기 가장 좋은 설정은 바로 위 화면 갈무리에서 보여드리는 설정입니다. 가장 높은 계단 제거 설정(Anti-aliasing 8X MSAA), 기본적으로 활성화된 Dynamic background, Burn-in 외에도 Xtreme burn-in과 Post-FX를 추가로 활성화해줍니다.(해상도는 크게 중요하지 않으며, Dynamic camera는 일반적으로 부하 수준을 낮추므로 활성화하지 않습니다.)


 


퀘이사존


    검사 시작 시 나오는 경고 화면은 과거 이 프로그램의 악명을 짐작게 해줍니다.


 


퀘이사존




퀘이사존


    3D마크 부하 검사에 앞서 먼저 실행 시켜 수십 초 정도 예열해놓고, 3D마크 로딩이 반 이상 진행되었을 때 Alt+Tab으로 잠시 나와 FurMark만 종료한 후, 3DMark Workload를 선택하여 복귀하면 됩니다. 이때 Alt 키에서 손을 떼거나 오래 걸리면 안 됩니다. 3D마크에서 창 전환을 인식하면 강제로 오류 중단을 선언하기 때문입니다. 잘 안 된다면 그냥 3D마크 로딩이 시작되기 전에 미리 종료해도 됩니다. 예열 효과가 약간 떨어지긴 하지만 큰 차이는 아닙니다.




퀘이사존

▲ 각 결과의 % 표기는 한 화면에 보여드리기 위해 합성한 것입니다.


     예열을 확실하게 하자 96~97.0%에서 왔다 갔다 하던 시스템이 98% 이상을 기록하는 것을 확인할 수 있습니다.



 

퀘이사존

▲ 3090 FE를 예열한 타임 스파이 익스트림 부하 검사 결과. 클릭하면 커집니다(원본 크기로 보실 수 있습니다).




퀘이사존

# 사실은 간단한 해결책 2: 파스, 타스 대신 "포트 로열"을 사용합니다.


    현재 3D마크는 "Fire Strike(일명 파스)", "Time Spy(일명 타스)" 외에도 "포트 로열(Port Royal)"을 사용한 부하 검사도 지원하고 있습니다. 포트 로열은 DirectX Raytracing(DXR)을 지원하는 RTX 10 시리즈, RX 6000 시리즈 이상에서만 구동 가능한 제약이 있으며, 전용 가속 회로가 없는 GTX 10 시리즈에서는 극도로 낮은 점수를 보여줍니다. 대신 의도한 건지 아닌지는 몰라도 예열 없이 99% 이상의 높은 점수를 기록할 수 있습니다. 한 회 한 회의 검사 시간이 훨씬 긴 관계로 첫 회차부터 충분히 온도가 올라가서 그런 것으로 보입니다. 물론 그만큼 전체 검사 시간이 오래 걸리는 단점도 있습니다.




퀘이사존

▲ 클릭하면 커집니다(원본 크기로 보실 수 있습니다).




 퀘이사존


    이처럼 3D마크 부하 검사의 문제와 해결책을 간단하게 알아보았습니다. 사실, 문제 자체는 복잡할 것 없으며, 해결책도 어렵지 않습니다. 그러나 이런 문제의 기저에는 현대 반도체가 안고 있는 근본적인 문제가 자리 잡고 있습니다. 바로 반도체의 열 밀도 문제입니다.


    반도체의 핵심인 트랜지스터Transistor와 기타 부품을 하나의 회로로 집약한 집적 회로(Integrated Circuit)가 처음 개발되었을 땐 기껏해야 트랜지스터 몇 개 정도 수준의 규모였습니다. 이후 기술의 발전으로 집적된 트랜지스터의 수가 1만 개를 넘겼을 때 그 거대한 규모에 VLSI(Very Large Scale Integration)라는 이름을 붙였고, 백만 개를 넘기자 ULSI(Ultra Large Scale Integration)라는 표현이 사용되었습니다. 최근의 제품들은 백억 개 단위의 트랜지스터를 집적하고 있지만, 딱히 Very Large나 Ultra Large Scale 같은 표현을 노출하려 하진 않습니다. 모 게임에서 배트맨이 한 말인 "백만장자는 옛날 말이죠(MILLIONAIRE ARE SO LAST YEAR)"가 생각날 지경입니다.


    이렇게 손톱만 한 작은 크기에 반도체 부품을 억 단위로 집약하다 보니 생기는 문제가 바로 열 밀도입니다.




퀘이사존

▲ 클릭하면 커집니다(원본 크기로 보실 수 있습니다). 사진 출처: wccftech(바로 가기)


    제온 스케일러블: "네 손톱이 이렇게 크단 말이지? 킹콩이냐?"


    ......사실, 반도체의 열 밀도 문제는 15년 전쯤 펜티엄 4 CPU가 한창일 때 가장 뜨거운 감자였고, 지금은 오히려 잠잠해 보이기도 합니다. 구글에서 cpu power density로 검색했을 때 나오는 그래프도 대부분 2010년도 이전에 작성된 추세 예측입니다. 그러나 문제가 사라진 것은 아닙니다. 더는 새로운 논점이 아닌 일상생활과 함께하는 지병이 된 느낌이랄까요....


 


퀘이사존

▲ 클릭하면 커집니다(원본 크기로 보실 수 있습니다). 사진 출처: Semantic Scholar(바로 가기)




퀘이사존

▲ 클릭하면 커집니다(원본 크기로 보실 수 있습니다). 도해 출처: Intel


    한때는 반도체의 열 밀도가 핵 반응로, 로켓의 노즐, 태양의 표면 수준까지 도달하지 않을까 염려하던 시절도 있었습니다. "코어2 듀오" 이후 효율적인 설계 구조microarchitecture와 전력 제한의 도입으로 저러한 참상이 실현되는 것은 피했습니다만, 성능 경쟁이 계속되다 보니 상급 제품들은 여전히 전력 소모의 한계를 타협하고자 하는 욕망에 시달리고 있습니다. 이번 세대 그래픽카드들은 최상위 제품군들에서 300W를 훌쩍 넘는 전력 소모를 표기하고 있는 제품들도 있으며, CPU도 5950X나 11900K 같은 최상위 제품에 PBO, ABT 같은 기술을 활성화할 경우 극도로 높은 전력 소모를 보입니다.


"퀘이사존 지포스 RTX 3090 벤치마크 - 렌더링 성능/온도/소음/전성비 분석" 바로 가기

"인텔 i9-10900K vs i9-11900K 너의 소비량은?" 바로 가기

 



퀘이사존

▲ 도해 출처: tom's HARDWARE 포럼 사용자 CompuTronix(바로 가기)


    이미 극도로 높은 열 밀도에 전력 소모가 증가하니 생기는 문제가 열점(thermal hotspot)입니다. 뜨겁다고 다 같이 뜨거운 게 아니라 진짜로 뜨거운 부분은 따로 있다는 뜻입니다. MRI 엔지니어 Charlotte가 2007년부터 작성한 인텔 온도 가이드는 이미 코어 2 시절에도 적외선 사진상에 분명히 보일 정도의 열점 현상이 있음을 보여줍니다.




퀘이사존

▲ 도해 출처: Intel


    ExtremeTech가 2013년에 보도한 기사(바로 가기)는 CPU 외에도 내장 그래픽, 오디오 등을 가진 단일 칩 체제(SoC: System on Chip)가 어떤 열점을 가지는지를 잘 보여줍니다. 면적상 CPU 외의 부분이 더 크더라도 CPU를 사용하는 작업 중에는 CPU 내의 일부 유닛에 열 발생이 집중되기 때문에, 이들의 온도가 작동 클록 등 성능을 더 올리기 힘들게 하는 제약이 됩니다.




퀘이사존


    이번 세대 그래픽카드에서 HWiNFO의 업데이트 후 GPU의 열점 온도(Hot Spot Temperature)를 별도로 확인할 수 있습니다. 재미있는 점은 14년도에 출시한 GTX 750 Ti 2GB 제품에서도 최신 HWiNFO를 사용하면 GPU 열점 온도를 볼 수 있다는 점입니다. 결국 사용자의 눈에 노출되기 오래전부터 내부적으로는 GPU의 열점 온도를 감시하고 있었다는 뜻입니다.


    이렇듯 반도체의 열 밀도와 열점(thermal hotspot)은 이미 오래전부터 문제가 되어왔으며, 성능 향상을 포기하지 않는 한 앞으로도 함께해야 할 문제입니다.


 



▲ 영상 출처: Intel

    이러한 어려움에도 우리가 성능 향상을 누릴 수 있는 것은 업계의 끊임없는 성능 경쟁과 이를 위한 기술 개발, 혁신 덕분입니다. 최근 인텔이 발표한 여러 신기술 중 PowerVia는 전력 공급망의 효율 개선에 초점을 맞춘 혁신입니다. 현재는 반도체 회로 위에 상호 연결Interconnect을 위한 회선을 모두 적층하여 각종 신호와 전력 공급을 맡기는 방식입니다. 신호 전달과 전력 공급을 위한 회선이 같은 공간에 있어 생기는 제약(Bottleneck: 병목 현상)을 피하고자 전력 공급망을 반도체 회로 아래로 재배치하겠다는 것이 PowerVia의 핵심 개념입니다. 비록 영상에서 언급하는 Bottleneck에 대해 자세히 설명하지 않아 열 밀도 및 열점과의 구체적인 연관성을 자세히 알기는 어려우나, 작동 클록을 높이고 전력 누수(Power leakage)를 줄이는 기술이 열점으로 인한 성능 제약을 완화하는 데 도움이 될 것은 쉽게 미루어 짐작할 수 있습니다. 반도체의 전반적인 전력 누수를 줄이면 그만큼 전력 소모도 줄어들게 되고, 에너지 보존 법칙에 따라 줄어든 전력 소모만큼 발생하는 열도 줄어들기 때문입니다.


    인텔은 2024년 20A(옹스트롬: 0.1나노미터) 공정부터 PowerVia 기술을 적용할 예정이라고 밝혔습니다. 이러한 기술들이 보편화 된다면 전력 소모와 열점 현상이 줄어들지도 모릅니다. 아니면 그 이상으로 성능을 높여서 더 악화시키거나요....... 일례로 현재의 RTX 30 시리즈, 특히 3080 이상의 상위 제품들은 방이 더워지는 수준의 발열로 언급되기도 하지만, 소위 전성비가 엄청나게 나쁜 것도 아닙니다. 사실 몇 년 전만 하더라도 CUDA 코어가 1만 개가 넘는 그래픽카드는 쉬이 생각할 수 없었습니다. RTX 3080의 CUDA 코어 수는 그보다는 적지만, 8,704개의 코어가 초당 10억 회(1,000MHz)를 훨씬 넘는 속도로 작동하는 것은 대단한 일입니다. 반면, 이름은 같은 RTX 3080이라도 노트북용 제품은 CUDA 코어 수도 6천여 개 수준이고 전력 소모는 훨씬 더 적습니다. 대신 성능은 데스크톱용 RTX 3070보다 낮은 편입니다.


    이렇듯 끊임없는 성능 경쟁은 기술 개발과 혁신의 원천이기도 하지만, 전력 소모와 열 밀도 문제의 근본 원인이기도 합니다. 인간의 욕심은 끝이 없으니깐 말이죠.


 


퀘이사존 


■ 3D마크 부하 검사의 한계와 간단한 해결책을 알아보았습니다

    순정 상태의 시스템이더라도 3D마크 "파이어 스트라이크(Fire Strike)"와 "타임 스파이(Time Spy)"의 부하 검사(Stress test)는 Not Passed(실패)가 뜰 수 있는 것을 확인하였습니다. 이러한 현상의 원인은 생각보다 간단한 검사 방식 때문이며, 안정성 검사를 성능 기반으로 하면서도 예열 기능도 없는 3D마크의 한계입니다. 따라서 어중간하게 9X% 결과로 나오는 Not Passed는, 주로 즐기는 게임과 같이 실제 사용하는 프로그램에서 별다른 이상 증상이 없는 한 신경 쓰지 않아도 무방합니다. 만약 3D마크 부하 검사 결과에서 Passed를 꼭 확인하고 싶다 하더라도, 미리 예열하기나 "포트 로열(Port Royal)" 부하 검사(Stress test) 사용하기 같은 간단한 방법으로 해결할 수 있습니다.


■ 근본적인 원인은 성능 경쟁으로 인한 반도체의 열 밀도 문제입니다

    이렇게 간단하게 해결할 수 있는 현상이지만, 그 기저에는 현대의 반도체가 오랫동안 앓아왔고, 앞으로도 안고 가야 할 지병과도 같은 문제가 자리 잡고 있습니다. 한계까지 끌어올린 열 밀도와 전력 소모로 인한 열점 문제는, 인간의 성능에 대한 욕심과 이를 위한 업계의 경쟁이 끝나지 않는 한 계속될 것입니다.


 



퀘이사존의 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 4.0 국제 라이선스에 따라 이용할 수 있습니다.​

스트레스테스트 타스 타스스트레스 타스스트레스테스트

댓글: 59

신고하기

신고대상


신고사유

투표 참여자 보기