Skip to content

1부. 두 개의 뇌: CPU와 GPU의 설계 철학

지금 우리가 AI 인프라라고 부르는 환경 속에는, 서로 다른 목적을 위해 진화해 온 두 종류의 뇌가 공존한다. 하나는 앞선 작업의 결과를 보고 다음 작업을 재빠르게 판단해야 하는 지연 없는 제어에 특화되어 있다. 다른 하나는 예측 가능한 수만 개의 단순 반복 작업을 한 번에 쏟아내는 수많은 처리량에 맞춰져 있다. CPU와 GPU의 차이는 각기 다른 형태의 ‘계산의 모양’을 감당하기 위해 서로 다른 설계 철학을 선택한 결과물이다.

CPU vs GPU Architecture "최소한의 지연 시간"과 "최대의 처리량"이 낳은 극단적인 물리적 형태 차이 CPU Core 소수 정예 / Latency 최소화 구조 Control Unit Branch Predictor / Decoder 거대한 지휘관 L1/L2 Cache Registers CPU ALUs 소수의 고성능 모터 FPU 부동소수점 전용 GPU Streaming Multiprocessor (SM) 물량 융단폭격 / Throughput 극대화 구조 Warp Schedulers (매우 얇은 지휘관) 무수히 많은 계산기 (ALUs) Shared Memory / L1 Cache (로비 공용 게시판)

CPU는 하나의 작업을 얼마나 지체 없이 끝마칠 것인가(지연시간, Latency)에 많은 자원을 집중한 장치다. 이를 위해 CPU는 다음 작업을 예측해 미리 데이터를 가져다 놓는 ‘캐시 메모리’와, 명령의 순서를 조율하는 ‘컨트롤 유닛’에 넓은 칩 면적을 할애한다. 계산 도중 예상치 못한 갈림길(분기)이 나오거나 상황이 급변하더라도, 이 통제 장치들은 시스템이 멈칫하는 ‘대기 시간(지연시간)‘을 최소화한다. 불규칙하고 복잡한 명령의 흐름을 지연 없이 처리하는 것, 그것이 CPU가 설계상 가지는 강점이다.

GPU의 철학은 조금 다른 방향을 향한다. 이들은 단위 시간 동안 얼마나 거대한 양의 연산을 쏟아낼 것인지(처리량, Throughput)에 집중한다. 이를 위해 GPU는 제어 장치와 캐시 메모리가 차지하던 공간을 걷어내고, 그 자리를 수천, 수만 개의 계산기로 채워 넣었다. GPU는 복잡한 갈림길을 고민하는 대신, 예측 가능한 단순 반복 작업을 쉼없이 밀어붙인다. 작업 하나하나의 지연시간을 잠시 옆에 두고, 무수히 많은 계산기를 동원해 데이터를 쏟아내는 물량을 확보하는 것. 그것이 GPU가 선택한 방식이다.

오늘날의 AI 인프라에서도 이러한 철학 차이는 선명하게 드러난다. 수천억 개의 파라미터를 가진 거대 모델을 학습시키는 과정은 규칙적인 대규모 행렬 연산이 지배적이다. 이 규칙적인 흐름에서는 GPU가 편안하게 힘을 발휘한다. 반면, CPU는 복잡한 데이터의 흐름을 조율하고 작업의 순서를 결정하며, 예외를 감당해야 하는 구간에서 존재감을 드러낸다.

GPU의 병렬성은 계산이 규칙적으로 나뉘고, 각 작업이 서로 독립적으로 흩어질 수 있을 때 가장 크게 힘을 발휘한다. 다만 같은 자원에 요청이 몰리기 시작하거나 데이터가 일정한 패턴 바깥에 놓이면, 이 힘은 빠르게 줄어들고 메모리 병목이 또렷하게 드러난다. 다음 장에서는 GPU의 병렬성이 어떻게 좁은 길목에서 ‘줄서기’로 변하는지, 그 첫 번째 병목의 장면을 살펴본다.