빠르게 진화하는 인공지능(AI) 가속기 시대에 범용 CPU는 많은 사랑을 받지 못한다. 인공지능(AI) 시대로 들어선 오늘날 과거 CPU의 자리를 그래픽처리장치(GPU) 중심의 AI가속기가 대체하고 있다.
그러나 핀란드에 본사를 둔 플로우 컴퓨팅의 티모 발토넨 공동창업자이자 최고경영자(CEO)는 CPU를 정당한 ‘중앙’ 역할로 되돌릴 수 있다고 말한다.
그는 자사 개발팀이 새로운 패러다임인 병렬처리장치(PPU)로 “기존 제품의 100배 속도를 갖는 빠른 범용 CPU(중앙처리장치)를 만들 수 있다”고 말했다.
PPU, 컴퓨팅 작업 병렬화 가능한 곳에서 속도 향상
발토넨 CEO에 따르면 예를 들어 노트북에 16개의 동일한 CPU 코어를 넣어 계산 속도를 높이려고 하는 대신 제조업체는 그와 동일한 공간에 4개의 표준 CPU 코어와 플로우 컴퓨팅의 이른바 병렬처리장치(Parrel Processing Unit·PPU) 코어 64개를 배치해 100배의 계산 속도를 달성할 수 있다.
발토넨과 그의 동료들은 지난 8월 IEEE 핫칩스(Hot Chips) 컨퍼런스에서 자신들의 사례를 발표했다.
PPU는 컴퓨팅 작업을 병렬화할 수 있는 곳에서 속도를 향상시켜 준다. 하지만 기존 CPU는 이러한 병렬성을 활용하기에 적합하지 않아 GPU와 같은 것으로 오프로드하는 비용이 너무 많이 든다.
이 회사와 무관한 독일 하겐에 위치한 페른대학교(Fern Universität)의 외르크 켈러 병렬 처리 및 초고밀도집적회로(VLSI) 교수는 “그렇다. 병렬화는 작업량이 많을 때만 가치가 있다. 왜냐하면 그렇지 않을 경우 얻을 수 있었던 이점이 오버헤드로 인해 많이 줄어들기 때문이다. 그리고 이것은 이제 더 작은 워크로드로 바뀌었고, 이는 코드에서 이러한 병렬화를 적용할 수 있는 더 많은 공간이 있다는 것을 의미한다”고 말했다.
플로우 컴퓨팅의 최적화 방법
컴퓨팅 작업은 대략 두 가지 범주로 나눌 수 있다.
각 단계가 이전 단계의 결과에 따라 달라지는 순차 작업, 그리고 이전 단계와 독립적으로 수행할 수 있는 병렬 작업이 그것이다.
마티 포셸 플로우 컴퓨팅 공동창업자이자 최고기술책임자(CTO)는 단일 아키텍처가 두 가지 유형의 작업 모두에 최적화될 수 없다고 말한다. 따라서 각 작업 유형에 최적화된 별도의 장치를 갖는 것이 좋다고 말한다.
포셸은 “코드의 일부에 순차 작업 부하가 있으면 CPU 부분이 이를 실행한다. 병렬 작업 부하 부분의 경우 CPU는 해당 부분을 PPU에 할당한다. 그러면 우리는 두 단어의 장점을 모두 갖게 된다”고 말했다.
그에 따르면 병렬 처리에 최적화된 컴퓨터 아키텍처를 위해서는 4가지 주요 요구 사항이 있다.
이는 ▲다음 데이터 조각이 메모리에서 로드되는 동안 유휴 상태로 있지 않는 방법을 찾는 ‘허용범위내 메모리 지연시간’ ▲병렬로 실행되는 프로세서 명령어 체인인 이른바 ‘스레드’ 간 통신을 위한 충분한 대역폭 ▲코드의 병렬 부분을 올바른 순서로 실행하는 효율적인 동기화 ▲수학적 연산과 논리적 연산을 실제로 수행하는 여러 기능 장치를 동시에 사용할 수 있는 기능인 ‘낮은 수준의 병렬 처리’다.
포셸 CTO는 플로우 컴퓨팅의 새로운 접근 방식에 대해 “우리는 병렬 계산을 위해 재설계했다. 즉 디자인과 아키텍처를 처음부터 다시 설계했다”고 밝혔다.
PPU의 빠른 연산속도의 비밀
PPU는 메모리 액세스 대기 시간을 숨기기 위해 멀티스레딩을 구현한다.
즉, 각 스레드가 메모리를 호출하면 첫 번째 스레드가 응답을 기다리는 동안 다른 스레드가 실행을 시작할 수 있다.
대역폭을 최적화하기 위해 PPU에는 유연한 통신 네트워크가 장착돼 있어 모든 기능 장치가 필요에 따라 다른 기능 장치와 통신할 수 있으며 낮은 수준의 병렬 처리도 가능하다. 동기화 지연을 처리하기 위해 기존 동기화 프로토콜보다 최대 1만배 더 효율적이라는 웨이브 동기화(wave synchronization)라는 고유의 알고리즘을 활용한다.
PPU의 성능을 입증하기 위해 포셸 CTO와 그의 동료들은 그들의 설계에 대한 개념 증명 FPGA(Field Programmable Gate Array)를 만들었다.
플로우 컴퓨팅 개발 팀은 이 FPGA가 시뮬레이터와 동일하게 작동해 PPU가 예상대로 작동하고 있음을 입증했다고 말했다.
이어 이들은 PPU 설계와 기존 CPU를 가지고 여러 가지 비교 연구를 수행했다.
포셸은 “비교 대상이 된 상용 프로세서 중 하나와 우리 PPU가 동일한 속도로 실행되고 마이크로 아키텍처를 사용하는 플로우 컴퓨팅 PPU의 실리콘칩이 구현됐다고 가정할 때 우리의 예비 성능 비교에서는 (기존 CPU에 비해) 최대 100배의 (연산력)개선이 이뤄졌다”고 말했다.
이제는 PPU용 컴파일러 개발 단계
이 팀은 이제 PPU용 컴파일러를 개발하고 있으며 CPU 생산 공간에서 파트너를 찾고 있다.
플로우 컴퓨팅은 대형 CPU 제조업체가 자신들의 제품에 관심을 가져 공동 설계에 착수할 수 있기를 바라고 있다. 이들의 PPU는 모든 명령어 세트 아키텍처로 구현될 수 있으므로 모든 CPU를 업그레이드할 수 있는 잠재력을 갖고 있다.
켈러 교수는 “이제 이 기술이 출시될 때다. 이제 우리는 모바일 기기에서 에너지 효율적인 컴퓨팅이 필요하며, 동시에 높은 컴퓨팅 성능이 필요하기 때문이다”라고 말했다.