개요
Mutilprocessor System의 종류 중 하나인 SMP와 NUMA에 대해 서술한다.
먼저, 컴퓨터 시스템 구성요소의 용어 정의를 할 필요가 있다.
CPU : 명령을 실행하는 하드웨어
프로세서(processor) : 하나 이상의 CPU를 포함하는 물리적 칩
코어(core) : CPU의 기본 계산 단위
다중 코어 : 동일한 CPU에 여러 컴퓨팅 코어를 포함하는 것
다중 처리기(multiprocessor) : 프로세서가 여러 개 있는 것
SMP(Symmetric multiprocessing)
두 개 이상의 프로세서가 한 개의 공유된 메모리를 사용하는 다중 프로세서 컴퓨터 아키텍처이다. 각 프로세서에 개별 레지스터, 또는 캐시가 존재한다.
메인 메모리는 시스템 버스를 통해 공유한다. 한 번의 한 개의 프로세서만이 메모리에 접근할 수 있다.
장점 : 많은 프로세스를 동시에 실행할 수 있다.
단점 : CPU가 독립적이기 때문에 비효율적일 수 있다. 프로세서가 특정 자료구조를 공유한다면 비효율성을 비할 수 있다.
CPU를 너무 많이 추가하면 시스템 버스에서 병목 현상이 일어나 성능이 저하된다. 이를 해결하기 위해 각각의 CPU에 자체 메모리를 존재하게 하는 NUMA가 고려되었다.
NUMA(Non-uniform memory access)
NUMA는 모든 CPU가 공유 시스템으로 연결되어있으면서 각각의 CPU가 로컬 메모리를 가지는 컴퓨터 아키텍처이다.
장점 : 시스템 상호 연결에 대한 경합이 없다.
단점 : CPU가 원격 메모리에 액세스해야 할 때 지연 시간이 존재한다. 자체 로컬 메모리에는 빠르게 접근할 수 있으나 다른 CPU의 메모리에 접근할 때는 성능이 저하된다.
CPU 스케줄링 및 메모리 관리를 통해 단점을 최소화할 수는 있다.
'CS > 컴퓨터 구조' 카테고리의 다른 글
컴퓨터에서 음수 표현하기(1의 보수, 2의 보수) (0) | 2023.01.13 |
---|---|
[컴퓨터 구조] MCH와 ICH (0) | 2022.05.01 |
[컴퓨터 구조] 폰 노이만 아키텍처 vs 하버드 아키텍처 (0) | 2022.03.26 |
[컴퓨터 구조] SRAM vs DRAM (0) | 2022.03.21 |
[컴퓨터 구조] CISC vs RISC (0) | 2022.03.21 |