junyeokk
Blog
Parallel Computing·2025. 10. 16

왜 병렬 컴퓨팅이 필요한가

단일 코어의 한계

2003년 이전까지 컴퓨터는 싱글 코어 CPU를 사용했다. 폰 노이만 구조를 따르는 단일 프로세서로, 코어(core) 내부의 계산 유닛은 하나의 ALU(Arithmetic-Logic Unit)와 하나의 CU(Control Unit)로 구성된다.

폰 노이만 구조란?
프로그램과 데이터를 같은 메모리에 저장하고, 순차적으로 명령어를 가져와 실행하는 컴퓨터 구조다. 1945년 존 폰 노이만이 제안했으며, 현대 컴퓨터의 기본 구조가 되었다.

성능 향상의 벽

단일 코어 CPU의 성능을 높이는 방법은 크게 두 가지다.

클럭 속도 증가

  • 더 빠른 클럭으로 더 많은 명령어를 처리한다
  • 하지만 물리적 한계에 부딪힌다

물리적 한계의 실체

전자의 속도는 광속에 제한된다. 광속은 3 × 10⁸ m/sec이다.

3GHz CPU를 예로 들면, 1 클럭 당 전자가 이동할 수 있는 거리는 다음과 같다.

plain
(3 × 10⁸ m/s) / (3 × 10⁹ /s) = 0.1 m = 10 cm

10GHz CPU의 경우 1 클럭 당 전자 이동 거리는 3cm에 불과하다. CPU 클럭을 계속 올리는 것은 물리적으로 불가능하다. 트랜지스터를 어디에 배치할 것인가 하는 문제가 생긴다.

Gordon E. Moore (1929, Intel 공동창업자)는 1965년 "IC칩 1개에 들어가는 트랜지스터 숫자는 매 2년마다 2배가 된다"고 예측했다. 이것이 무어의 법칙이다. 하지만 단일 코어의 클럭 속도 증가는 2000년대 중반 이후 정체되었다.

병렬화라는 해법

2003년 이후: 멀티 코어 시대

클럭 속도를 높일 수 없다면, 코어를 여러 개 사용하면 된다. 2003년 이후 컴퓨터 아키텍처는 다음과 같이 진화했다.

멀티 코어 CPU

  • 2개에서 32개 이상의 코어를 탑재한다
  • Intel, AMD, ARM 등 모든 주요 CPU 제조사가 채택했다
  • 순차 처리에 최적화된 고성능 코어들이다

매니 코어 GPU

  • 1024개에서 8192개 이상의 코어를 탑재한다
  • NVIDIA, AMD 등이 제조한다
  • 병렬 처리에 최적화된 대규모 코어들이다

현재의 딜레마

하드웨어는 이미 병렬 기기지만, 소프트웨어는 아직 순차 처리에 머물러 있다. 스마트폰 CPU조차 멀티 코어를 탑재한 지금, 병렬 프로그래밍은 선택이 아닌 필수가 되었다.

병렬컴퓨팅 지식 없이는 현대의 컴퓨팅 자원을 제대로 활용할 수 없다. 이것이 우리가 병렬컴퓨팅을 배워야 하는 이유다.

참고 자료