병렬처리를 위한 멀티 프로세서 시스템

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

콘텐츠 사용 시 출처 표기 부탁 드리고, 궁금한 점이나 의견은 댓글 남겨주세요^^