GPU 헤테로지니어스 시스템 수준의 성능 효율

 

인텔은 결코 라라비 아키텍처를 단념하지 않았습니다.  인텔은 고성능 컴퓨팅을 위한 매니코어 아키텍처 MIC(Many Integrated Core)에 라라비의 아키텍처를 써서, 제온 Phi라는 이름으로 출시하려 합니다. 첫 번째 정식 제품은 22나노 공정인 나이츠 코어가 됩니다. 50개 이상의 코어(54 액티브 코어)를 실은 매니 코어 프로세서입니다.

 

인텔은 나이츠 코너 기반 프로로타입 클러스터인 디스커버리 클러스터의 성능을 발표했습니다. 또 올해 6월에 열린 슈퍼 컴퓨터 컨퍼런스 International Supercomputer Conference 2012(ISC'12)에서는 제온 Phi를 발표했습니다ㅏ. 8월 27일부터 29일 사이에 미국 쿠퍼티노에서 열린 반도체 칩 컨퍼런스 Hot Chips 24에서는 나이츠 코너의 기술적인 내용을 일부 발표했습니다. 라라비의 취소 이후 HPC 시장에 샘플 보드를 공급하는 등, MIC 아키텍처의 베일을 차례대로 걷어내고 있습니다.

 

01.png

 

02.png

 

제온 Phi

 

15.jpg

 

George Chrysos

 

핫 칩에서 나이츠 코너의 발표를 담당한 인텔의 George Chrysos씨(Senior Principal Engineer, Intel)는 MIC 아키텍처가 목표로 하는 HPC(High Performance Computing) 분야에서 높은 태스크 레벨의 병렬성이 있는 한편, 높은 출력량을 요구하기 때문에 매니코어 아키텍처를 썼다고 설명합니다. 디스커버리 클러스터에서 살펴 본 성능 효과는 양호해, HPC의 표준 벤치마크인 린팩이 118테라플롭스로 전 세계 슈퍼컴퓨터 TOP 500 중 150위에 올랐습니다.

 

또 경쟁 상대인 NVIDIA나 AMD의 이종 혼합 컴퓨팅 시스템과 비교하면 성능/전력 효율에서도 결과가 뛰어납니다. 차이가 많이 나는 건 아니고 거의 같은 수준이긴 하지만, GPU를 사용한 헤테로지니어스 시스템과 같은 레벨의 효율을 달성하게 된 것입니다.

 

03.png

 

제온 Phi의 성능은 118테라플롭스

 

04.png

 

제온 Phi와 AMD, NVIDIA의 성능 비교

 

05.png

 

MIC 아키텍처의 개요

 

여기에 MIC 아키텍처는 고밀도 컴퓨트 워크로드를 얻기 위해 새 프로그램 언어나 새 API를 사용할 필요가 없다는 것이 장점입니다. GPU 기반 헤테로지니어스 컴퓨팅과 같은 효율을 CPU 기반 시스템에 가까운 쉬운 프로그래밍으로 실현할 수 있다는 것이 인텔의 주장입니다.

 

 

라라비에서 변환 MIC로 다시 설계

 

지금까지 인텔은 라라비의 다이를 그대로 유지했다고 보이는 나이츠 페리를 HPC 분야의 일부 연구 센터 등에 제공하고 있었습니다. 나이츠 페리는 32 CPU 코어(30유효 코어)를 실은 매니코어 제품으로, 칩 자체의 코드네임은 Aubrey Isle, 45나노 공정 제조입니다.

 

인텔은 원래 45나노 공정에서 1세대 라라비, 32나노 공정에서 1세대를 다소 명령 확장하고 코어를 늘려 절전 기능을 넣었습니다. 라라비 2가 나온 후에 아키텍처를 바꾼 라라비 3를 출시할 계획이었습니다.

 

그러나 초대 16코어 라라비는 그래픽 실행 성능이 낮았기 때문에 계획을 바꿔, 결국엔 라라비가 취소됐습니다. 인텔의 이런 제품 계획 때문에 라라비는 흑역사가 됐습니다. 그러나 라라비를 45나노 공정으로 두고 코어 수를 확장한 다이는 나이츠 페리로 남아 있습니다. 아래가 나이츠 페리의 다이입니다.

 

06.png

 

나이츠 페리의 다이 사진

 

라라비는 원래 그래픽과 HPC의 양쪽 모두를 커버하기 위해 만들어졌습니다. 그것이 MIC로 HPC에 맞춰 정리됐습니다. 나이츠 코너는 처음부터 MIC로 설계한 첫번째 칩으로 보입니다. 나이츠 페리에는 다이에 정체 불명의 모듈이 있는데, 그래픽 전용 텍스처 유닛이 아닐까 추측하지만 나이츠 코너에 그런 기능 유닛이 남아 있을지는 모릅니다.

 

나이츠 코너는 PCI-E 카드 형태로 나옵니다. 일반적으로는 1개의 인텔 제온 계열 CPU에 PCI-E x16으로 2장의 나이츠 코너 카드를 연결하는 형태가 되는 것으로 보입니다. 상위 제온은 40레인 PCI-E를 내장하고 있으며, 카드에는 GDDR5 메모리를 8GB 내장합니다.

 

물리적으로는 제온과 PCI-E로 연결하지만, 인텔은 TCP/IP 스택으로 PCI-E를 가상화하는 구조도 제공합니다. 제온에 연결된 코프로세서로 쓰고 싶지 않다면, 이 구조를 써서 나이츠 코너를 네트워크 노드로 쓸 수도 있습니다. 즉 네트워크로 상호 연결된 프로세서처럼 취급하는 것이 가능해집니다.

 

나이츠 코너는 연결된 호스트 프로세서인 제온을 쓰지 않고, 직접 P2P 커뮤니케이션이 가능합니다. P2P 데이터 전송은 인피니밴드나 이더넷을 통해 다른 제온에 연결한 나이츠 코너와도 할 수 있습니다. 밖으로 보면 나이츠 코너지만 서로 연결된 클러스터처럼 취급하는 것도 가능합니다.

 

07.png

 

08.png

 

나이츠 코너의 연결

 

 

링버스로 연결된 매니코어 구성

 

아래 그림은 핫 칩에서 나온 나이츠 코너의 전체 구조 개념도입니다. 링버스에 CPU 코어와 L2 캐시를 조합하고 GDDR5 메모리 컨트롤러, PCI-E 클라이언트 로직이 연결됩니다. 인텔은 현재 클라이언트 전용인 샌디 브릿지부터 서버 CPU까지 모두 링버스를 쓰고 있습니다.

 

이 그림은 어디까지나 개념도이며 정확한 구조를 나타내는 건 아닙니다. 예를 들어서 DRAM 컨트롤러의 정확하 ㄴ배치는 모릅니다. 코어 수도 50개 이상이지만 실제로 어떤 코어인지는 알지 못합니다. 해외에서는 액티브 코어가 54개로 알려졌지만 매니코어나 GPU는 제품 수율을 올리기 위해 코어를 조절했을 수도 있습니다. 물리적으로 내장된 코어 중 몇 개는 쓰지 않는 것일 수도 있습니다.

 

또 50개 이상의 코어를 쌍방향 페어의 링만 써서 연결했을 수도 있습니다. 인텔은 2008ㄴ년의 핫 칩에서 라라비를 발표했을 때, CPU 코어를 늘리면 아래 그림과 같은 링 구성으로 대응하는 방법도 있다고 설명했습니다. 링버스를 유지하면서 링의 위상 기하학을 확장해 보다 많은 코어를 지원한다는 아이디어입니다. 그러나 나이츠 코어는 현재 쌍방향 링 한 겹으로 코어를 연결한 것으로 보입니다.

 

09.png

 

링버스를 사용

 

10.png

 

라라비 링의 확장성

 

 

간단한 나이츠 코너의 CPU 코어

 

나이츠 코너의 CPU 코어 자체는 아래 슬라이드와 같은 구조가 됩니다. 간단한 인 오더 실행의 2명령 디코드%발행 파이프라인입니다. 2웨이 슈퍼스칼라 CPU 코어에 넓은 벡터 연산 유닛을 더한 구성입니다. 명령 실행은 간단하지만 4웨이 멀티 스레딩을 하드웨어적으로 지원합니다. 인텔의 PC용 CPU는 2웨이 멀티스레딩이니까 동시에 실행할 수 있는 스레드 수는 많습니다. 나이츠 코너 전체를 보면 2백개 이상의 스레드를 동시에 실행할 수 있습니다.

 

11.png

 

제온 Phi의 코어

 

12.png

 

벡터 프로세싱 유닛을 탑재

 

위 슬라이드에서 코어 블럭 다이어그램을 보고 알기 쉽게 정리한 것이 아래 그림입니다. 레지스터가 4중인 이유는 멀티 스레딩의 레지스터 구성을 나타냅니다. L1 명령 캐시에서 패치 포인터도 스레드마다 4중이며, 명령어 인출은 16바이트(128비트) 폭으로 디코더는 최대 2 명령입니다.

 

아웃 오브 오더 실행은 아니기 때문에 레지스터 리네이밍이나 명령 스케줄링 기구는 없습니다. 최대 2개의 명령을 2개의 파이프에 배분합니다. 다른 한쪽은 정수 연산만 담당하며 다른 한쪽이 정수 연산 유닛에 부동 소수점 연산 유닛, 그리고 나이츠/라라비 계열의 특징인 벡터 유닛을 갖추고 있습니다. 정수 연산 유닛도 2개 파이프로 비태칭이라 보입니다.

 

13.png

 

제온 Phi의 블럭 다이어그램

 

나이츠 코너의 파이프라인은 다음 구조입니다. 정수 연산만 담당하는 파이프라인은 7 스테이지로 최근의 CPU와 비교하면 매우 얕습니다. 벡터 유닛도 4스테이지 실행으로 비교적 얕습니다. 벡터 파이프라인에서도 13스테이지 계산입니다. 파이프라인이 얕다는 것은 상대적으로 낮은 클럭으로 작동하는 것을 전제로 한다는 의미입니다. 많은 코어를 느린 속도로 실행한다는 발상도 GPU와 비슷합니다.

 

14.png

 

제온 Phi의 파이프라인

기글하드웨어(http://gigglehd.com/zbxe)에 올라온 모든 뉴스와 정보 글은 다른 곳으로 퍼가실 때 작성자의 허락을 받아야 합니다. 번역한 뉴스와 정보 글을 작성자 동의 없이 무단 전재와 무단 수정하는 행위를 금지합니다.