티스토리 뷰

It

다중프로세서시스템 구조

IT eoeo25 2023. 1. 17. 18:28

다중프로세서시스템 구조

MIMD 조직으로서, 여러 개의 프로세서들이 비동기적으로 프로그램을 실행하는 시스템

기억장치 모듈을 사용하는 (소유하는) 방식에 따른 분류

공유-기억장치 시스템(shared-memory system)

분산-기억장치 시스템(distributed-memory system)

공유-기억장치 시스템 구조

밀결합 구조로서, 주기억장치가 어느 한 프로세서에 속해 있지 않고 모든 프로세서들에 의해 공유

상호연결 구조

버스(Bus)

공유-버스(shared-bus)

다중-버스(multiple-bus)

크로스바 스위치(Crossbar Switch)

다단계 상호연결망(Multistage Interconnection Network: MIN)

공유-기억장치 시스템 구조의 장단점

장점

프로세서들이 공통으로 사용하는 데이터들이 공유 기억장치에 저장되므로 별도의 프로세서간 데이터 교환 메커니즘이 필요하지 않음

프로그램 실행시간 동안에 각 프로세서들이 처리할 작업들을 동적으로 균등하게 할당할 수 있으므로 프로세서 이용률을 극대화할 수 있어서 시스템 효율을 높일 수 있음

단점

프로세서들과 기억장치들 간의 통로(버스 또는 상호연결망)상에 통신량이 많아지기 때문에 경합으로 인한 지연 시간이 길어질 수 있음

두 개 이상의 프로세서들이 공유자원(기억장치 모듈 또는 입출력장치)을 동시에 사용하려는 경우에 한 개 이외의 프로세서들은 대기해야 함 프로세서 수가 증가해도 선형적 성능 향상 불가능 (고속 상호연결망과 캐쉬 기억장치의 사용으로 보완)

공유-버스 구조

하드웨어가 매우 간단

버스 경합으로 인한 지연 시간 증가

버스의 전송 속도를 높이거나 캐쉬를 사용하여 성능 저하를 보완

다중-버스 구조

버스 경합을 줄이기 위하여 버스의 수를 증가

계층버스 구조(hierarchical bus structure) : 용도가 다른 여러 계층의 버스들을 사용

크로스바 스위치(crossbar switch)

버스 경합을 줄이기 위하여 버스의 수를 증가

계층버스 구조(hierarchical bus structure) : 용도가 다른 여러 계층의 버스들을 사용

다단계 상호연결망

크로스바 스위치의 기본 개념을 이용하면서도 하드웨어 복잡성을 감소시킨 상호연결망

[예] 오메가 네트워크(Omega network)

오메가 네트워크

입력단과 출력단이 각각 N 개인 경우

필요한 단계(stage)의 수 s = log2N

각 단계의 스위칭 소자(switching element)들의 수 m = N/2

스위칭 소자의 접속 방식(connection mode)

직진(straight) : 같은 위치의 입출력 단자들이 서로 접속

교차(swap) : 서로 다른 위치의 입출력 단자들이 접속

하위 방송(lower broadcast) : 하단의 입력단자가 모든 출력단자들로 접속

상위 방송(upper broadcast) : 상단의 입력단자가 모든 출력단자들로 접속

상호 연결 방식 (일대일 연결)

근원지 노드(source node)의 주소를 SRC, 목적지 노드(destination node)의 주소를 DST라고 할 때

SRC = sn-1, …, s1, s0

DST = dn-1, …, d1, d0

만약 di ≠ si 이면, i번째 단계의 스위치는 교차 접속

만약 di = si 이면, i번째 단계의 스위치는 직진 접속

일대일 연결에서 경로설정 예

SRC = 1 (001)과 DST = 7 (111) 사이의 경로 설정

(s2 = 0)  (d2 = 1) = 1 이므로, 스위치 B  교차 접속

(s1 = 0)  (d1 = 1) = 1 이므로, 스위치 H  교차 접속

(s0 = 1)  (d0 = 1) = 0 이므로, 스위치 L  직진 접속

여러 경로들의 동시 설정 예

근원지 노드와 목적지 노드 사이에 설정되는 경로들을 순열로 표현

p1 = (0,7,6,4,2) (1,3) (5)

노드 0  노드 7, 노드 7  노드 6, 노드 6  노드 4, 노드 4  노드 2,

노드 2  노드 0, 노드 1  노드 3, 노드 3  노드 1, 노드 5  노드 5

방송 접속 (broadcast connection)

하나의 근원지 노드로부터 여러 개 또는 모든 노드들로 데이터를 전송하기 위하여 사용

방송 접속을 포함한 제어 신호와 스위치의 구성

방송 전송의 예