벤치리뷰·뉴스·정보/아키텍처·정보분석

[아키텍처] IDF 2012에서 주목한 한가지, 매니 코어 "Knights Corner"

tware 2012. 9. 11. 20:00

 

IDF에서도 세션이 진행되는 Knights Corner


 Intel 개발자 컨퍼런스 "Intel Developer Forum (IDF) '가 11일 (현지 시간)부터 미국 샌프란시스코에서 시작된다. 프로세서 측면에서, 이번 IDF는 완전히 새로운 마이크로 아키텍처 "Haswell (하스웰)"에 대한 설명이 진행되는 등 화제가 많다. 그리고 Intel의 HPC (High Performance Computing)을 위한 매니 코어 "Xeon Phi (Knights Corner : 나이츠 코너)"에 대해서도 프로그래밍 세션이 다 설치되어 있다. 프로그래밍 측면에 미치는 Knights Corner 충격이 크기 때문에(Haswell도 트랜잭션 메모리가)에서 Knights도 IDF의 중요 항목의 하나가 되고 있다.

 Intel의 HPC용 매니 코어는 "MIC ( Many Integrated Core) '아키텍처로 총칭되고 있다. Knights Corner는 MIC 아키텍처에서 처음으로 본격적으로 제공되는 제품이다. 단순 매니 코어의 Knights 제품군은 일반 Intel CPU와 마이크로 아키텍처가 크게 다르다. Intel은 8월 27일~29 일까지 미국 쿠퍼티노 (Cupertino)에서 개최된 반도체 칩 컨퍼런스 "Hot Chips 24"에서 Knights Corner 기술적인 내용을 일부 발표했다. Knights Corner는 50개 이상의 프로세서 코어를 탑재하고 있으며 각 코어의 내부 블록은 아래의 슬라이드 처럼 되어 있다.

 

 

코어 내부 블록


 프로세서 코어 자체는 GPU 코어에 간단한 스칼라 프로세서를 통합한 것 같은 스타일이다. 2명령 디코드 & 이슈의 인오더 실행 코어 512-bit 폭의 SIMD (Single Instruction Stream, Multiple Data Stream) 장치가 내장되어 있다. 이 구조 자체가 취소된 그래픽 및 HPC 용 매니 코어 "Larrabee (라라비)"와 비슷하다. 아래는 Knights Corner의 블록 다이어그램과 이전에 Intel의 설명을 기반으로 만든 Larrabee의 블록 다이어그램이다.

 

Knights Corner의 블록 다이어그램

 

Larrabee의 블록 다이어그램


 Knights Corner 프로세서의 명령어 세트는 Intel의 x86 기반을 확장하고 있다. x86 레거시가 달릴 수 Knights Corner의 강점, Hot Chips는 x86 호환에 한해서 코어의 다이 면적의 비용은 불과 2% 이하(코어 + L2 구역에 대해)였다고 강조했다. 칩 전체로 보면 더 적다고 한다. 거의 비용을 들이지 않고, x86의 장점을 살릴 수 있다고 주장하고 있다. 소량의 다이 영역을 추가하여 x86 호환성을 얻을 수 있다면 그것이 좋다고 Intel이 판단한 것을 의미하고 있다.


Atom 형식이 아닌 기존의 Larrabee 형의 파이프 라인


 Knights Corner 파이프 라인은 다음과 같은 구조로 되어있다. 정수 연산 7 단계로 매우 짧다. Hot Chips에서 발표한 Intel의 George Chrysos 씨 (Senior Principal Engineer, Intel)는 Knights Corner 마이크로 아키텍처의 철학은 가능한 짧은 파이프라인 하여 전력 소비를 억제하는 것에 있었다고 설명한다.

 

Knights Corner의 벡터 유닛

 

 

Knights Corner 파이프 라인


 Intel은 Larrabee 때에는 3세대로 스칼라 파이프 라인을 Pentium을 발전시킨 코어에서 Atom 기반 코어로 전환이라고 설명했다. 그러나 파이프 라인을 보면 Knights Corner는 여전히 Pentium 형의 얕은 파이프 라인으로 Atom 형식의 다소 깊은 파이프 라인과는 다르다. 스칼라 파이프 라인 자체는 그다지 변하지 않을 가능성이 높다.

 벡터 측의 파이프 라인에서는 VPU 레지스터 파일 액세스 1 사이클 밖에 가지고 있지 않다는 것을 알 수있다. VPU 레지스터는 512-bit 길이에서 3 리드와 1라이트가 가능하다. 적화산에서는 (FMA) 소스의 피연산자가 3개 필요하기 때문이다.

 512-bit 폭의 벡터 프로세서는 단정밀도와 배정밀도를 모두 지원한다. 단정밀도의 경우 16-way 배정밀도는 8-way된다. 2 대 1의 비율이다. 또한 Knights Corner는 Larrabee와 마찬가지로 마스크 레지스터를 갖추고 있어 마스크에 의해 벡터 제어, 흐름 제어가있다. 예를 들어 16-way 벡터의 각 레인의 스트림이 조건적으로 각각 다른 경로로 분기하는 경우 마스크 레지스터에서 각 레인의 분기를 판별 각 레인이 다른 경로만을 수행하도록 제어하고 . 외관상 벡터의 각 레인이 개별적으로 조건부하고 있는 것으로 보인다. 종전의 Intel CPU의 SIMD 확장 명령은 마스크 레지스터가 없고 (범용 레지스터를 마스크에 사용할 수 있는) 이러한 벡터의 예측을 효율적으로 할 수 없었다.

 또한 마스크 레지스터는 분산 / 수집에도 사용한다. 개별 주소에서 로드 수집 및 스토어 분산은 Larrabee에서 이어지고 있다. 벡터로드 / 스토어에서 1주소 16-wide의 벡터를 로드 / 스토어 대신 최대 16개의 다른 주소에 로드 / 스토어를 행할 수 있다. 파이프 라인은 분산 / 수집은 2 스테이지를 차지하고 있지만 실제로는 주소가 걸쳐 캐시 라인의 수에 따라 지연 시간이 다른 것으로 추측된다. Larrabee는 16캐시 라인에 걸치는 경우 최대 16 사이클이 필요했다.

 

512-bit 폭의 벡터 프로세서

 

 

수집 / 분산 마스크 레지스터

 

 

벡터 조건 분기


캐시를 이전 세대에서 2배 용량으로 배로 증가


 Knights Corner 코어는 32KB의 L1 데이터 캐쉬를 갖춘다. 기존에는 데이터 캐시 포트는 512-bit 1 포트 뿐이었던 것이 Knights Corner에서 512-bit 로드와 512-bit의 라이트 2 포트 병렬 작동할 수 있게했다. 데이터 캐시 대역폭이 배가된 셈이다.

 Knights Corner의 각 코어는 각각 전용 L2 캐시를 갖추고 있다. 캐시 크기는 Knights Ferry의 256KB에서 512KB로 두배가 되었다. 또한 L2 캐시에 실제 메모리 주소를 캐시하는 "Translation Lookaside Buffer (TLB)"  64 항목이 마련됐다. 또한 데이터를 예측하는 하드웨어 프리페처 (HWP)도 추가되었다. 종래는 프리페치 명령어를 사용하여 소프트웨어 프리페치 뿐이었지만, 컴파일러가 완전하다 할수 없기 때문에 16스트림 탐지기 프리페처 하드웨어를 구현하기로 했다.

 

Knights Corner 캐시


 이러한 다양한 개량에 의해, Knights Corner는 코어당 단일 스레드 부동소수점 연산 성능만 봐도 기존 제품보다 향상하고 있다고 한다. 개선폭은 평균 80%라고 설명했다.

 

기존에 비해 성능 향상

 

 

버스 폭의 비교

 

3 중으로 된 링 버스


 Knights Corner는 링 버스를 통해 코어 및 기타 장치를 연결하고 있다. 링은 양방향에서 단방향으로 독립적인 3 링이 있다. 가장 큰 링은 데이터 블록의 링 "BL" 이라고 되어있다. BL는 64-byte (512-bit) 폭 Knights Corner 벡터 폭과 일치하고 있다.

 두 번째 링은 주소 링 "AD"로 이름대로 메모리 액세스의 주소를 보내고 받는데 사용된다.세 번째는 액크놀로지멘트 링'AK'에서 일관된 메시지 등을 주고받는데 사용된다.

 Knights Corner는 각 코어가 각각 개인 512KB의 L2 캐시가 캐시 간의 일관성을 하드웨어로 취하고 있다. 이를 위해 코어는 메모리 액세스시 L2 태그를 참조할 필요가 있다. 태그 참조 핫스팟을 피하기 위해 Knights Corner는 각 코어에 태그 디렉토리 (TD)를 갖추고 있다. 태그 디렉토리는 어떤 주소의 메모리 내용이 어떤 L2 캐시 되어 있는지를 추적하고 있다. 메모리 액세스가 L2 캐시 미스를 하면 태그 디렉터리에 요청이 보내지고 그 라인이 다른 코어의 L2 캐시 되어 있는지를 확인하게 된다.

 

링 버스 구조

 

 

태그 디렉토리


 태그를 찾을 수없는 경우, 태그 디렉토리에서 메모리 컨트롤러에 메모리 주소가 전송. 메모리 액세스에 관해서는 링에 핫스팟이 발생하지 않도록 배분된다고 한다.

 

인터리브 메모리 액세스


 또한 Knights Corner 설계에 있어서는, 코어 수가 증가하여 시뮬레이션을 한 결과 주소 (AD)와 액크놀로지멘트 (AK) 링의 폭을 두배로 하기로 했다. 그 결과, 30 코어 이상으로 코어수를 확장해도 성능의 포화를 피할 수 있었다 한다.

 

AD와 AK의 링 버스

 

 

설계시 시뮬레이션을 한 결과

 


계층형 절전 기능으로 아이들때의 전력을 감소


 Knights Corner의 절전 제어는 Intel의 다른 CPU와 닮아있다. 전체 작동하고 있을 때는, 모든 코어와 장치가 활성화되고 있다. 그러나 코어가 아이들 상태가 되면 "Core C1"스테이트에 들어가, 그 핵심 클럭이 저하된다. 또한, 일정 시간이 지나면 프로그래머블 타이머에 의해, 코어 전압도 낮아진다 "Core C6"스테이트에 들어가 누설 전류 (Leakage)가 억제된다.

 

전체 전력 관리. 그림은 풀 가동시

 

 

Core C1 스테이트시

 

 

Core C6 스테이트시


 모든 코어가 Core C6 스테이트에 들어가 코어 이외의 언코어 부분이 아무것도 동작이없는 것을 감지하면, 이번에는 L2 캐시와 태그 디렉토리, 링버스 메모리 컨트롤러 등의 클럭이 억제된다. 이것이 "Package Auto C3"스테이트에 자동으로 들어간다.

 또한 수행 할 작업이 없으면 OS 측에서 드라이버가 Knights Corner 카드 전체가 더 깊은 유휴 스테이트에 "Package C6"에 세트된다. 이 상태가 되면, 코어 이외의 언코어 부분도 파워 게이트에서 전원이 차단되고 GDDR5 메모리는 셀프 리프레쉬 모드로 들어간다. PCI Express 로직의 일부만 깨우기 트리거를 기다리는 상태가 된다.이 상태의 Knights Corner 카드는 대부분 전력을 소비하지 않는다.

 

Auto C3 스테이트

 

 

Package C6 스테이트

 


Knights Ferry와 Kepler 2의 차이


 Intel은 원래 CPU의 내장 그래픽 코어는 Larrabee 계로 대체해 나갈 예정이었다. 차 차세대 CPU 아키텍처 "Sky Lake '에서 Larrabee 코어를 CPU에 통합 할 계획이었다. 그러나 그 계획은 현재 현재는 PC 시스템은 기존의 Intel 그래픽 코어를 확장하여 프로그램을 높인 코어를 탑재를 계속 할 방침이다.

 한편, HPC에는 Larrabee에서 흐른 MIC 아키텍처의 Knights 제품군을 투입하려고 하고 있기 때문에, 아키텍처가 2분해 버리고 있다. AMD도 NVIDIA도 위에서 아래까지 높은 처리량 / GPU 코어 아키텍처의 통일성이 잡혀 있는데, Intel만 분단된 상태다. 장기적으로 보면 이 분단은 프로그래밍의 통일성 측면에서 큰 문제가 될 것 같다.

 Knights Corner를 GPU와 비교하면 그 설계 사상의 차이가 부각된다. NVIDIA의 Kepler 2 (GK110)과 비교한 것이 아래의 그림이다. Knights Corner는 물리적으로는 54코어 이상의 코어를 갖추고 있어 벡터 유닛의 부동 소수점 연산 유닛 수의 합계는 아마 900 개를 넘는다. 활성 코어가 54 개라고 하면 활성 연산 유닛은 864 개가된다.

 

Knights Corner과 Kepler 2의 차이



 대조적으로, NVIDIA의 GK110는 192개의 연산 유닛을 갖춘 클러스터 "SMX"15 개를 갖춘다고 발표되고 있다. 다이에 실제로는 16클러스터에서 1클러스터가 비활성화 되어 있는지, 원래 15 클러스터 밖에없는지는 모른다. 제품은 14클러스터 활성화도 전하고 있다. 어쨌든, 부동 소수점 연산 유닛 수는 2,800개 이상으로, Knights Corner의 3배 정도다.

 그런데 캐시 메모리 양을 보면 Knights Corner가 28MB 전후 이상의 방대한 L2를 탑재하고 있는 반면 GK110는 L2가 불과 1.5MB. GK110 쪽이 레지스터의 수는 많다 (스레딩 메모리 레이턴시를 은폐하는 것이 GPU의 사상)하지만, 프로세서 전체로 볼때의 온칩 메모리는 계속 적은 것은 확실하다.

 NVIDIA는 Kepler 계 아키텍처에서 파이프 라인 단수를 반으로 하여 프로세서 클럭 1GHz를 조금 넘는 정도까지 떨어졌다. Knights Corner도 정수연산 7단의 얕은 파이프의 낮은 클럭 설계로, Knights Ferry는 1.2GHz였다. 양자의 동작 주파수는 그다지 차이가 ​​없는 것이다.

 즉, 매니 코어를 낮은 클럭으로 동작 시킨다는 개념은 같지만, 더 많은 코어를 적은 내부 메모리에서 실행시킬 것인지, 아니면 상​​대적으로 적은 코어를 내장 메모리를 활용하여 달리게 하는가 하는 발상의​​ 차이가 있다 .

 


Intel 따라 잡을 수 없는 AMD


 Knights Corner는 PC 시장에서 Intel의 라이벌인 AMD의 문제도 부각한다. 간단하게 말하면, 왜 Intel은 Knights 제품군을 낼수 있는데, AMD는 HPC를 위한 Fusion을 아직 내지 않는가? AMD는 개별 GPU를 HPC에 내고 있다고 말할지도 모른다. 하지만 그토록 전부터 원칩화한 이기종 프로세​​서의 장점을 설파해온 AMD가 그 사상에 근거한 제품을 HPC 시장에 투입할 수 없는 것은 수수께끼이다.

 사실, AMD의 하이 엔드 Fusion의 계획은 몇번이나 입에 오르고 있다. 매시브인 Fusion에서 아래의 슬라이드 처럼 CPU 코어와 GPU 코어가 보다 밀접한 클러스터가 되도록 아키텍처도 나타났다. 그러나 아직까지 실현되지 않았고 현재도 톱 엔드 서버 CPU는 아직 Fusion 화 계획이 없다.

 

AMD의 Fusion


 Intel은 제품화도 하지 않아도 리서치 칩을 실제로 시작하거나 Knights Corner 같은 계획을 Xeon과는 별도로 실행하고, 폭넓게 도달할 여력이 있다. 그에 비해 AMD는 범위를 좁혀서(사전을 찾아봐도 정확한 뜻을 모르겠네요.대충 보세요-_-;;; ) 제품을 만드는 것이 고작으로 리서치 및 소량 밖에 나오지 않는 제품에 힘을 할애할 여유가 없어 보인다. 이러한 체력의 차이가 지금의 결과가 되는 것으로 보인다.

 

 

 

[분석정보] TOP500 슈퍼컴퓨터 순위 2013년 6월

 

 

[분석정보] 4만 8000개의 제온파이로 중국 톈허2 세계에서 가장 빠른 슈퍼 컴퓨터

 

 

[제품뉴스] Intel Xeon Phi 새로운 폼 팩터 채용 포함 5모델 추가

 

 

[정보분석] 인텔 60코어 매니코어 "Xeon Phi" 정식발표

 

 

[분석정보] 인텔 슈퍼컴퓨터용 가속기 Xeon Phi 5110P 발표

 

 

[분석정보] Intel, HPC 전용 보조 프로세서 Xeon Phi 2013년 1월부터 일반용으로 출시

 

 

[분석정보] 메모리 기술 혁신이 컴퓨터 아키텍처의 변혁도 이끈다 Intel의 Rattner CTO가 보는 미

 

 

[정보분석] 엔비디아 세계 최다 트렌지스터 칩 GK 110 공개

 

 

[정보분석] IDF 2011 Justin Rattner 기조연설 매니코어 시대가 다가옴 1/2부

 

 

[정보분석] IDF 2011 Justin Rattner 기조연설 매니코어 시대가 다가옴 2/2부

 

 

[정보분석] 같은 무렵에 시작된 Nehalem과 Larrabee와 Atom

 

 

[분석정보] Intel은 Larrabee 계획과 아키텍처를 어떻게 바꾸나?

 

 

[분석정보] 다시 처음부터 시작된 라라비 무엇이 문제였나?

 

 

[분석정보] 라라비 (Larrabee)의 비장의 카드 공유 가상 메모리

 

 

[분석정보] 인텔의 스칼라 CPU + 라라비의 이기종 CPU 비전

 

 

[분석정보] Larrabee는 SIMD와 MIMD의 균형 - Intel CTO가 말한다.

 

 

[정보분석](암달의 법칙) 2010년대 100 코어 CPU 시대를 향해서 달리는 CPU 제조사

 

 

[분석정보] GDC 2009 드디어 소프트 개발자 정보도 나온 "Larrabee"

 

 

[분석정보] 그래픽 및 DirectX 로드맵을 정리

 

 

[정보분석] Intel 힐스보로가 개발하는 CPU 아키텍처의 방향성

 

 

[정보분석] 팀스위니 미래의 게임 개발 기술. 소프트웨어 렌더링으로 회귀

 

 

[분석정보] 정식 발표된 라라비(Larrabee) 아키텍처

 

 

[아키텍처] 베일을 벗은 인텔 CPU & GPU 하이브리드 라라비(Larrabee)

 

 

[정보분석] 암달의 법칙(Amdahl's law)을 둘러싼 Intel과 AMD의 싸움

 

 

[정보분석] 모든 CPU는 멀티 스레드로, 명확하게 된 CPU의 방향