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

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

tware 2009. 11. 9. 21:00

 

Intel의 슈퍼컴퓨터 전문가였던 Rattner 씨

 

 

Justin R. Rattner 씨


 Intel의 매니 코어 프로세서 "Larrabee (라라비)"는 올해 (2009 년) 9월 Intel Developer Forum (IDF)에서도 제품의 모습이 보이지 않는 상태였다. 그러나 Intel은 서서히 Larrabee의 모습과 그 방향성을 제시하고 있다. Intel의 CTO를 맡은 Justin R. Rattner (저스틴 R · 래트너) 씨 (Senior Fellow, Vice President, Director of Intel Labs, Intel Chief Technology Officer, Intel)는 IDF와 10월 기자 회견에서 Larrabee에 대해 말했다 .

 Rattner 씨는 Intel의 CTO에 취임 전에는 Intel의 CPU 아키텍처 개발의 근간인 Microprocessor ​​Research Labs (MRL)의 이사를 맡고 있었다. 또한 뿌리를 더듬 으면, Rattner 씨는 Intel의 초 병렬 슈퍼 컴퓨터인 Paragon과 ASCI Red 개발 지도자였다. 그리고 Larrabee는 슈퍼 컴퓨터에서의 Intel (즉 Rattner 씨) 경험이 반영되어있다.

 슈퍼 컴퓨터 세계에서 Rattner 씨의 실적은 소위 "Attack of the Killer Micros (MPU의 공세) '시대를 추진 한 것이었다. '80년대 까지 슈퍼 컴퓨터는 1명령으로 다수의 요소에 대한 연산을 수행 할 수 있던 벡터 컴퓨터가 주류였다. 다른 말로하면, SIMD (Single Instruction, Multiple Data) 형 아키텍처이다. 물론 벡터와 SIMD라는 두 단어의 정의의 문제이지만, 여기에서는 같은 의미로 취급해 둔다.

 

 

 

 

 

 

        Game Developer Conference에서 Larrabeeno 프리젠 테이션 자료 1, 2, 3


 그것에 대항해, Intel 등은 1명령에 1요소에 대한 연산을 행하는 스칼라 프로세서를 엄청난 수의 초병렬 구성한 아키텍처로 대항했다. PC 및 워크 스테이션용 CPU를 많이 사용했다. 예를 들어, 첫 번째 테라 플롭스 시스템이었던 ASCI Red는 결국 9,298 개의 Pentium II (첫번째는 Pentium Pro. 이후 펜티엄 프로의 소켓8용 펜티엄2 오버드라이브 프로세서로 CPU를 교체 업그레이드)를 탑재했다. 아키텍쳐 적으로는 소위 MIMD (Multiple Instruction, Multiple Data)로 개별 프로세서는 별도의 명령을 개별 데이터 요소에 대해 실행한다. 실질적으로는 단순한 멀티 프로세서 구성이다.

 

 

Larrabee의 개요

 


SIMD와 MIMD의 균형을 잡은 Larrabee


 따라서 SIMD 시스템에 MIMD 머신으로 도전하여 슈퍼 컴퓨터에 새로운 시대를 가져왔던 것이 "Attack of the Killer Micros '이었다. SIMD 대 MIMD라는 논쟁이 되기도 했다. 그리고 Rattner 씨는 이 MIMD의 슈퍼 컴퓨터 공세의 최전선에 있었다.

 그런데 올해 3월에 공개한 Larrabee의 명령어 세트는 사실 SIMD 슈퍼 컴퓨터의 명령어 세트와 비슷했다. 마치 SIMD 슈퍼 컴퓨터의 접근을 Intel이 Larrabee에 도입한 것으로 보인다. 명령어 세트 아키텍처만 보면, Larrabee는 Attack of the Killer Micros 반전 현상으로, SIMD 컴퓨터의 역습처럼 보인다. Rattner 씨는 이에 대해 다음과 같이 설명한다.

 "Larrabee 아키텍처의 혁신에 대한 몇 가지 매우 중요한 점이있다. 아마도 기능"균형 세트 "라는 말을 사용하는 것이 올바른 것이다.

 먼저 디자인의 기본적인 사상을, SIMD 대 MIMD라는 관점에서 설명하자. 우리는 Larrabee의 개발에 있어서는 순수 SIMD를 원하지 않았다. 왜냐하면 SIMD가 몇 가지 큰 단점을 안고 있다고 생각했기 때문이다. 유연성이 없기 때문이다.

 그러나 동시에 우리는 순수한 MIMD도 원치 않았다. 완전히 SIMD가 없는 MIMD 구성은 비효율적 이라고 생각했기 때문이다. 왜냐하면 더 많은 프로세서를 칩에 올릴 필요가 있고, 게다가 전력을 줄이려면 간단한 코어로 밖에 할 수 없었기 때문이다. 그리고 작은 코어 성능을 높이기 위해 SIMD가 필요했다. 그래서 우리는 MIMD와 SIMD의 균형을 Larrabee 설계에서 선택한다 "

 즉, SIMD와 MIMD의 균형을 취하는 Larrabee의 설계 사상의 근본에 있었다고 한다. 그것은 SIMD의 효율성과 MIMD의 유연성을 모두 가지고 가는 것을 목표로 했기 때문이다. Larrabee는 Intel이 SIMD 슈퍼 컴퓨터를 도입했다기 보다는, SIMD와 MIMD의 사이에서 최적의 균형을 구한 결과의 아키텍처가 된다. 실제로 Larrabee 벡터 길이는 16way로 비교적 짧다. SIMD 슈퍼 컴퓨터는 일반적으로 64 ~ 1024 등 긴 벡터 길이를 가진다.

(CPU의 AVX는 8웨이, 차기 AVX512는 16웨이)

 

 

벡터 프로세싱 길이

 


슈퍼 컴퓨터에서 일어난 SIMD에서 MIMD로의 전환


 여기서 재미있는 것은, NVIDIA 등의 GPU 메이커가 그 반대 SIMD에서 출발하여 MIMD적인 요소를 도입하고 있는 것이다. 이쪽도 다른 위치에서 SIMD와 MIMD의 균형을 잡으려 하고 있다. 왜 양자 모두 SIMD와 MIMD의 균형이 필요 하다고 생각하기 시작한 것인가?. Rattner 씨 뷰는 다음과 같다.

 "왜 MIMD와 SIMD의 균형인지, 거기에는 우리가 이전 경험에서 얻은 교훈이 반영되어 있다. 일단 벡터 컴퓨팅 시대에 MPU의 공격이 잘 된 것은 사람들이 벡터 시스템에서 성능을 이끌어 내기 위하여 투쟁하고 있었기 때문이다. MIMD로 성능을 끌어올리기 쉽기 때문에 많은 사람들이 그쪽을 선택하여 갔다.

 

 

 

Computer History Museum에 전시되어있다 Thinking Machines의 CM-1


 아마도 CM-2 (Connection Machine 2)와 Paragon 비교하면 알기 쉬울 것이다 (CM-2는 대표적인 병렬 컴퓨터 제조 업체 Thinking Machines이 개발한 SIMD 머신). 나는 CM-2 "클래식 SIMD 머신"라고 했는데, 그것은 아주 간단한 SIMD 프로세서이기 때문이다. 이러한 시스템에서는 대부분의 파트를 병렬로 달려 빠르다. 하지만 이러한 거대한 SIMD 머신은 매우 좁은 범위의 알고리즘 만큼만 유효하다는 교훈을 얻었다. "

 Thinking Machines의 CM-2는 일세를 풍미한 SIMD 컴퓨터로 SIMD 시대를 상징하는 컴퓨터 중 하나였다. Rattner 씨는 바로 거기에 MIMD로 도전했다. 당시에 적들을 연구한 결과, SIMD의 약점을 인식한 것 같다.

 "클래식 SIMD 머신에서는 일부 알고리즘에서 매우 높은 효율을 달성할 수 있다. 그러나 문제는 이러한 고효율이 실제로 무엇이 완성 될때 까지의 시간과 혼동되기 십상인 것이다. 클래식 SIMD 측은 자주 "우리는 프로세서 사이클의 98%의 효율을 달성했다"고 말했다. 물론 그렇겠지만, 실제로 그 효율성에 도달하는데 매우 긴 시간이 걸리는 수가 종종있다.

 한편 MIMD 시스템은 사용자의 관심사는 스칼라 프로세서 프로그램을 순차적으로 실행하는데 비효율적인 점에 있었다. 실제로 MIMD 기계는, 아마도 SIMD 머신 정도의 높은 효율성에 도달 할 수 없다. 그러나 알고리즘이 제한되지 않기 때문에 솔루션에 더 빨리 도달 할 수 있다. 실질적으로 많은 사용자에게 짧은 기간에 결과를 줄 수 있기 때문에 장점이 있었다.

 결국, 이것이 CM-2에서 CM-5로의 전환에서 일어난 일이다 (Thinking Machines는 CM-5에서 SIMD 대신 MIMD를 채용했다). 간단히 말하면, Thinking Machines는 "OK, SIMD 가속화하여 MIMD 기계를 취하기로 하자"고 말한 셈이다. 이것이 MPU의 공격이었다. "

 


슈퍼 컴퓨터에서의 SIMD에서 MIMD 로의 전환을 재현하는 것이 Larrabee


 Rattner 씨는 SIMD 머신은 높은 효율을 달성 할 수 있지만, 효율적인 알고리즘을 만드는데 그것에 시간이 걸린다고 지적했다. 반면 MIMD는 SIMD 정도로 높은 효율 없지만, 알고리즘의 폭이 넓기 때문에 더 빨리 솔루션을 얻을 수 있다. 즉, SIMD에서 만큼 효율적인 프로그래밍이 어렵지만, MIMD에서는 프로그램이 비교적 용이하기 때문에 사용자의 지지를 받고 SIMD에서 MIMD로 움직 였다고 말한다.

 실제로 SIMD 슈퍼 컴퓨터는 '90년대에 어느 정도 퇴색하고, MIMD 머신이 중요한 위치를 차지하게 되었다. 또한 특수 멀티 프로세서 구성의 전용 MIMD 기계는 점차 방류되어, 2000년대에 들어서면서, PC 및 서버계 CPU 클러스터 구성 (이것도 MIMD라 할 수 있다)에 완전히 대체되었다.

 슈퍼 컴퓨터, SIMD에서 MIMD 로의 전환. 그것을 주도한 Rattner 씨는 같은 일을 그래픽으로 재현하는 것이 Larrabee라고 말한다.

 "Larrabee는 어떤 의미에서 그래픽의 세계에서 MIMD 아키텍쳐의 재발굴 이라 할수 있겠다. GPU가 대규모 SIMD인것 등 여러면에서 비슷하다. 그리고 그래픽 개발자는 우리가 오늘날의 GPU 파이프 라인은 매우 제한적이고, 그들이 원하는 알고리즘을 실행시킬 수 없다고 호소했다. 그래서 우리는 MIMD를 도입하여 이에 부응했다.

 우리가 지난해 SIGGRAPH에서 발표한 논문에서 보여준 투명성의 예와 같이 고정적인 GPU의 구조에서는 어려운 것이 Larrabee에서는 쉽고 완벽하게 할 수있다. 이러한 점이 MIMD와 SIMD의 균형을 선택한 Larrabee의 장점이다. 균형 아키텍처는 아이디어의 근간이다. "

 전통적인 GPU는 대규모의 SIMD 아키텍처 프로세서 전체에서 하나의 프로그램을 달리게 해 같은 명령을 다수의 데이터 요소에 하고 있었다. 따라서 제어 흐름의 제약이 컸다. 이러한 상황은 SIMD 머신이 차지하고 있던 '90 년경까지 슈퍼 컴퓨터와 겹친다.

 

 

그래픽 파이프 라인의 역사


 Intel은 그러한 SIMD 월드에 MIMD를 다시 가져가 바람 구멍을 뚫고 있다. 그것이 Larrabee의 사상이다. Larrabee는 각 코어가 MIMD 구성으로 완전히 독립적인 환경을 달리게 할 수 있다. 하지만 이번에는 순수한 MIMD 대신 효율을 위해 각 MIMD 프로세서 안은 16way로 슈퍼 컴퓨터와 비교하면 비교적 짧은 SIMD (PC 프로세서와 비교하면 긴 SIMD)를 채택했다. SIMD에 대해 MIMD로 도전인데, 이번에는 SIMD의 본질도 도입한 점이 다르다.

 

벡터 길이의 비교

 


NVIDIA는 SIMD에서 MIMD로 접근


 이렇게, SIMD 대 MIMD의 슈퍼 컴퓨터의 구도로 보면, Larrabee의 입지는 명확하다. 또한 Rattner 씨도 그것을 강하게 의식하고 있는 것이 슈퍼 컴퓨터를 읊은 설명에서 잘 안다.

 여기서 흥미로운 것은 NVIDIA의 G80 이후 설계자가 SIMD 슈퍼 컴퓨터 쪽 출신인 것이다. G80에서 Fermi까지 NVIDIA의 새로운 시대 GPU의 개발을 선도하는 John Nickolls (존 니콜스) 씨 (Director of Architecture, NVIDIA)는 MasPar Computer의 설계자였다. MasPar는 다만 Attack of the Killer Micros이 시작된 시대에 SIMD 머신 Thinking Machines 등과 함께 있었다.

 

MasPar MP-2의 개요


 그리고 Nickolls 씨 등이 NVIDIA에서 행하고 있는 것은 앞서 언급 한대로, SIMD를 더 MIMD에 접근하는 것이다. MasPar MP-2는 구성에 따라 수천, 수만 프로세서 (최대 16000)가 SIMD로 작동했다. G80 이전의 NVIDIA GPU도 최대의 벡터 길이 (GPU의 구성에서 다른)은 4,048이었다고 AMD (ATI)는 지적하고 있다.

 반면 G80은 벡터 길이는 32로 줄여 같은 커널 프로그램을 산산이 각 SIMD 프로세서 클러스터로 달리게 하고 있다. 또한 Fermi에서는 각 SIMD 프로세서 클러스터가 서로 다른 커널 프로그램을 실행시킬 수 있다. Larrabee 정도는 아니지만, 그래도 SIMD에서 MIMD로 이동하고 있다. 즉, NVIDIA도 그들 나름의 SIMD와 MIMD의 균형 잡힌 아키텍처로 향하고 있다.

 그래픽의 세계는 SIMD 대한 변혁이 Larrabee와 Fermi이다. 그러나 두 프로세서는 모두 슈퍼 컴퓨터 / 고성능 컴퓨팅 (HPC)의 세계도 시야에 넣고있다. 그리고 SIMD 대 MIMD에서 MIMD 주류의 시대로 옮겨가 긴 이 세계에서도 이들 SIMD와 MIMD의 혼성 구조는 아래의 그림과 같이 새로운 흐름이 된다.

 

슈퍼 컴퓨터와 MPC의 역사


 이 새로운 조류의 형용으로 AMD의 전 CTO였던 Phil Hester (필 에스터) 씨는 AMD 시대에 "Attack of the Killer GPUs (GPU의 공세) '라는 이름 문구를 남기고 있다.

 마지막 그림을 기사에 게재한 때에 Attack of the Killer GPUs의 곳에 "New Vector Era"라고 적고 있었다. 그러나 이번 그림에서는 NVIDIA의 연구 개발을 지휘하는 William (Bill) James Dally (빌 댈리) 씨 (Chief Scientist and Vice President of NVIDIA Research)의 지적을 받고 이를 "New Parallel Era"로 바꿨다. Dally 씨도 이 새로운 기류는 오래된 벡터 아키텍처와 달리 벡터와 스레드의 조합이 된다고 말하고 있었다. 즉, Intel의 기술 톱인 Rattner 씨와 NVIDIA 기술 톱인 Dally 씨는 모두 비슷한 인식을 가지고 있다.

 

 

[분석정보] 매니코어 프로세서로 손바닥 슈퍼 컴퓨터를 실현

 

 

 

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

 

 

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

 

 

[제품뉴스] 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

 

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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

 

 

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