병렬 컴퓨터의 분류체계 및 기억장치 접근 모델
병렬 컴퓨터는 여러 프로세서가 동시에 작업을 수행할 수 있는 구조로, 다양한 기준에 따라 분류됩니다.
✅ 1. Flynn의 분류 (명령어/데이터 스트림 기준)
분류 |
설명 |
예시 |
SISD |
단일 명령어, 단일 데이터 |
전통적 단일 CPU |
SIMD |
단일 명령어, 다중 데이터 |
GPU, 벡터 프로세서 |
MISD |
다중 명령어, 단일 데이터 |
실용 예는 드묾 |
MIMD |
다중 명령어, 다중 데이터 |
다중코어 CPU, 클러스터 |
✅ 2. 메모리 공유 방식에 따른 분류
분류 |
설명 |
특징 |
공유 메모리 |
모든 프로세서가 하나의 메모리 공간 공유 |
빠른 공유, 경합 문제 |
분산 메모리 |
각 프로세서가 독립된 메모리 소유 |
메시지 기반 통신, 확장성 우수 |
혼합형 (Hybrid) |
공유 + 분산 메모리 결합 |
대형 병렬 시스템 사용 |
✅ 3. 프로세서 연결 구조에 따른 분류 (Topology)
구조 |
설명 |
버스형 |
모든 프로세서가 공통 버스 연결 |
링형 |
원형으로 연결된 구조 |
메시형 |
2D 또는 3D 격자로 연결 |
하이퍼큐브 |
차원에 따라 노드가 지수적으로 증가하는 구조 |
✅ 4. 운영 체제에 따른 분류
분류 |
설명 |
SMP (대칭형) |
하나의 OS가 모든 프로세서 관리 |
ASMP (비대칭형) |
하나의 프로세서만 OS 실행 |
분산형 시스템 |
각 노드에 독립된 OS 운영 |
✅ 5. 기억장치 접근 모델에 따른 분류
📌 UMA (Uniform Memory Access)
- 모든 프로세서가 동일한 시간에 메모리 접근
- 공유 메모리 구조
항목 |
설명 |
구조 |
공유 메모리 |
접근 시간 |
균일 |
특징 |
병목 가능, 구조 단순 |
예시 |
SMP 시스템 |
📌 NUMA (Non-Uniform Memory Access)
- 프로세서마다 로컬 메모리 보유
- 로컬은 빠르고, 원격은 느림
- 분산 구조 기반 공유 메모리처럼 보임
항목 |
설명 |
구조 |
분산+공유 메모리 |
접근 시간 |
비균일 |
특징 |
locality 중요, 확장성 좋음 |
예시 |
고성능 서버, 멀티코어 시스템 |
📌 COMA (Cache Only Memory Architecture)
- 모든 메모리를 캐시처럼 사용
- 데이터는 접근이 많은 위치로 자동 이동
항목 |
설명 |
구조 |
캐시 전용 |
접근 시간 |
동적 |
특징 |
높은 성능, 복잡한 구현 |
예시 |
고급 연구 시스템 |
✅ 기억장치 접근 모델 요약 비교
분류 |
구조 |
접근 시간 |
특징 |
대표 예시 |
UMA |
공유 메모리 |
균일 |
단순, 병목 발생 |
SMP 시스템 |
NUMA |
분산+공유 |
비균일 |
확장성 우수 |
대형 서버 |
COMA |
캐시 전용 |
동적 |
고성능 최적화 |
연구 시스템 |
병렬 컴퓨터의 아키텍처와 메모리 접근 모델은 성능과 확장성에 직접적인 영향을 주므로, 시스템 설계와 병렬 프로그래밍에서 핵심적인 고려 요소입니다.