벤치리뷰·뉴스·정보/고전 스페셜 정보

[고전 2004.11.09] 전력 효율성에 초점을 둔 인텔 연구개발 (PARROT)

tware 2005. 12. 11. 04:00

 

시뮬레이션에서는 39%의 전력상승으로 45%의 성능향상

Intel의 프로세서 연구를 담당하는 Microprocessor ​​Lab은 전력 효율을 높이는 것으로, 성능 / 전력을 획기적으로 높일 CPU 아키텍처 "Power AwaReness thRough selective dynamically Optimized Traces (PARROT)"을 발표하고있다. PARROT는 아직 연구단계의 아키텍쳐이지만, 현재와 같이 소비 전력이 최대의 벽인 시대에 가장 적합한 방법 중 하나라 추측된다.

그러면 PARROT 아키텍처에 따라서  CPU는 어느만큼의 효율화가 그려질 것이다. PARROT 에서는 자주 사용하는 코드 부분 (핫 코드)에 대해 공격적인 최적화를 행한다. 이에 따라 IPC (1 사이클에서 실행할 수있는 명령 수 : instruction per cycle)을 높여 실행하는 내부 명령 (μOPs) 수를 감소시킨다. 또한 마이크로 아키텍처의 처리를 최대한 재사용함으로써 낭비를 뺀다. 그 결과, 성능을 높이면서 소비 전력의 절감을 도모 할 수 있게 된다.

예를 들어, PARROT의 프레젠테이션에 표시된 예에서 28 개의 μOPs 코드가 10 개 μOPs 코드로 삭감 할 수 있다고 하면, 그만큼 실행 코어에서 실행 시간이 짧아지고 성능이 올라 실행 코어의 부담도 줄어들기 때문에 소비 전력도 떨어질 것이다.

 

 

 

PARROT 최적화 예

 

또한 논문에는 PARROT을 적용한 아키텍처 시뮬레이션도 나타나고 있다. 이에 따르면, 프런트 엔드 명령 대역이 4wide (4 명령 / 사이클)의 기존 아키텍처에 PARROT을 적용한 경우에는 전력 소비의 증대를 4 %로 억제하면서 IPC를 17% 향상시킬 수 있다고 한다. 또한 PARROT의 적용에 따라 명령 대역을 8wide 펼친 경우에는 전력 증가는 39%에서 IPC의 향상은 45%라고 한다.

종전에는 아키텍처 확장으로 전력 효율이 떨어질 경향이 있었다. 하지만 시뮬레이션을 보면,PARROT에서는 전력 효율은 획기적으로 향상된다.

 

 

PARROT 최적화

 

 

Merom에서는 4wide로 명령 대역을 확대?

이와 관련하여 이 프레젠테이션에서 흥미로운 것은, 현재의 프로세서 아키텍처의 예 이다 상단의 "N"상자에(그림) "Merom-like"라고 쓰여져 있는 것이다. "Merom (메롬)"은 Intel이 2006 ~ 7년의 모바일 CPU 용으로 개발하고 있는 차세대 CPU 코어 아키텍처의 코드 네임. 그림의 "N"은 표준적인 현대 CPU 기준에서 4wide, 슈퍼 스칼라 / 슈퍼 파이프 라인 / out-of-order의 마이크로 아키텍쳐가 된다. 그림을 보면, Merom는 이러한 아키텍처를 취하도록 했다.

Merom이 4wide 라면, 지금 세대의 CPU와는 프론트 엔드의 명령어 인출 / 스케줄링 / 이슈 폭이 다른 것이다. 프런트 엔드 대역은 NetBurst 진짜 3wide (디코딩 된 μOPs의 경우), Pentium M도 마찬가지로 보인다. 그러면 Merom은 현재 CPU보다 명령 대역이 넓은 CPU라는 것이된다.

현재 CPU에서 명령 대역이 3wide에 한정되어 있는 이유는 스케줄링을 위해, 3wide 분 이상의 명령 병렬성을 실현하는 것이 어렵기 때문이다. 4wide에서 충분히 가동시키기 위해서는 지금의 CPU보다 더 많은 명령어를 병렬 처리 할 수​​ 있어야 한다. 따라서 Merom은 스케줄링에 관한 부분이 확장 될 것으로 예상된다. 덧붙여서, IA-32에서는 디코딩이 가장 큰 병목이지만, 이것에 대해서는 IA-32에서 μOPs로 변환한 상태에서 캐시하는 것으로 일단은 해소 할 수있다.

이와 관련해서 IBM의 PowerPC 970 계 CPU 내부에서는 4 명령 +1 분기 명령 / 클락의 4 ~ 5wide 코어를 가진다. 또한 소프트웨어에서 보다 광역 스케쥴링을 실시하는 Transmeta는 "Efficeon"최대 8wide 병렬화 한다. 3wide 이상은 이미 트렌드가 되어 가고 있다.


이 프레젠테이션에서는 PARROT이 Merom 세대에는 적용되지 않을 수도 알 수 있다. PARROT이 구현 된다고 하면, 그것은 Merom (2006년 말) / Merom + (2007 년)계 아키텍쳐의 다음 이후가 될 것 같다.

 


비슷한 PARROT과 Transmeta의 CMS

PARROT의 포인트는 핫 코드에 대한 중점적인 최적화에 있다. 그러나 이 방법인 동적 컴파일러는 이미 알려져 있다. 그런 의미에서, PARROT은 "동적 컴파일러적인 최적화 기법을 하드웨어에 통합" 이라고 표현해도 좋을지 모른다.

실제로 PARROT과 비슷한 기술을 소프트웨어 계층에서 구현한 선례라면 CPU의 세계에서도 가까이 있다. 그것은 Transmeta 계 CPU에서 회사의 아키텍처는 동적 컴파일러를 포함 "코드 모핑 소프트웨어 (CMS : Code Morphing Software)"에서 CPU 네이티브 명령 세트로 변환 및 스케줄링을 하고 있다. 그때, Efficeon는 PARROT과 비슷한 최적화를 행하고 있다. CMS가 코드에서 핫스팟을 찾아 다단계 최적화를 걸어 슈케쥴이나 데드 코드 제거, 추적 경로 최적화 등을 행한다. PARROT의 논문을 보는 CPU 업계 관계자도 가장 먼저 생각이 Transmeta에 비슷하다고 지적했다. 또한 PARROT 프리젠테이션 중에도 Transmeta의 CMS를 관련 소프트웨어 기술로 들고있는 것이 있다.

이 유사점은 Transmeta의 David R. Ditzel (데이비드 R · 디체루) 공동 창업자 겸 부회장 겸 CTO (Co-Founder, Vice-Chairman and CTO)는 다음과 같이 말한다.

"PARROT와 같은 기술은 우리는 이미 이전부터 구현하고 있다. PARROT, 우리의 구조를 닮은 것은 이상하지 않을 것이다. Intel은 항상 우리에서 복사하기 때문이다 (웃음). 우리는 이걸 (핫스팟에 공격적인 최적화를 걸) 당연한 진화의 방향이라고 생각한다 ","그러나 우리(의 CMS)와 Intel (의PARROT)에서는 방법에 큰 차이가 있다. Intel은(최적화 엔진을) 하드웨어에서 구현 하려고 하고 있는 것 같지만, 우리는 소프트웨어에서 구현한 결과, 우리는 CPU의 트랜지스터 수를 줄여 전력 소모도 줄였다. Intel 하드웨어에서 구현 하면 그만큼 트랜지스터 수가 증가, 전력 소비는 불리해진다 "

반면 Intel의 Gelsinger 씨는 다음과 같이 대답한다.

"기본적으로는 데이브(Ditzel 씨)에 동의하지 않는다. 나의 의견은 간단하다. 우리는 하드웨어와 소프트웨어 모두를 매우 중요하다고 보고 있어 양자의 협조를 항상 생각하고 있다. 하드웨어 쪽이 소프트웨어보다 (구현) 적합한 부분과 소프트웨어가 적합한 부분이 있다. PARROT은  핫 실행과 콜드 실행을 겸비해 전력 효율이 높은 마이크로 아키텍처이다.이 기법과 협조하여 소프트웨어 스케줄러와  컴파일러도 훨씬 파워풀하게 될 것이다. 어떤면에서 데이브는 유연한 하드웨어를 그가 가지지 못한 것을 정당화 하려고 하는 것 같다 "


PARROT 같은 고급 최적화에 대해서도 Transmeta처럼 모든 소프트에서 구현하는 것보다 하드에 구현하는 것이 효과적이라고 주장하고 있는 것이다. 실제로 PARROT의 경우 최적화 및 추적 생성은 완전히 백그라운드에서 수행되는 형태로, Transmeta의 접근법과는 달리 포어 그라운드 파이프 라인의 사이클을 소비하지 않는다.

Transmeta는 스케줄러뿐만 아니라 명령어 세트 아키텍처 (ISA)도 소프트웨어인 CM​​S로 구현함으로써 프로세서의 하드웨어와 소프트웨어의 파티션을 소프트웨어 집합으로 바꿨다. 반면 Intel은 동적 컴파일러적인 기술을 가져와 더 하드 가까이에 파티셔닝을 끄고하려 시도하고 있는 것으로 보인다. 한편, 컴파일러 등 소프트웨어 측면이 PARROT의 실행 부하 과다 경로를 의식하여 보다 효율적으로 될 것도 시사하고 있다.

핫스팟에 대한 최적화를 하드웨어로 구현한 PARROT 아이디어는 갑자기 태어난 것은 아니다. 대부분의 CPU 아키텍처가 따르고 있는 취하는 것으로 유사한 연구가 다른 연구 기관에서 동시 다발적으로 진행되고 있다. 일리노이 대학의 "rePlay : A Hardware Framework for Dynamic Optimization"이 PARROT과 비슷한 하드웨어 기반의 최적화 방법이다. 또한 추적 경로 최적화 기술에 대해, 다수의 논문이 나오고 있다. 같은 일을 생각하고 있는 연구자가 많이 있을 것이다. PARROT이나 rePlay 같은 접근 방식은 CPU 업계의 일종의 연구 방향이 되어 가고 있을지도 모른다.

 


 전력 효율을 높일 수 있는 CPU 아키텍처의 초점

Intel의 내부에서도 PARROT의 흐름이 보인다. PARROT의 논문은 Pentium M을 개발한 이스라엘 Intel의 Microarchitecture Research Lab 연구원에서 발표되고 있다. 이 때문에 Pentium M 아키텍처의 연구의 연장선에 PARROT이 있는걸 짐작할 수 있다.

다만 Intel 간부들은 PARROT 아직 연구 도중의 아키텍처로 구현에 대해서는 미정이라고 강조한다.

"우리는 PARROT 대해서는 아직 어떤 결정도 내리지 않는다. PARROT는 아직 Microprocessor ​​Lab에서 연구 단계의 것이다. 그래서 PARROT 만 너무 강조하고 싶지는 않다"(Gelsinger 씨)


PARROT가 다음 CPU 아키텍처에 채용된다고 정해져 있는 것은 아니라고 신중하게 못 박고 있다. 실제로 PARROT 프레젠테이션에 있던 것처럼, Merom에 PARROT은 없다는 것을 볼 수있다. 그러나 최근 인터뷰한 Intel의 개발계 간부는 모두 PARROT에 대해 잘 알고 있었다. 이 때문에 PARROT은 Intel 내부에서도 심각하게 받아 들여지고 있는 것으로 보인다.

당연히 , PARROT 만이 Intel이 가진 말은 아닐 것이다..

"PARROT은 물론, 우리의 아이디어 중 하나다.하지만 전부는 아니다"라고 Gelsinger 씨는, Intel이 PARROT 외에도 전력 효율을 높이기 위한 다양한 기술을 연구하고 있다는 것을 시사한다. Gelsinger 씨는 예로 CPU 설계시의 전력 소비를 보다 정확하게 애널라이즈 도구 등을 꼽았다. 이것은 프린스턴 대학의 연구자가 Intel의 연구자와 공동으로 발표한 논문 "Wattch : a Framework for Architectural-level Power Analysis and Optimizations"에서 설명 된 "Wattch"기술을 가리키는 것으로 보인다.

하나 분명한 것은, Intel의 CPU 아키텍처의 연구 개발이 지금은 전력 효율을 높이는 데 완전히 포커스가 있는 것이다.

"PARROT에 보이는 아이디어는 우리의 현재의 연구 활동 전체를 지배하고 있는 것이다. 그것은 전력효율 (Power Efficiency)이다. 과거에는, 우리는 맥시멈 성능을 목표로 프로세서를 설계했다 그러나 이제는 옵티멈 성능을 위해 설계를 한다. 모두가 변화했다. PARROT은 그 한 예 "라고 Gelsinger 씨는 말한다.

또 보였던 것은 Intel이 CPU 코어는 복잡한 기능을 추가함으로써 전력 효율성을 도모 하고자 하는 것이다. CPU 코어를 심플하게 유지함으로써 전력 효율을 높이려는 흐름이 없을 것 같다. 현재, Intel은 심플 CPU 코어로 멀티 코어 CPU를 실현하는 방법의 개발을 진행하고 있는 흔적이 보이지 않는다.


이를테면 간단한 CPU 코어를 다수 탑재하는 멀티 코어 CPU는 CPU 업계의 트렌드의 하나가 되고 있다. 특히 에지 서버 및 네트워크 장비 등의 용도가 유망하다고 볼 수있다. Sun Microsystems는 개발중인 'Niagara (나이아가라) "에서 이런 방향을 지향하고 있다. Compaq Computer도 Alpha 아키텍처 기반 "Piranha (피라니아)"라고 부르는 리서치 CPU 프로젝트를 이전에 발표하고 있다. IBM도 소니 컴퓨터 엔터테인먼트 (SCE), 도시바와 공동 개발하고 있는 "Cell"프로세서를 그러한 용도로 응용 할 수 있다. 멀티 코어 화를 계기로 CPU의 마이크로 아키텍처는 다시 다양화 하고 있는지도 모른다.

 

 

PARROT 파이프라인 개념

 

 

[분석정보] Many-Core CPU로 향하는 Intel. CTO Gelsinger 인터뷰 1/2부

 

 

[분석정보] Intel CPU의 미래가 보이는 PARROT 아키텍처

 

 

[01년02월06일] 2010년 CPU 소비 전력은 600W?

 

 

[01년01월11일] Intel의 0.13μm 공정 P860/P1260에서 CPU는 어떻게 바뀌나

 

 


[01년01월17일] 10GHz CPU를 실현하는 Intel 0.03μm 트랜지스터 기술

 

 

[01년11월27일] 인텔 테라 헤르쯔 트랜지스터 기술 발표