이기종 시스템(Heterogeneous System)이라는 이 생소한 단어는 쉽게 말해 'CPU와 GPU의 벽을 허물고 소프트웨어가 두 부품의 컴퓨팅 자원을 자유롭게 활용한다'는 의미이다. 기존의 시스템은 동일한 성격의 코어를 모은 프로세서(멀티코어 CPU나 GPU)를 가리켜 호모 지니어스(Homogeneous)라고 표현한다. 즉, 이와는 반대되는 개념으로 헤테로지니어스인 CPU와 GPU를 하나의 연산체로 간주하는 추상 계층을 생성해 GPU를 연산 보조용으로 사용하고, CPU와 GPU 사이에 데이터가 오갈 필요를 없앤다는 것이다. 즉 HSA란 CPU와 GPU를 하나의 칩으로 통합시키고 둘 사이에 긴밀한 연계를 추구하는 것이다.
이러한 표현에 대해, CPU와 GPU가 데이터를 주고 받지 않았다는 것인가 의문이 생길 수 있다. 정확히는 CPU와 GPU는 데이터를 처리하는 방식이 다르다. 쉽게 말해 서로 쓰는 언어가 다른 셈이다. 때문에 GPU는 연산에 필요한 데이터를 메모리에서 불러오는 것부터 저장하는 것까지 CPU의 도움을 받아야만 한다. 그러나 HSA를 통해 이러한 구조를 통합하여 하나의 연산체로 적용시킬 수 있는 순간, 컴퓨팅 능력이 향상되는 것이다.
좋은 비유가 있어 퍼왔다
컴퓨터 내부의 작업 처리 과정을 건설 현장과 비교하면, 건물을 짓기 위해 솜씨 좋은 목수(GPU)를 데려다 놓고는 작업에 필요한 재료나 공구를 요청할 때마다 커다란 자재 창고 앞에 목수를 대기시켜놓고 요청한 물품을 관리인(CPU)이 찾아 내어주는 방식인 셈이다. 당연히 일의 능률이 떨어질 수밖에 없다. 이렇게 할 수밖에 없는 이유는 관리인과 목수의 창고 정리 방식이 다르고, 필요한 물건을 찾는 접근법이 다르게 때문이다.
코드명 카베리로 불리는 AMD의 4세대 APU는 관리인과 목수의 서로 다른 자재 정리 방식을 하나로 통일시켜, GPU가 CPU의 도움 없이도 언제든 RAM에서 필요한 데이터를 가져오고 작업한 결과를 직접 저장할 수 있다. 프로그램이 GPU의 능력을 필요로 할 때도 굳이 CPU를 거쳐 명령을 전달할 필요 없이 바로 GPU에게 일을 던져 줄 수 있다.
'Archived(IT) > 배경지식_기술' 카테고리의 다른 글
데이터 레이크(Data Lake) (0) | 2020.04.23 |
---|---|
형상관리 툴 SVN(SubVersioN), Git과의 차이점 (0) | 2020.04.10 |
블록체인의 이해와 트렌드 (0) | 2020.01.28 |
클라우드 기초 (0) | 2020.01.15 |
MVC 패턴 1, 패턴 2 (0) | 2019.11.07 |