CS/컴퓨터 구조

[컴퓨터 구조] SMP와 NUMA

겜도리도리 2022. 7. 30. 04:12
반응형

개요

Mutilprocessor System의 종류 중 하나인 SMP와 NUMA에 대해 서술한다.

 

먼저, 컴퓨터 시스템 구성요소의 용어 정의를 할 필요가 있다. 

CPU : 명령을 실행하는 하드웨어

프로세서(processor) : 하나 이상의 CPU를 포함하는 물리적 칩

코어(core) : CPU의 기본 계산 단위

다중 코어 : 동일한 CPU에 여러 컴퓨팅 코어를 포함하는 것

다중 처리기(multiprocessor) : 프로세서가 여러 개 있는 것

 

SMP(Symmetric multiprocessing)

두 개의 프로세서가 있는 일반적인 SMP 구조

두 개 이상의 프로세서가 한 개의 공유된 메모리를 사용하는 다중 프로세서 컴퓨터 아키텍처이다. 각 프로세서에 개별 레지스터, 또는 캐시가 존재한다.

메인 메모리는 시스템 버스를 통해 공유한다. 한 번의 한 개의 프로세서만이 메모리에 접근할 수 있다.

 

장점 : 많은 프로세스를 동시에 실행할 수 있다.

단점 : CPU가 독립적이기 때문에 비효율적일 수 있다. 프로세서가 특정 자료구조를 공유한다면 비효율성을 비할 수 있다.

 

CPU를 너무 많이 추가하면 시스템 버스에서 병목 현상이 일어나 성능이 저하된다. 이를 해결하기 위해 각각의 CPU에 자체 메모리를 존재하게 하는 NUMA가 고려되었다.

 

NUMA(Non-uniform memory access)

일반적인 NUMA 구조

NUMA는 모든 CPU가 공유 시스템으로 연결되어있으면서 각각의 CPU가 로컬 메모리를 가지는  컴퓨터 아키텍처이다.

 

장점 : 시스템 상호 연결에 대한 경합이 없다.

단점 : CPU가 원격 메모리에 액세스해야 할 때 지연 시간이 존재한다. 자체 로컬 메모리에는 빠르게 접근할 수 있으나 다른 CPU의 메모리에 접근할 때는 성능이 저하된다.

 

CPU 스케줄링 및 메모리 관리를 통해 단점을 최소화할 수는 있다.

반응형