Download presentation
Presentation is loading. Please wait.
Published byKathlyn Riley Modified 6년 전
1
14장. 병렬 프로세서 다루는 내용 병렬 프로세서로의 개념 병렬 처리와 병렬 컴퓨터 분류 배열 프로세서와 다중 프로세서의 개념
다중프로세서 시스템
2
컴퓨터 시스템에서 CPU를 여러 개 설치하여서 프로그램의 처리 효율 증대 듀얼 프로세서(dual processor)
Section 01 병렬 프로세서 개념 컴퓨터 시스템에서 CPU를 여러 개 설치하여서 프로그램의 처리 효율 증대 듀얼 프로세서(dual processor) CPU를 두 개를 장착함으로써 작동 클럭 / 캐쉬 등등이 서로 공유되지 않는 형태 듀얼 코어 프로세서(dual core processor) 캐쉬 / 작동클럭 등등이 전부 공유되는 하나의 반도체 구조
3
병렬 프로세서 개념 [그림 14-1] 듀얼 프로세서와 듀얼 코어 프로세서
4
Section 02 병렬처리와 병렬 컴퓨터의 분류
병렬프로세서시스템의 유형들 단일 명령어, 단일 데이터 흐름(Single instruction, single data stream - SISD) : 단일 명령어, 다중 데이터 흐름(Single instruction, multiple data stream - SIMD) 다중 명령어, 단일 데이터 흐름(Multiple instruction, single data stream - MISD) 다중 명령어, 다중 데이터 흐름(Multiple instruction, multiple data stream - MIMD)
5
프로세서 조직의 분류 [그림 14-2] 프로세서 조직의 분류
6
한번에 한 개씩의 명령어와 데이터를 순서대로 처리하는 단일프로세서시스템
SISD 조직 한번에 한 개씩의 명령어와 데이터를 순서대로 처리하는 단일프로세서시스템 명령어 파이프라이닝(pipelining), 슈퍼스칼라(superscalar)구조를 이용하여 처리 효율을 향상 가능 [그림 14-3] SISD의 동작
7
하나의 기계 명령어가 다수의 프로세싱 요소들의 동시 처리(concurrent processing) 동작을 제어
SIMD 조직 하나의 기계 명령어가 다수의 프로세싱 요소들의 동시 처리(concurrent processing) 동작을 제어 프로세싱 요소는 별도의 데이터 기억장치를 갖음 각 명령어는 서로 다른 프로세서에 의해 서로 다른 데이터에 대하여 실행 벡터 프로세서(vector processor) 배열 프로세서(array prpcessor)
8
SIMD의 동작 [그림 14-4] SIMD의 동작
9
MISD 다수의 프로세서들이 서로 다른 명령어들을 실행 처리하는 데이터 스트림은 단일 비현실적 실제적으로 구현된 경우 없음
10
MISD의 동작 [그림 14-5] MISD의 동작
11
다수의 프로세서들이 서로 다른 명령어들을 서로 다른 데이터에 대하여 동시에 병렬로 실행 병렬 프로세서에서 일반목적용으로 사용
MIMD 다수의 프로세서들이 서로 다른 명령어들을 서로 다른 데이터에 대하여 동시에 병렬로 실행 병렬 프로세서에서 일반목적용으로 사용 밀결합 시스템(tightly-coupled system) 모든 프로세서들이 공유 기억장치를 이용하여 통신 공유-기억장치 구조(shared-memory architecture)의 다중프로세서 시스템(multiprocessor system) 소결합 시스템(loosely-coupled system) 각 프로세서가 별도의 기억장치를 갖음 메시지 전송(message-passing) 방식으로 통신을 수행
12
MIMD의 동작 [그림 14-6] MIMD의 동작
13
밀결합/소결합 시스템 [그림 14-7] 밀결합 시스템 [그림 14-8] 소결합 시스템
14
Section 03 배열 프로세서와 다중 프로세서의 개념
단일 명령어 다중 데이터 흐름(Single instruction, multiple data stream) 다중 프로세서 다중 명령어 다중 데이터 흐름(Multiple instruction, multiple data stream)
15
프로세싱 요소(PE)들이 하나의 제어 유니트의 통제하에 동기적으로 동작하는 시스템
배열 프로세서 프로세싱 요소(PE)들이 하나의 제어 유니트의 통제하에 동기적으로 동작하는 시스템 각 프로세싱 요소 PE가 프로세서와 기억장치로 구성되며, 간단한 연산만 수행 분산 기억장치 형태의 배열 프로세서 구조 공유 기억장치 형태의 배열 프로세서 구조
16
분산 기억장치 형태 [그림 14-9] 분산 기억장치 형태의 배열 프로세서의 구조
17
공유 기억장치 형태 [그림 14-10] 공유 기억장치 형태의 배열 프로세서의 구조
18
산술논리 연산장치 ALU와 레지스터들로 구성
배열 프로세서의 프로세싱 요소 산술논리 연산장치 ALU와 레지스터들로 구성 [그림 14-11] 배열 프로세서의 프로세싱 요소 구조
19
다중 데이터 흐름(Multiple instruction, multiple data stream)의 MIMD 조직
Section 04 다중 프로세서 시스템 다중 명령어 다중 데이터 흐름(Multiple instruction, multiple data stream)의 MIMD 조직 여러 개의 프로세서들이 비동기적으로 프로그램을 실행하는 시스템 공유-기억장치 시스템(shared-memory system) 분산-기억장치 시스템(distributed-memory system)
20
밀 결합(tightly-coupled) 구조가 공유 기억장치 시스템 주 기억장치가 모든 프로세서에 공유 상호 연결구조
공유 기억장치 시스템 구조 밀 결합(tightly-coupled) 구조가 공유 기억장치 시스템 주 기억장치가 모든 프로세서에 공유 상호 연결구조 공유버스 구조(shared-bus) 다중버스 구조(multiple-bus) 크로스바 스위치를 이용한 상호 연결
21
공유버스 구조 시스템 버스에서 단일 버스와 동일한 개념 하드웨어가 매우 간단 버스 경합으로 인한 지연 시간이 증가
버스의 전송 속도를 높이거나, 캐시 사용하여 보완
22
공유버스 구조 [그림 14-12] 공유 버스 구조
23
다중버스 구조 연결되는 버스 마스터의 용도에 따라서 단계별 연결되는 계층버스 구조(hierarchical bus structure) 다중 버스는 버스 경합을 줄이기 위해 버스의 수를 증가
24
다중 버스 구조 [그림 14-13] 다중 버스 구조
25
프로세서들과 기억장치들 사이의 완전 연결성을 제공 비용이 많이 들고 하드웨어가 복잡
크로스바 스위치를 이용한 상호연결 프로세서들과 기억장치들 사이의 완전 연결성을 제공 비용이 많이 들고 하드웨어가 복잡 [그림 14-14] 크로스바 스위치 구조
26
공유 기억장치 시스템 특징 장점 단점 데이터들이 공유 저장되므로 프로세서간 데이터 교환 메카니즘이 필요치 않음
프로세서 이용률을 극대화하여서 시스템 효율을 높일 수 있음 단점 상호연결망상에 통신량 증가, 경합으로 인한 지연 시간 존재 공유하는 기억장치 모듈 또는 입출력장치를 동시에 사용하려는 경우에 한 개 이외의 프로세서들은 대기 동시 액세스로 발생하는 지연 프로세서의 수가 증가해도 선형적 성능 향상 불가능 고속 상호 연결망과 캐시 기억장치의 사용으로 보완
27
분산 기억장치 시스템 구조 소 결합 구조(loosely-coupled structure) 각 프로세서가 자신의 지역 기억장치(local memory)를 소유 다른 프로세서들과의 통신은 메세지 전송(message-passing)을 이용 공유자원에 대한 경합이 감소 통신 프로토콜에 의한 지연 시간이 증가
28
공유-기억장치 시스템(shared-memory system)
다중프로세서 시스템 공유-기억장치 시스템(shared-memory system) 대칭적 다중프로세서(Symmetric Multiprocessor) 비균일 기억장치 액세스(Nonuniform Memory Access : NUMA) 분산-기억장치 시스템(distributed-memory system) 클러스터(Clusters)
29
대칭적 다중프로세서 정의 : 거의 같은 성능을 가진 두 개 이상의 프로세서들로 구성 프로세서들은 기억장치와 I/O를 공유
프로세서들은 버스 혹은 다른 상호연결망에 의해 서로 연결 각 프로세서가 기억장치를 액세스하는 데 걸리는 시간이 동일 모든 프로세서들은 I/O 액세스를 위한 채널을 공유 모든 프로세서들은 동일한 기능을 수행(대칭적의 의미) 시스템은 하나의 통합 운영체제에 의해 제어됨 프로세서들 간의 상호작용(interaction) 지원 작업(job), 태스크(task), 파일(file) 및 데이터 요소 수준에서 프로그램들 간의 상호작용 지원
30
각 프로세서의 작업들이 병렬로 처리될 수 있다면 성능(Performance) 향상
대칭적 다중 프로세서 장점 각 프로세서의 작업들이 병렬로 처리될 수 있다면 성능(Performance) 향상 어느 한 프로세서가 고장 나더라도 시스템이 중단되지 않음 성능은 더 낮아짐 프로세서들을 추가함으로써 성능을 높임 점진적이 확장가능(Incremental growth) 제조 회사들은 프로세서 수에 따라 가격과 성능이 다양한 제품들을 제공 가능
31
SMP 시스템의 블록도 [그림 14-15] 밀결합 다중 프로세서 시스템의 블록도
32
동시 처리 가능한 프로세스(simultaneous concurrent process)들의 스케쥴링 기능
다중프로세서 운영체제 동시 처리 가능한 프로세스(simultaneous concurrent process)들의 스케쥴링 기능 동기화(synchronization) 상호배타 및 사건 순서(event ordering) 메커니즘을 이용하여 주소공간과 I/O 자원을 공유하는 프로세스들 간의 동기화 제공 기억장치 관리 다수 프로세서들에 의한 페이지 및 세그먼트 공유를 위한 일관성 유지 지원 신뢰성 및 결함허용(Reliability & fault tolerance) 지원 성능이 크게 저하되지 않도록 해야 한다
33
균일 기억장치 액세스(Uniform Memory Access) 시스템
비균일 기억장치 액세스 균일 기억장치 액세스(Uniform Memory Access) 시스템 프로세서가 기억장치의 위치와 관계없이 액세스 시간이 동일 비균일 기억장치 액세스(Nonuniform Memory Access : NUMA) 시스템 프로세서가 기억장치의 어느 영역을 액세스하는가에 따라 액세스 시간이 다름 NUMA 시스템의 출현 동기 SMP의 버스 병목 현상으로 인하여 프로세서 의 수가 제한되는 것을 극복하기 위해
34
NUMA의 장단점 장점 소프트웨어를 거의 변경하지 않아도 SMP보다 더 높은 수준의 병렬성을 이용하여 효과적인 성능을 제공 원격 노드에 대한 기억장치 액세스로 인한 성능저하를 피할 수 있다. 캐쉬의 사용은 원격 액세스를 포함하여 기억장치 액세스 최소화 가상 기억장치의 사용 단점 운영체제와 응용을 SMP로부터 MUMA로 이동시키기 위해서는 소프트웨어를 변경 시스템의 구성방법에 따라 가용성문제가 발생
35
고성능(high performance) 및 고가용성(high availability)
클러스터(Clusters) 최근 가장 관심이 집중되는 설계 개념 SMP의 대안(alternative) 고성능(high performance) 및 고가용성(high availability) 대형 서버(server) 구성에 특히 적합 원리 : 여러 대의 전체 컴퓨터들(whole computers)이 상호 연결되어 협력하며 하나의 컴퓨터로서 동작하는 통합 컴퓨팅 자원 전체 컴퓨터 : 클러스터로부터 분리되어도 독립적으로 동작할 수 있는 컴퓨터시스템 각 컴퓨터를 노드(node)라고도 부름
36
절대적 선형 확장성(Absolute scalability) 점진적 선형 확장성(Incremental scalability)
클러스터 구성의 장점 절대적 선형 확장성(Absolute scalability) 제일 큰 독립적 시스템보다 훨씬 더 큰 클러스터의 구성도 가능 점진적 선형 확장성(Incremental scalability) 새로운 시스템을 점차적으로 추가하면 성능의 향상 가능 높은 가용성(High availability) 각 노드가 독립적인 컴퓨터 독립 컴퓨터의 결함에도 서비스가 계속 가능하므로 높은 가용성 월등한 가격/성능(Superior price/performance) 클러스터는 독립적 컴퓨터의 집합 고가의 대형시스템보다 더 높은 성능을 가지지만 더 낮은 비용 구성
37
클러스터 구성 방법에 따른 분류 디스크가 공유되지 않는 구조 디스크가 공유되는 구조
전체 컴퓨터간의 연결은 LAN(Local Area Network) 또는 전용 연결 망으로 연결 전체 컴퓨터들간의 통신은 고속의 메시지의 전달로 이루어짐 디스크가 공유되는 구조 전체 컴퓨터인 서버들이 디스크를 공유 공유 디스크 시스템은 RAID(Redundant Array of Independent Disks)
38
디스크를 공유하지 않는 클러스터의 구성 [그림 14-19] 디스크를 공유하지 않는 클러스터의 구성
39
디스크를 공유한 클러스터의 구성 [그림 14-20] 디스크를 공유한 클러스터의 구성
40
결함 관리(failure management) 기능
클러스터 운영체제 결함 관리(failure management) 기능 결함-허용 클러스터링(fault-tolerant clustering)을 형성해서 모든 자원들이 항상 사용 가능하도록 보장 고장난 시스템으로부터 프로그램과 데이터 자원들을 클러스터 내 다른 시스템으로 전환하는 기능을 제공 부하 균등화(load balancing) 기능 사용 가능한 컴퓨터들 간에 부하를 균등하게 분할해 주는 역할
41
클러스터와 SMP의 비교 SMP 클러스터 클러스터보다 관리 및 구성이 더 용이하다 물리적 공간이 더 적게 필요하다
전력 소모도 더 적다 더 안정되어 있다 클러스터 점진적 및 절대적 확장성이 훨씬 더 우수하다 가용성이 더 높다
Similar presentations