어쩌다 http://www.hwbattle.com/bbs/board.php?bo_table=hottopic&wr_id=5491 여길 봤더니.. 좀 많이 알쏭달쏭하네요.
저 기사는 벤치마크해놓고도 도대체 해석을 어찌 하고 있는건지, 아주 헷갈립니다.
--------------
싱글 쓰레드 테스트에서 라이젠이 SMT 끄고 켬에 따라 성능 차이가 나는 정도가 이상할 정도로 상당히 크네요.
그 차이가 무려 17 %. SMT 기능을 켜면 무조건 싱글 쓰레드 성능을 깍아먹게 된다고 해석해야 맞겠죠.
인텔쪽은 당연히 SMT 끄든 켜든 싱글 쓰레드 성능에서는 차이가 나지 않네요.
인텔쪽의 SMT 설계는 자원의 추가 형태입니다. SMT 지원하지 않던 코어에다 SMT 지원용 자원을 더 추가한 것이 SMT 지원 코어가 되는거죠. SMT 를 끄면 그 추가된 자원은 그냥 놀게 되는 것임. 물론 실제로는 SMT 지원 코어에서 그냥 SMT 를 항상 끈 것을 SMT 미지원으로 내놓는거겠지만요.
라이젠의 SMT 설계는 자원을 쪼개 쓰는 형태인 것 같네요. 따라서 SMT 를 켜면 실제로 쓰레드가 실리든 말든 일부를 무조건 나눠줄 것으로 예약해놓기 때문에 싱글 쓰레드 성능이 하락. 이 부분은 어째 불도저의 모듈의 향기가 밴듯한 느낌.
어차피 4C/8T 초과를 지원하는 소프트웨어도 많지 않으니 SMT 를 위해 다이 면적/소비 전력 조금이나마 늘릴 필요가 없다는 판단이었을듯 합니다. 향후 서버용에서도 이런 식이면 좀 곤란한 얘기겠지만, 지금 나오는 라이젠이야 뭐 애초에 메모리 채널 수, PCIe 레인 수 등등 난 서버용 아니라고 하고 있으니까..
--------------
하드웨어배틀 - Cinebench R15 (멀티쓰레드 SMT On/Off 효율) 이거 측정 결과를 보니 아주 이상하네요.
인텔은 SMT 켜면 30 % 넘게 성능이 향상되서 SMT 존재 의미가 있는데,
라이젠은 SMT 를 끄나 켜나 성능이 거의 같음.
저 측정치대로라면 라이젠은 멀티쓰레드에서도 SMT 기능이 있으나마나 수준으로 제대로 동작 못 하고 있다는 얘긴데요.
해석은 황당하게도 [ 경쟁사는 성능차이가 200스코어 가까이 나지만, AMD 라이젠 7 시리즈는 10스코어 내외로 높은 효율을 보여줍니다 ] 완전히 거꾸로 해석하고 있네요.
언뜻 봐서는 Cinebench R15 가 쓰레드 8 개까지만 구동하는 벤치마크라서 그렇다고 볼 수도 있는데, 이런 경우라면 앞서 싱글 쓰레드처럼 17 % 성능 차이가 나야 말이 되는거죠. 멀티 쓰레드 성능 테스트하는 벤치마크가 쓰레드 8 개까지만 구동하는 것도 아주 이상할 노릇이죠. 비싸서 그렇지 쓰레드 16 개는 물론이고, 훨씬 더 많은 코어/쓰레드 구동하는 CPU 가 나온지가 언젠데..
** 위 문단 통째 수정합니다. 라이젠의 코어 4 개를 꺼서 4C/8T 와 4C/4T 를 비교한거네요. 즉 벤치마크 프로그램 탓일 수 없다는 얘기.
SMT 끄나 켜나 성능이 거의 같다는 것이 참 해석하기 어렵게 만드네요.
어쨌든 쓰레드를 2 배를 씀으로서 얻어질 수 있는 성능 향상 폭과 앞서 말한 SMT 의 코어 자원 나눠쓰기 때문에 생기는 감소 폭이 우연히 맞아 떨어져서 거의 같은 것으로 보이게 만든다는 해석하는 것도 이상할 노릇입니다. 쓰레드 2 배해도 겨우 17 % 근처 ?
코어들이 공유하는 캐쉬등 자원의 성능이 16 쓰레드를 충분히 지원하지 못 한다는 설명이 가능할 것 같네요.
** 바로 위 문장도 취소합니다. 코어 4 개를 꺼서 4C/8T 와 4C/4T 를 비교한거니 이것도 말이 안 되네요.
게임에서 SMT 를 꺼야 성능이 더 좋아진다는 기사들이 나오는 것을 보면, 결국 라이젠의 SMT 는 있으나 마나 수준이 아니라 아예 끄는게 좋다는 결론 ?
인텔의 SMT 도 예전엔 꺼야 더 좋다는 말들이 있긴 했는데, 그것도 일부 상황에서만이었죠. 싱글 쓰레드 성능 대폭 깍아먹지도 않고 대부분의 경우 멀티 쓰레드 성능도 조금이라도 높여줬고, 지금은 무려 30 % 넘게 향상시키기도 하고 있죠.
--------------
제가 해석해본게 맞는건지 아닌지도 아리송합니다. 다른 분들의 의견은 어떠신지 ?
ps. 이건 우열을 가리는게 아니라, 그냥 설계 특성에 대한 의문입니다. 어차피 소프트웨어들의 멀티 코어 지원이 시원찮은 판이니까 라이젠의 SMT 설계가 그렇다면 SMT 아예 끄고 쓰면 그만이겠죠.
ps. 의문점에 대한 것을 말하는 것이라 하드웨어 포럼에 씁니다.
단순하게 말하자면 소프트웨어들의 최적화가
잘이뤄지지않았다는 것이죠
최적화가될수록좋아지겠죠