지난 8월 인텔이 발표한 인텔 스레드 디렉터에 대해 라즈쉬리 차북스워(Rajshree Chabukswar) 인텔 엔지니어가 알기 쉽게 설명한다.
스레드 디렉터, 하이브리드 칩 사용 극대화
퍼포먼스 코어, 최적 성능 스레드 먼저 할당
인텔 하이브리드 설계, 성능·전력 균형 유지
▲라즈쉬리 차북스워(Rajshree Chabukswar) 인텔 엔지니어
■ 인텔 스레드 디렉터, 최적의 프로세서 코어에 할당
인텔은 지난 8월 개최한 인텔 아키텍처 데이(Intel Architecture Day)에서 인텔 스레드 디렉터를 공개했다.
인텔 스레드 디렉터는 기본적으로 새로운 유형의 하이브리드 컴퓨터 칩이 올바른 스레드 또는 워크로드를 적합한 유형의 프로세서 코어에 할당하도록 한다.
인텔 스레드 디렉터는 운동선수 부상에 빗대어 설명할 수 있다.
축구 경기에서 한 선수가 다리를 다쳐서 가족의 주치의와 정형외과 의사가 있는 병원에 가면 병원 접수처는 염좌, 골절, 인대 손상에 대해 더 잘 알고 있는 정형외과 전문의에게 환자를 배정해 환자가 최적의 치료를 받도록 보장한다.
스레드 디렉터는 병원의 배정 시스템과 같은 방식으로 어떤 소프트웨어 스레드가 퍼포먼스 코어(Performance Core)의 이점을 가장 많이 활용할 수 있고, 어떤 스레드가 에피션트 코어(Efficient Core)에 더 적합한지 파악하기 위해 이러한 모든 하위 수준의 통계를 살펴본다.
인텔 최신 하이브리드 아키텍처는 에피션트 코어와 퍼포먼스 코어를 포함한다.
인텔의 최신 PC용 시스템-온-칩(SoC)인 앨더레이크(Alder Lake)는 이러한 두 종류의 코어와 인텔 스레드 디렉터의 조합을 사용하는 최초의 컴퓨터 칩이 될 것이다.
16개의 스레드가 실행 중인 16개의 코어가 있는 기존 OS의 경우, 스레드가 어떤 코어에 성능이 집중되고 있는지 모르며, 여기서 스레드 디렉터가 활용될 수 있다.
이는 최적화된 스케줄링 권장사항을 만들 수 있는 기능도 제공한다. 그리고 소프트웨어 계층에서 이런 결정을 내리는 것이 아니며, 하드웨어에서 실행 시간 원격 측정을 나노초 단위로 추적하고 소프트웨어가 올바른 결정을 내릴 수 있도록 도와주는 것이다.
■ 하드웨어 및 소프트웨어 간 협력 必
시러큐스(Syracuse)에서 컴퓨터 공학 석사 학위를 받은 후 20년 전 인텔에 입사했을 때는 고객용 소프트웨어를 최적화하는 데 관심이 있었다.
내가 소속된 인텔 클라이언트 컴퓨팅 그룹 팀은 소프트웨어 파트너와 협력해 공통의 성능, 전력, 사용자 경험에 걸친 병목 현상을 식별하며 미래의 코어 및 플랫폼에 대해 다른 관점을 제시했다.
2019년 나와 인텔 OS 소프트웨어 팀은 스레드 디렉터 검증을 위해 앨더레이크 하드웨어 아키텍처 팀과 함께 이스라엘을 방문했다.
우리 팀은 대상 소프트웨어 최적화를 통해 즉각적인 문제를 해결하지만, 하드웨어 팀 및 설계자와 협력해 소프트웨어 분석 결과를 향후 하드웨어 설계 고려사항에 다시 반영하기도 한다.
나와 소프트웨어 팀이 이스라엘의 하드웨어 팀과 협력했던 당시, 게임, 스트리밍, 콘텐츠제작, 생산성과 같은 광범위한 공통된 클라이언트 활동을 처리하는 새로운 퍼포먼스 코어와 에피션트 코어를 기반으로 하는 OS가 필요하다는 것을 알고 있었다.
이러한 광범위한 사용법이 새로운 하이브리드 접근 방식의 필요성을 잘 보여준다.
가장 까다로운 애플리케이션 중 많은 부분이 하나 또는 몇 개의 코어에서 잘 실행되지만, 새롭게 부상하는 애플리케이션 세트는 가능한 많은 코어를 사용하게 될 것이다. 앨더레이크와 같은 하이브리드 프로세서는 이 두 문제에 대한 해답을 제공한다.
또한 소프트웨어 개발자들이 기존 코드를 재활용하지 않고, 소프트웨어에서 스케줄링 작업을 처리하는데 드는 오버헤드를 제거하기를 희망했으며 하드웨어 솔루션만이 이러한 모든 요구사항을 충족할 수 있다는 것을 빠르게 깨달았다.
이것이 바로 인텔 스레드 디렉터가 탄생한 배경이다.
■ OS의 보다 지능적인 의사결정 지원
칩이 명령 혼합, 각 코어의 현재 상태 및 관련 마이크로아키텍처 원격 측정을 세밀한 수준에서 모니터링해 OS를 위한 보다 스마트한 지원을 할 수 있다.
OS가 이전에 갖지 못했던 정보와 스케줄 결정 당시 가시성을 활용할 수 있도록 지원한다.
OS는 전통적으로 포그라운드(foreground) 스레드 수가 퍼포먼스 코어 수보다 많을 경우 사용할 수 있는 제한된 정보에 기초하여 결정을 내렸을 것이다.
스레드 디렉터는 하드웨어 원격 측정과 함께 새로운 디멘션을 추가해 퍼포먼스 코어로부터 가장 많은 이점을 얻을 수 있는 스레드가 먼저 할당된다.
■ 인텔, 하이브리드 설계로 성능·전력 균형 유지
시중에 나와있는 하이브리드 차량은 하이브리드 기술을 사용해 연료 효율을 최대로 끌어올려 주행한다.
하이브리드 컴퓨팅의 전통적인 개념은 충전 없이 배터리만으로 가장 오랫동안 컴퓨터를 사용하는 것을 목표로 한다.
포뮬러원 차량은 성능을 극대화하기 위해 하이브리드 기술을 사용한다.
해당 차량의 터보차지 엔진은 한정된 연료를 바탕으로 경기를 완주할 수 있는 충분한 연비와 최고의 속도를 제공한다.
아울러 하이브리드 엔진이 보유한 전력을 바탕으로 기존 엔진으로는 불가능한 가속력을 제공해 코너에서도 쉽게 빠져나올 수 있도록 지원한다.
포뮬러원 자동차는 효율성을 높이기 위해 성능을 줄이지 않는다. 인텔은 하이브리드 설계를 통해 성능과 전력의 균형을 유지하고 있다.