2017년 8월 12일 토요일

봉인 해제된 AMD 라이젠 쓰레드리퍼의 비밀 대공개

AMD 라이젠 쓰레드리퍼에 대한 외신 평가는 상당히 긍정적이다. 같은 가격의 인텔 코어 i9-7900X 보다 CPU 코어가 많고 그 만큼 성능도 높다는 것이 대다수 매체의 공통된 분석이다.
결국 IPC나 속도 같은 기술적인 요소로는 물량 공세를 당해 낼 수 없다는 것을 또 다시 입증하게 된 상황인데 그렇다고 AMD 기술력이 인텔 보다 한참 떨어진다는 의미는 아니다. 
인텔이 주장한 스카이레이크-SP의 기술적인 진화는 충분히 인정해 주는 것이 맞다. 메쉬 구조의 멀티 코어는 AMD가 선택한 구조 보다 진화한 방식인 건 사실이다.
하지만, 인텔이 택한 방식이 유일한 해법은 아니라는 것을 AMD는 라이젠 쓰레드리퍼라는 존재를 통해 입증해 냈다.
오늘은 AMD 라이젠 쓰레드리퍼를 인정할 수 밖에 없는 이유와 멀티 코어 프로세서에 대한 합리적인 선택에 대해 이야기해 볼까 한다.

■ AMD 라이젠 쓰레드리퍼, 가성비 비법은 MCM
16코어 32쓰레드를 동시에 처리할 수 있는 AMD 라이젠 쓰레드리퍼 1950X는 10코어 20쓰레드로 구성된 인텔 코어 i9-7900X 보다 CPU 코어가 많다.
CPU 코어 만 6개나 차이 나고 쓰레드로 따지면 12개나 많기 때문에 코어 i9-7900X이 아무리 빠르고 IPC가 높아 봤자 라이젠 쓰레드리퍼 1950X 성능이 월등할 수 밖에 없는 상황이다.
처리 속도가 2배로 급증하는 AVX-512를 활용할 수 있다면야 역적을 기대할 수도 있지만 AVX-512는 활용처가 전무한 상황이어서 라이젠 쓰레드리퍼 1950X와 코어 i9-7900X의 관계는 앞으로도 달라질 가능성이 적다.
그럼 이러한 관계는 어떻게 생겨나게 됐을까? 
비밀은 라이젠 쓰레드리퍼 1950X에 사용된 CPU 다이에 있는데 인텔이 EPYC의 단점을 지적한 데스크탑 프로세서가 바로 그것이다.
AMD가 내놓은 모든 라이젠 시리즈와 EPYC는 사실 모두 같은 CPU 다이를 사용한다. CPU 코어 개수에 따라 CPU 다이 개수만 달리해 패킹한 멀티 칩(MCM, 멀티 칩 모듈) 구조인 것이다.
그래서 CPU 코어 개수에 맞춰 실리콘을 따로 생산할 필요 없이 칩 하나만 있으면 모든 라이젠 시리즈를 만들 수 있고 그 덕분에 생산비를 꽤 절감할 수 있다. 쉽게 말해 인텔 보다 싸게 만들 수 있다는 것이다. 
AMD는 이러한 구조적인 특징을 바탕으로 같은 값의 인텔 프로세서 보다 더 많은 CPU 코어를 제공할 수 있도록 라인업을 구성했고 AMD 라이젠 쓰레드리퍼 1950X도 그런 전략하에 만들어지게 됐다.

■ 게임 모드와 크리에이터 모드의 차이는?
모든 라이젠 쓰레드리퍼 사용자는 게임 모드나 크리에이터 모드를 선택할 수 있다. 
라이젠 마스터에 들어가면 이 두 가지 모드 중 하나가 이미 사용 중 일 것이다. 기본 옵션이 크리에이터 모드라니 대부분 이 상태로 AMD 라이젠 쓰레드리퍼를 사용하게 될 텐데 AMD가 게임 모드와 크리에이터 모드를 구분한 이유는 멀티 칩 구조 때문이다.
멀티 칩 구조는 물리적으로 연결되지 않은 CPU 다이를 하나의 프로세서로 패킹했다는 것이다. 
그래서 CPU 2개를 사용한 것이나 마찬가지라서 서로 다른 CPU 다이에 있는 코어를 동시에 활용하려면 각각의 CPU 다이 마다 연결된 메모리를 통합해 활용할 수 있어야 했다. 그래야만 물리적으로 떨어져 있는 CPU 코어를 활용할 수 있고 해당 시스템이 가진 모든 자원을 활용할 수 있는 것이다.
라이젠 쓰레드리퍼에 제공된 크리에이터 모드가 바로 이것이다.  
크리에이터 모드로 동작하면 라이젠 쓰레드리퍼는 마치 하나의 CPU 처럼 인식되고 모든 자원이 통합해 나타난다. 
하지만, 다른 CPU 다이에 연결된 메모리로 접근하며 발생하는 추가적인 지연 시간 때문에 시스템 자원을 한정적으로 사용하는 작업에선 오히려 역효과가 나타날 수 있다.
그래서 만들어 논 것이 바로 게임 모드다. 
게임 모드를 사용하면 서로 다른 CPU 다이를 개별로 사용하는 것처럼 된다. 이렇게 되면 다른 CPU 다이에 연결할 일이 없기 때문에 지연 시간을 최대로 줄일 수 있게 된다. 
평균 86.9ns나 하던 것이 66.2ns까지 줄어 들 정도니 CPU 코어 활용률이 낮은 게임엔 이 방식이 최선일 수 밖에 없다.
사실, 지금까지 설명한 차이는 크리에이터 모드나 게임 모드의 차이라기 보다 메모리 접근 모드(로컬과 분산)의 차이다. 여기에 레거시 모드도 존재하는데 두 프로파일에 따른 기본 셋팅은 위 자료와 같다.

■ 8코어 CPU 다이, 왜 4개인가?
16코어 32쓰레드가 구현된 AMD 라이젠 쓰레드리퍼 1950X는 8코어 CPU 다이 2개만 있으면 만들어 낼 수 있는 구조다.
32코어 64쓰레드를 처리할 수 있는 EPYC만 CPU 다이가 4개일 것으로 생각되어 왔다.
하지만, 유명 오버클러커 'Der8auer'가 라이젠 쓰레드리퍼 속살을 공개하면서 CPU 다이가 2개가 아닌 것이 밝혀 졌는데 그 이유가 이번에 확인됐다.
AMD는 라이젠 쓰레드리퍼의 쿨링과 안전을 위해 더미나 다를 것 없는 CPU 다이 2개를 추가했다고 한다.
물리적으로 동작하는 실리콘은 아니라서 코어 활성화 같은 개조는 기대할 수 없지만 역대급 크기를 자랑하는 만큼 IHS에 가해지는 하중을 분산시키면서 열 전도율을 높이기 위한 선택이라는 것이다.
이런 구조 때문인지 주요 외신들의 온도 측정에서도 라이젠 쓰레드리퍼 1950X는 코어 i9-7900X 보다 온도가 낮은 것으로 확인됐다.

■ 라이젠 쓰레드리퍼는 상위 5%
AMD는 라이젠 쓰레드리퍼를 소개하며 상위 5% 수율을 언급했다. 
어차피 모든 라이젠은 CPU 다이가 사실 상 같지만 그 중에서도 상위 5%에 해당 하는 실리콘만 라이젠 쓰레드리퍼에 사용했다고 밝혔다.
즉, 반도체 특성이 뛰어난 실리콘 만 라이젠 쓰레드리퍼에 사용 했다는 뜻이다.  
간단히 이야기 하면 흔히 수율이라 불리는 오버클럭 범위가 다른 모델들 보다 높다는 의미라서 안정적인 전력 공급과 뛰어난 쿨링 시스템만 있다면 일반 라이젠 시리즈 보다 더 높은 클럭을 달성할 수 있다.
그런 이유에서인지 라이젠 쓰레드리퍼 1950X는 16코어 전체를 4GHz로 설정해도 큰 무리 없이 안정화가 가능했다고 한다.
4.5GHz는 기본인 인텔 코어 i7-7900X 만큼 오버클럭이 잘 된다곤 말하기 어렵지만 16코어라는 점을 감안하면 4GHz 만으로도 상당한 성능 향상을 경험할 수 있다.
참고로, AMD는 자체 행사에서 LN2 냉각을 이용, 1.6v 기준으로 5.2GHz 오버클럭을 시연한 바 있다.
이 데모에서 기록한 속도는 최근 다시 갱신되어 현재 5.37GHz(HWBOT 기준)가 최고 속도로 인정 받은 상태다.

■ 라이젠 쓰레드리퍼도 피해갈 수 없는 한계
▲ Gamersnexus가 테스트 한 배틀필드1 프레임
모든 프로세서는 소비전력이 정해져 있다. AMD도 그렇고 인텔도 마찬가지다.
그래서 특정 플래폼이 사용할 최대 소비전력을 정해 놓고 그 기준에 맞춰 제품군을 구성할 수 밖에 없는데 이때 CPU 코어가 많으면 속도를 느리게 셋팅 할 수 밖에 없다. 전기를 소모할 대상이 많으니 속도를 줄여서라도 기준을 맞춘 것이다.
이런 이유로 멀티 코어 활용률이 높지 않은 작업일 수록 작업 시간이 늘어나는 문제가 발생하게 된다. 속도가 느린 CPU 코어 여러 개를 동시에 사용하면 속도는 빠르지만 그렇지 못한 상황에선 오히려 상황이 역전되는 것이다. 
AMD 라이젠 쓰레드리퍼가 딱 이런 경우다.
라이젠 쓰레드리퍼 1950X는 멀티 코어 활용률이 낮은 오피스 작업, 게임 등에서 라이젠 7이나 5 시리즈 보다 못한 결과가 나타나기도 했다. 거의 모든 외신들이 비슷한 현상을 발견 했고 그에 대한 평가도 거의 동일하다. 
그렇다고 심각할 만큼 게임 프레임이 차이 난다는 의미는 아니지만 극히 일부 게임을 제외하면 대부분 투자한 만큼 값어치를 누릴 수 있는 상황이 아니라서 게임을 원한다면 라이젠 쓰레드리퍼가 최선의 선택이 아닌 것은 분명한 상황이다.

팹리스 반도체 업계 지각변동, 엔비디아가 미디어텍 추월

엔비디아가 전세계 팹리스 반도체 기업 3위에 랭크 됐다. 대만 TRI(Topology Research Institute)가 조사한 2017년 2분기 실적 자료에 따르면 엔비디아는 전년 대비 매출이 56.7% 급증한 19억 9000만 달러를 기...