2018년 12월 10일
병렬처리를 위한 멀티 프로세서 시스템
I. 병렬 처리를 위한, 멀티 프로세서 시스템의 개요
가. 멀티 프로세서 시스템의 개념
다수 프로세서를 상호 연결하여, 성능을 향상시킨 컴퓨터로 다수의 독립적인 프로세스를 처리하는 기능
나. 멀티 프로세서의 목적
목적 | 설명 |
---|---|
수행 시간 최소화 | – 컴퓨터가 수행하는 연산 작업 결과 도출까지 소요시간 최소화 |
문제 해결 범위 증가 | – 동일 또는 독립 작업을 동시 수행하여 해결할 수 있는 문제의 범위 증가 |
– 수행시간 최소화 및 해결 범위 증가를 위한 멀티 프로세서 유형에는 SIMD ~ MIMD 4가지 유형 존재
II. 멀티 프로세서의 분류
가. 멀티 프로세서의 분류 (by Flynn)
- 명령어(단일/복수) 처리 및 데이터(단일/복수) 연산에 따라 분류
나. 멀티 프로세서의 4가지 유형
구분 | 유형 | 구성도 | 설명 |
---|---|---|---|
단일 명령 | SISD (Single Instruction Single Data) | – 한 번에 한 개씩의 명령어와 데이터 처리 – 성능 향상을 위한 접근 처리 (파이프라인, 슈퍼스칼라) | |
SIMD (Single Instruction Multi Data) | – 하나의 명령어를 다수의 데이터들에 대해 동시 실행 – 배열 프로세서 | ||
복수 명령 | MISD (Multi Instruction Single Data) | – 각 프로세서는 서로 다른 명령어 처리, 처리되는 데이터는 하나의 스트림 – 실제 구현사례 없음 | |
MIMD (Multi Instruction Multi Data) | – 다수 프로세서 각기 다른 데이터 처리 – 대부분의 병렬처리시스템에 해당 – 공유메모리와 분산메모리 아키텍처분류 |
- 별도의 제약이 없으면 병렬성이 좋은 아키텍처는 MIMD
III. MIMD 구현 방법
구분 | 구현방법 | 구성도 | 설명 |
---|---|---|---|
시스템 구성 방식 | SMP (Symmetric Multi- processing) | – 강한 결합 방식의 공유 메모리 구조 – 프로세서가 메모리 입출력,데이터 버스 공유 – 한 OS 모든 프로세서 관리 | |
MPP (Massively Parallel Processing) | – 약한 결합 방식 분산 메모리 구조 – 메시지 패싱 방식 – 프로그램을 나누어 각 부분 동시 수행 | ||
메모리 접근 방식 | UMA (Uniform Memory Access) | – 모든 프로세서가 상호 연결된 메모리 접근 – 어떤 프로세서든 메모리 접근 속도 일정 – 프로세서 증가 병목 – 비교적 쉬운 설계 | |
NUMA (Non- uniform Memory Access) | – UMA 모델들이 상호 접속, 로컬/글로벌 공유 – 분산 메모리공유 구조 – SMP 시스템에서 사용 – 멀티 프로세싱 시스템의 지역적 메모리 공유 |
- 성능 극대화를 위해 MIMD 구성이 가장 효율적이며, MIMD 구성 방식은 메모리 액세스 방식에 따라 공유메모리 방식과 분산메모리 방식으로 구분
IV. MIMD 시스템의 메모리 액세스 모델
가. 공유 메모리 모델
항목 | 내용 | |
---|---|---|
개념 | – 프로세서들이 모두 S/W, H/W 전체 연결 가능한 메모리에 연결되어 있는 구조 | |
구성 특징 | – 버스기반 (프로세서가 메모리버스 연결, 병목가능) – 계층 구조로 확장이 가능한 구성 | |
장점 | – 프로그래머 관점에서 분산 메모리보다 이해가 용이 – 운영체제에 의해 일관된 메모리 관리 가능 | |
단점 | – 32개 이상의 확장이 어려움 – 분산 메모리 모델 보다 구조적 유연성이 부족 | |
관련 모델 | – UMA (Uniform Memory Access), COMA(Cached Only Memory Access), NUMA(Non-Uniform Memory Access) |
나. 분산 메모리 모델
항목 | 내용 | |
---|---|---|
개념도 | – 각 프로세서는 자신의 메모리 영역이 존재 – 데이터 공유 위해서는 다른 프로세서로 메시지를 전달 | |
구성 특징 | – 하이퍼 큐브 또는 메시 네트워크 방식 사용 | |
장점 | – 공유 메모리가 없으므로 충돌 문제나 병목 현상 없음 | |
단점 | – 데이터 공유 시 메시지 전달 방식으로 인해 지연 발생 | |
관련 모델 | – MPP (Massive Parallel Processing), COW(Clusters of Workstations) |
One Comment
항상 많은 도움 받아갑니다.^^