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

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

tware 2009. 12. 10. 20:00

 

Larrabee 아키텍처도 손볼 가능성이 큰


 Intel은 데이터 병렬 편중형의 매니 코어 CPU "Larrabee (라라비)"의 계획을 후퇴시켰다. 당초 예정하고 있던 2010년 그래픽 제품으로의 투입은 현재 다시 구상한다. 그러나 Intel이 범용 데이터 병렬 중심형 CPU 아키텍처의 개발을 단념한다 생각되지 않는다. 그곳 밖에 CPU의 활로가 없기 때문이다. 그러면 다시 구상하는 Larrabee 또는 그 후속 아키텍처는 어떻게 되는 것인가?

 관건은 효율성이다. 아마 Intel은 현재의 16-way 벡터 엔진 + 일관성 캐쉬의 Larrabee보다 효율이 높은 아키텍처로 향하는 것이다. 하나 예상되는 것은 벡터의 입도를 높여 명령당 병렬 처리를 많이한다. 즉, MIMD (Multiple Instruction, Multiple Data)와 SIMD (Single Instruction, Multiple Data)의 균형을 더욱더 SIMD로 기울일것. 또 하나 예상되는 것은 하드웨어의 캐쉬 coherency를 멈추어 소프트웨어 관리의 메모리 일관성 모델을 사용한다. 이러한 예상이 맞을지 어떨지는 모른다. 그러나 최근 Intel의 움직임이나 Intel 간부의 발언은 이런 전개도 예상된다.

 한편, Intel이 기존 그래픽 API에 최적화된 아키텍처로 전환 가능성은 낮다고 추측된다. 그것은 Larrabee 본래의 목적에서 벗어나 버리기 때문이다. 본래의 목적, 그것은 막다른 범용 슈퍼 스칼라 CPU를 헤테로 지니어스 (Heterogeneous : 이종 혼합) 프로세서로 전환시키는 것이다.

 

Larrabee의 개요

 


CPU 앞을 가로막아 선 3개의 벽을 깨다.


 Intel이 Larrabee에 구현한 명령확장 "Larrabee New Instruction (LNI)"는 프로세서 업계에 불고있는 멀티 코어 & 데이터 병렬 폭풍에 대한 Intel 나름의 해답이다. Intel의 Justin R. Rattner (저스틴 R · 래트너) 씨 (Intel Senior Fellow, Vice President, Director (Corporate Technology Group))에 따르면, 그 포인트는 SIMD와 MIMD의 사이의 균형을 잡는 것에 있다. SIMD의 컴퓨팅 효율의 좋은 점과 MIMD의 프로그램상의 유연성의 균형을 잡은 아키텍처다. 16-way의 SIMD 엔진을 쌓은 코어를 16개나 올린 Larrabee는 4-way의 SIMD 엔진을 쌓은 코어를 4개 올린 Nehalem에 비해 동작 주파수에서 뒤져도 10배 가까운 부동 소수 SIMD 연산 성능을 발휘할 수 있다. 그것도 GPU에는 없는 유연성으로.

 이러한 해법이 필요하게 된 것은 현재 CPU가 3개의 벽(월)에 부딪치고 있기 때문이다. 이 3개의 벽은 CPU 업계에서의 교과서라 말할 수 있는 책 "Computer Architecture : A Quantitative Approach, 4th edition"에 자세히 설명되어 있다. 명령 레벨의 병렬성인 ILP (Instruction-Level Parallelism)의 한계 "ILP 월 (ILP Wall)", 소비 전력의 벽 "파워 월 (Power Wall)", 메모리 액세스의 벽 "메모리 월 (Memory Wall)" 이다. ILP를 올리기 위해서 하드웨어를 추가해도 이전 정도의 성능 향상은 얻을 수 없다. 한편, 전력 절약화가 막히면서, 전력이용을 올리지 않으면 CPU 성능을 올릴 수 없게 되었다. 또한 메모리 성능이 오르지 않는 것도 발을 잡아끈다. 아래는 Computer Architecture의 공동 저자로 유명한 David A. Patterson (데이비드 · A · 패터슨) 교수 (University of California at Berkeley)가 2006년 8월 CPU 컨퍼런스 "HotChips 18"에서 설명한 슬라이드다.

 

3 개의 벽

 

 

프로세서의 성능 향상의 진전


 이 3 개의 벽을 해결하기 위해서는 ILP를 높이는 것이 아니라, "데이터 레벨의 병렬성 (DLP : Data-Level Parallelism)" 과 "thread 레벨의 병렬성 (TLP : Thread-Level Parallelism)"의 추구 CPU의 성능을 높이는 것이 필요하게 된다. 그 쪽이 효율성이 높고, 전력당 성능이 오르기 때문이다. 또한 온칩 메모리를 사용한 데이터 국소성의 활용도 중요하다. (ILP는 동시에 처리할 수 있는 명령어를 늘리는 형태 즉 IPC가 오르는 것이고, DLP는 SSE,AVX 같은 SIMD명령으로 데이터를 병렬로 처리하는 형태, TLP는 멀티코어 또는 하이퍼쓰레딩 같은 멀티쓰레딩 기술, 또는 멀티코어 + 멀티스레드 로 쓰레드를 동시에 많이 돌리는 형태)

 현재 프로세서는 이러한 상황에 있으므로 DLP를 추구한 GPU가 범용 프로세서로 주목 받게 되었으며, CPU가 멀티 코어에 의한 TLP의 활용으로 향하게 됐다. 이는 Intel이나 AMD뿐만 아니라, 프로세서 업계 전체의 큰 조류이며 Intel도 이 문제를 해결해야 한다. 즉, 기존의 대형 슈퍼 스칼라 CPU 코어를 보완하기 위해 높은 DLP +  높은 TLP의 아키텍쳐를 개발하는 방향 자체는 멈춰질 수 없다.

 

SIMD와 MIMD

 


데이터 병렬 코어를 침투시키는 수단으로서의 그래픽


 3 개의 벽을 깨기 위해 개발한 데이터 병렬 중시형 코어 Larrabee에서 Intel가 수립 한 계획은 다음과 같은 것이라고 추정된다.

 우선, 데이터 병렬 엔진의 명령 아키텍처 자체는 Intel의 IA (x86) 명령으로 실현했다. 이것은 다양한 스칼라 파이프와 함께 할 수 있도록 하기 위한 것이라고 생각된다. 첫 번째 하드웨어 실현으로 Intel은 Pentium (P54C) 기반의 작고 간단한 스칼라 파이프와 LNI의 벡터 엔진을 조합한 소형 코어를 설계했다. Intel의 연구에서는 Intel의 현행의 슈퍼 스칼라 CPU에 비해 Larrabee 형의 코어는 1 / 5 정도의 크기로 한다.

 

Larrabee와 Pentium 코어의 비교


 Intel의 궁극적인 목적은 CPU에 데이터 병렬형의 코어를 통합하여 이기종 구성하는 것이다. 하지만 그 전단계로서 Intel은 우선 Larrabee를 개별 칩으로 보급시켜 프로그래밍 모델을 침투시키는 방법을 택했다. 그리고 그 수단으로 많이 팔릴 가능성이 있는 개별 그래픽 시장을 타겟으로 했다.

 Intel의 생각은 효율적인 데이터 병렬 코어를 만들면 데이터 병렬이 친숙해지는 작업인 그래픽도 좋은 성과를 낼 수 있다는 것이다. 현재는 방대한 데이터 병렬 처리를 필요로 하는 응용 프로그램에서 많은 사용자를 잡을 수 있는 것은 그래픽 밖에 없다는 사정도 있다.

 데이터 병렬을 높인 CPU의 미래 응용 프로그램 대상은 이른바 "RMS"로 불리는 "Recognition (인식)", "Mining (분석 & 추출)", "Synthesis (합성)"장르다. 내츄럴 휴먼 인터페이스 등으로 대표되는 완전히 새로운 분야를 열 것으로 예상되고 있다. 하지만 거기에 도달할때 까지의 응용 프로그램은 그래픽에서부터 시작된다.

 Intel은 프로그래머블화가 진행되는 실시간 3D 그래픽이, 미래는 거북한 그래픽 API에 얽매이지 않고 소프트웨어 개발자가 자신들의 소프트웨어 렌더러를 쓰는 시대가 온다고 보고 있다. 그리고 기존 GPU보다 유연성이 높은 Larrabee는 그 시대에 가장 적합한 아키텍처가 된다고 생각했다. 그래서 개별 그래픽용 제품으로 성공할 수 있다는 것이 Intel의 Larrabee 전략의 근간이다.

 정리하면 Larrabee의 최고점의 목표는 효율적인 데이터 병렬 코어를 CPU에 통합하는 것이다. 아마도 거기에(소프트렌더러) 기울지 않음으로 기우는 것으로 Intel의 CPU 전략 자체가 와해되어 버린다. 그러나 가까운 방법으로 선택한 것은 개별 그래픽을 첫 번째 타겟으로 하는 것이었다. 그리고 이번에는 이 부분이 무너졌다.

 

 


Larrabee 3까지의 길


 이러한 상황을 감안할 때, Larrabee의 향후도 어느 정도는 예상이 된다.

 먼저 단계는 3 가지가 있다. 하나는 표면의 Larrabee 제품 계획의 백지에서 다시 시작, 다음은 그 뒤의 데이터 병렬 코어 침투 전략의 재검토, 게다가 깊은 단계인 아키텍쳐의 개량. 이 3 개의 단계는 한번에 할 수는 없다.

 제품 계획에 대해서는 현재로서는 어떤 정보도 믿을 수 없다. 바뀔 가능성이 있기 때문이다. 지금 백지로 생각하는 편이 좋다. 데이터 병렬 코어 침투 전략은 어쩌면, 크게 다시 구상할 가능성도 있다. 예를 들어, 개별 코프로세서는 포기하고 처음부터 통합을 노리는 일도 생각할 수 있다.

 Larrabee에는 알려​​져 있는것 처럼, 65nm 공정의 연구, 45nm 공정의 제 1세대 Larrabee, 32nm 공정에서의 제 1세대와 동공정 아키텍쳐의 Larrabee 2가 있었다. 그리고 그 후에 아키텍처를 쇄신 할 것으로 보이는 Larrabee 3가 대기하고 있었다. 고객에 대해서는 Larrabee 1과 2는 전해, Larrabee 3의 전망도 시사하고 있었다고 한다. Larrabee 1에서는 경쟁력이 없기 때문에 Larrabee 2로 시작하는 이야기도 들려오고 있었다.

 그러나 Larrabee의 기존 그래픽 API 기반의 효율성의 나쁨은 아키텍쳐상의 것이기 때문에, Larrabee 2에서의 입상도 훌륭하게 행해진다 생각은 할수 없다. 실제로 있는 게임 소프트웨어 기업의 최고 기술자는 9 월경에 "Larrabee 3까지 기다리 것"이라고 말했다. 이런 상황에서 Larrabee 제품 계획의 다시 시작인 것은 당연했다 할 수 있다. 또한 이러한 고객 측의 반응에서, 아키텍처 변경이 요구되고 있는 것을 알고있다.

 


Larrabee를 저버리고 GPU를 개발할 가능성은


 그러면 Larrabee 아키텍처와 전략을 처음부터 다시 고치면 어떻게 될 것인가? 현재 상태로서는 확실한 정보가 없다. 그러나 지적된 문제나 Rattner 씨의 과거 발언 등에서 대략 방향성은 보인다.

 첫째, 큰 범위로 말하면, Intel이 현재 그래픽 파이프 라인에 최적화된 GPU 코어를 개발할 가능성은 낮다. 이유는 명확하고, Intel의 목적은 그래픽의 성능만을 늘리는 것은 아니기 때문이다. 또한 고정적인 GPU 하드웨어에는 Intel이 기술을 가지고 있지 않고, Intel의 설계상의 강점을 발휘할 수 없다.

 그렇다면 AMD가 ATI Technologies를 인수한 것처럼, NVIDIA를 인수하다면 (가능하다고 할때 이야기) 어떨까? 아마도 그러한 방향의 전개도 없을 것이다. 물론, NVIDIA가 현재 진행하고 있는 것은 GPU의 측면에서 비교적 자유도가 높은 데이터 병렬 코어로 향하는 것으로, Intel 어떤 의미로 노선은 일치하고 있다. 그러나 Intel은 처음부터 CPU를 발전시키는 형태를 원하는 Larrabee를 설계하고, 어떤 의미에서 NVIDIA와 반대 방향에서 진행되고 있다. Larrabee로 기른 자산을 활용하는 것이 아마 지름길일 것이다. 노선이 가깝기 때문에, Intel이 NVIDIA에서 얻을 것은 사실 적다. 예를 들면, NVIDIA 아키텍처의 가장 큰 특별한 장점은 데이터 병렬에 최적화된 스케줄러 등이지만 그것은 Intel에게 불필요한 부분이다.

 그러면 Intel이 CPU에 통합하는 데이터 병렬 코어라고 하는 노선을 견지하면서 아키텍처를 개량한다고 하면 어떻게 될까?

 

Fermi에서의 Warp의 스케줄링

 


32-way로 벡터 확장과 소프트웨어 일관성 가능성


 Rattner 씨는 10월 일본 방문시 기자단 원탁에서 CPU에 데이터 병렬 코어를 병렬하는 경우에 대해 다음과 같이 비전을 말했다. "가까운 미래에는 아마도 큰 코어가 8-way의 벡터 엔진 (AVX), 스몰 코어는 16 또는 32-way의 벡터 엔진이라는 편성이 될 것이다"

 현재 Larrabee 벡터 엔진은 16-way지만 Rattner 씨는 32-way도 시사했다. 벡터는 길게하면 컴퓨팅 효율이 높아지지만, 반면 컨트롤 흐름의 효율이 나빠진다. Larrabee 나 GPU의 벡터 엔진은, 벡터 분기 명령어를 갖추고 있어 컨트롤 흐름을 제어할 수 있다. 그러나 벡터가 길어지면 분기 제어의 입도가 커져, 효율이 악화되기 때문이다.

 이 균형은 애플리케이션 워크로드에 대해 어느것이 최적인가를 판별해 결정할 필요가 있다. 현재는 NVIDIA가 32-way, AMD GPU가 64-way가 되고 있다. 즉, 원리 적으로는 Intel이 제일 컨트롤 플로우의 유연성은 높지만, 컴퓨팅 효율이 가장 나쁘다.

 

 

319433-015.pdf

 

 

 

벡터 조건 분기

 

 

 

벡터 길이의 비교

 


 만약 Intel이 작업을 분석하여 보다 컴퓨팅 효율이 높은 것이 좋다고 판단되면 이 부분에 손을 댈 가능성도 있다. Rattner 씨가 시사한것 같은 16-way를 32-way로 확장하는 방법은 하나의 수단이다. 이것을 하드웨어적으로 구현하는 경우에는 1개의 CPU 코어가 커지고 코어의 병렬도가 떨어진다. MIMD와 SIMD의 균형을 SIMD 측으로 가도록 된다. 그러나 GPU가 하고 있는것 처럼 16-way의 벡터 엔진으로 2 이클로 32-way 실행하는 방법도 있다. GPU의 경우 이것은 쓰레드 스케쥴의 간소화나 지연 시간의 은폐에 효과가 있지만 Larrabee의 경우는 이야기가 달라진기 때문에 단순하게 적용은 어렵다.

 

Larrabee의 링 버스


 Larrabee는 링 버스로 묶은 각 코어가 갖춘 캐시 메모리 간에 일관성을 하드웨어로 취하고 있다. 이것도 버스 트래픽을 먹고, 하드웨어를 복잡하게 하는 원인이 되고 있는 것으로 보인다. Intel은 이것도 옮길지도 모른다. 물론, 캐쉬 coherency가 취해지지 않으면 프로그래밍이 어렵게 된다. 그러나 Rattner 씨가 향후의 중요 기술로 들었던 공유 가상 메모리 (Shared Virtual Memory)는 이 문제를 어느 정도 해결할 수 있다.

 Intel은 지금까지 공유 가상 메모리를 CPU와 개별 Larrabee의 사이에서 메모리 공유로 소개해 왔다. 그러나 공유 가상 메모리는 메모리를 공유하는 코어 사이에 적용 할 수도 있다. 사실, Intel이 지난주 개요를 발표한 48코어의 매니 코어 연구 CPU "Single-chip Cloud Computer"는 공유 가상 메모리에 의한 소프트웨어 기반의 페이지 수준의 메모리 일관성을 취한다. 특히 데이터 병렬의 경우 데이터 크기 때문에 공유 가상 메모리를 적용시키기 쉽다.

 물론 Intel이 취할 수단은 그 밖에도 여러가지 있다. 그러나 프로세서 아키텍처의 흐름을 보는 한, 큰 틀에서 방향성은 변함 없다고 추정된다. 만약 변한다면, 그것은 Intel이 현재의 시장 동향만으로 제품 전략을 결정한 경우이다. 이 경우 Intel이 지금의 CPU 아키텍처의 변화의 흐름에 놓칠 가능성이 생긴다.

 

 

2009년 12월 10일 기사 입니다.

 

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

[분석정보] IDF 2012에서 주목한 한가지, 매니 코어 "Knights Corner"

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

[분석정보] 라라비 (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의 방향

 

 

 

 
319433-015.pdf
3.89MB