48
제 6 제 . 제제제제제 제제 6.1 제제 6.2 제제 제제제제제 6.3 제제 제제제제제

제 6 장 . 상호연결망 구조

  • Upload
    bertha

  • View
    242

  • Download
    2

Embed Size (px)

DESCRIPTION

제 6 장 . 상호연결망 구조. 6.1 서론 6.2 정적 상호연결망 6.3 동적 상호연결망. 상호연결망 (Interconnection Network). 정적 상호연결망 (Static interconnection network) 시스템 요소들 간에 직접 연결된 경로를 가지며 , 연결 구조가 고정된 연결망 ring, tree, mesh, torus, 등 동적 상호연결망 (Dynamic interconnection network) - PowerPoint PPT Presentation

Citation preview

Page 1: 제 6 장 .  상호연결망 구조

제 6 장 . 상호연결망 구조

6.1 서론

6.2 정적 상호연결망

6.3 동적 상호연결망

Page 2: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-2

상호연결망 (Interconnection Network)

정적 상호연결망 (Static interconnection network)

시스템 요소들 간에 직접 연결된 경로를 가지며 , 연결 구조가

고정된 연결망

ring, tree, mesh, torus, 등

동적 상호연결망 (Dynamic interconnection network)

시스템 요소들 간의 연결 경로가 실행 시간 (run-time) 동안에

다양하게 변경될 수 있으며 , 프로그램 실행 중의 통신 패턴과

상황에 따라 필요한 경로를 설정하여 사용할 수 있는 연결망

Omega network, Delta network, 등

Page 3: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-3

네트워크 성능 파라미터들

대역폭 (Bandwidth) : 네트워크를 통하여 전송될 수 있는 최대 데이터 전송률 , [Mbytes/sec]

네트워크 지연 (Network latency) : 메시지 전송에 소요되는 시간

기능성 (Functionality) : 데이터 경로설정 , 동기화 , 인터럽트 및 메시지 송수신의 지원 능력

확장가능성 (Scalability) : 시스템에 새로운 H/W 자원들 (

프로세서 , 기억장치 , I/O 장치 등 ) 을 추가한 경우에 시스템 성능의 선형적 향상 가능성

H/W 복잡성 : 네트워크 구현에 필요한 하드웨어 모듈 수와 비용

Page 4: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-4

6.2 정적 상호연결망

노드 (node : processing element) 들 사이를 직접

연결해주는 고정된 경로들로 구성

경로 = 링크 (link) : 단방향 (unidirectional) 혹은 양방향 (bidirecti

onal) 통신 기능을 가짐

네트워크 지름 (Network diameter) : 네트워크 내 임의의 두

노드들 간에 설정되는 경로들 중에서 가장 많은 수의 링크들을

경유해야 하는 경우의 링크 수

선형 배열 구조 , 원형 구조 , 나무 구조 , 메쉬 네트워크 ,

큐브 네트워크 , Shuffle-exchange 네트워크 , Barrel shifte

r 네트워크

Page 5: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-5

6.2.1 선형 배열 (Linear array) 구조

N 개의 노드들이 N-1 개의 링크들에 의해 차례대로 연결되는 구조

네트워크 지름 = N-1

Page 6: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-6

6.2.2 원형 (Ring) 구조

선형 배열에서 0 번 노드와 N-1 번 노드를 연결한 변형

네트워크 지름

단방향 = N-1

양방향 = N/2

Page 7: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-7

코달 원형 (Chordal ring) 구조

원형 구조의 변형으로 각 노드에 연결되는 링크의 수를 d 개로 증가

Page 8: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-8

6.2.3 나무 (Tree) 구조

2 진 나무 (Binary tree) 구조

Level 의 수 = k 라면 , 전체 노드의 수 N = (2k-1)

네트워크 지름 = 2(k-1)

Page 9: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-9

Fat tree 구조

상위 레벨로 올라갈수록 노드 간의 링크 수를 증가시켜 병목 현상을 완화 (Thinking Machine 사의 CM-5 시스템에서 사용 )

Page 10: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-10

6.2.4 매쉬 (Mesh) 구조

각 노드를 주변의 4 개의 노드들과 2 차원 배열로

연결하는 구조

Illiac-IV, MPP, DAP, CM-2, Intel Paragon 등에서 사용

Page 11: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-11

Illiac-IV Mesh

Illiac-IV Mesh 의 상호연결 함수 (n = N1/2)

M+1(X) = (X+1) mod N

M-1(X) = (X-1) mod N

M+n(X) = (X+n) mod N

M-n(X) = (X-n) mod N

네트워크 지름 = N1/2 –1

Page 12: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-12

Illiac-IV Mesh

노드들 간에 여러 개의 경로들이 존재 (0 7)

Page 13: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-13

토러스 (Torus) 네크워크 같은 행 및 열에 위치한 노드들이 ring 에 의해 연결되는

메쉬 구조 n x n torus 의 경우 , 네트워크 지름 = n, K-ary n-cube 구조의 전체 노드 수 : N = kn ( 단 , k : 차

원 )[ 예 ] CRAY T3D 시스템에서는 3 차원 torus 네트워크가

사용됨

Page 14: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-14

6.2.5 큐브 (Cube) 네트워크

상호연결 함수

Ci(bm-1bm-2 … bi … b1 b0) = bm-1bm-2 … bi‘ … b1 b0

( 단 , m = log2N, N : 전체 노드 수 , 0 ≤ i < m)

N=8, m=3

Page 15: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-15

큐브 네트워크 ( 계속 )

C0 연결 : C0 (b2 b1 b0 ) = b2 b1 b0’

Page 16: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-16

큐브 네트워크 ( 계속 )

C1 연결 : C1 (b2 b1 b0 ) = b2 b1’ b0

Page 17: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-17

큐브 네트워크 ( 계속 )

C2 연결 : C2 (b2 b1 b0 ) = b2’ b1 b0

Page 18: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-18

6.2.6 Shuffle-exchange 네트워크

Harold Stone 이 병렬처리 응용에 적합한 연결망 구조로

제안

Shuffle 함수와 Exchange 함수의 혼합

N=8 인 경우의 네트워크 접속도

Page 19: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-19

Shuffle-exchange 네트워크 ( 계속 )

Shuffle 함수 : 노드 번호 비트들을 rotate-left

S(bm-1bm-2 … b1 b0) = bm-2 bm-3 … b1 b0 bm-1

Page 20: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-20

Shuffle-exchange 네트워크 ( 계속 )

Inverse-shuffle 함수 : 노드 번호 비트들을 rotate-right

S’(bm-1bm-2 … b1 b0) = b0 bm-1 bm-2 … b2 b1

Page 21: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-21

Shuffle-exchange 네트워크 ( 계속 )

Exchange 함수 : 최하위 비트를 보수화 (complement)

E(bm-1bm-2 … b1 b0) = bm-1bm-2 … b1 b0’

Page 22: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-22

6.2.7 Barrel shifter 네트워크

PM2I (Plus Minus 2i) 함수에 의해 연결 ( 단 , 0 ≤ i <

log2N)

PM2+i(X) = (X + 2i) mod N

PM2-i(X) = (X - 2i) mod N

Page 23: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-23

Barrel shifter 네트워크 ( 계속 )

N = 8, i = 0 (PM2+0 및 PM2-0 함수에 의한 접속도 )

Page 24: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-24

Barrel shifter 네트워크 ( 계속 )

N = 8, i = 1 (PM2+1 및 PM2-1 함수에 의한 접속도 )

Page 25: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-25

Barrel shifter 네트워크 ( 계속 )

N = 8, i = 2 (PM2+2 및 PM2-2 함수에 의한 접속도 )

Page 26: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-26

6.3 동적상호연결망

동적상호연결망 : 통신 경로를 다양하게 변경할 수 있는

상호연결망

[ 예 ] 공유 버스 , 크로스바 스위치 , 다단계상호연결망

다단계 상호연결망 (MIN) 의 예 : Cube, Omega, crossbar

스위칭 소자의 접속 방식

직진 (straight), 교차 (swap),

하위 방송 (lower broadcast), 상위 방송 (upper broadcast)

Page 27: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-27

다단계 상호연결망 ( 계속 )

스위칭 소자에 의해 접속될 수 있는 패턴의 수 :

일대일 접속 : n!, 일대다 접속 : nn

N x N MIN

단계 (stage) 의 수 , m = log2 N

각 단계에서의 스위칭 소자의 수 , s = N/2

Page 28: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-28

6.3.2 다단계 큐브 네트워크 Multistage Cube Network

단계들 간의 연결이 큐브 함수에 의해 이루어지는

네트워크

[ 예 ] 단계 i = Ci 함수가 적용되는 3- 단계 네트워크

Page 29: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-29

다단계 큐브 네트워크 ( 계속 )

경로설정 (routing) 방식

SRC = sm-1, … s1,s0

DST = dm-1, … d1,d0

만약 di ≠ si 이면 ,

i 번째 스위치는 교차 접속

만약 di = si 이면 ,

i 번째 스위치는 직진 접속

Page 30: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-30

다단계 큐브 네트워크 ( 계속 )

방송 연결을 위한 제어 신호와 스위치 소자의 구성

Page 31: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-31

다단계 큐브 네트워크 ( 계속 )

노드 0 가 데이터를 모든 목적지 노드들로 방송하는 경우

Page 32: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-32

다단계 큐브 네트워크 ( 계속 )

부분 방송 연결의 예 (3 1,3,5,7)

Page 33: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-33

6.3.3 오메가 네트워크 (Omega Network)

단계간 연결이 shuffle 함수에 의해 이루어지는 MIN

Page 34: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-34

오메가 네트워크 (Omega Network)

경로설정 방식 : i 번째 단계의 노드에서 목적지 노드

번호 이용

di = 0 이면 , 스위칭 소자의 입력 단은 상위 출력 단자로 접속

di = 1 이면 , 스위칭 소자의 입력 단은 하위 출력 단자로 접속

Page 35: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-35

오메가 네트워크 (Omega Network)

완전 연결의 예 : 순열 p1 = (0,7,6,4,2) (1,3) (5)

07, 76, 64, 42, 20, 13, 31, 55

Page 36: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-36

오메가 네트워크 (Omega Network)

충돌 발생의 예 : 순열 p2 = (1,2,4,5,7) (0,3) (6)

12, 24, 45, 57, 03, 30, 66

Page 37: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-37

오메가 네트워크 (Omega Network)

블럭킹 네트워크 (blocking network)

경로상의 경합으로 인하여 노드들 간의 경로들이 동시에

이루어지지 못하고 여러 번에 걸쳐 순서대로 설정되어야 하는

네트워크

스위칭 소자의 내부에 경로 설정 요구의 경합을 중재해주는

회로와 대기중인 요구들을 넣어두는 큐 필요

오메가 네트워크

비블럭킹 네트워크 (non-blocking network)

노드들 간의 모든 경로가 동시에 설정될 수 있는 네트워크

크로스바 스위치

Page 38: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-38

오메가 네트워크 (Omega Network)

충돌 없이 한 번에 구성될 수 있는 경로들의 수 = NN/2

경로의 전체 수 = n!

한 번에 구성될 수 있는 경로의 비율 = NN/2 / n!

8x8 네트워크의 경우에 한번에 구성될 수 있는 경로의 비율84 / 8! = 4096 / 40320 = 10.16%

모든 경로 설정을 위하여 최대 log2N 주기 필요

Page 39: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-39

오메가 네트워크 (Omega Network)

노드 6 이 데이터를 모든 노드들로 방송하는 경우

Page 40: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-40

오메가 네트워크 (Omega Network)

4x4 스위칭 소자를 이용한 16x16 오메가 네트워크

Page 41: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-41

오메가 네트워크 (Omega Network)

k x k 스위칭 소자를 이용한 네트워크 구성

k-way shuffle 함수 이용

o 노드 번호를 좌측으로 log2k 비트 회전 (rotate)

단계의 수 = logkN

단계 당 스위칭 소자의 수 = N / k

Page 42: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-42

다단계 크로스바스위치 네트워크

Multistage Crossbar-Switch Network, Clos Network

Page 43: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-43

3- 단계 Clos 네트워크

N x M Clos 네트워크의

입력 단자의 수 N = n1 ㆍ r1

출력 단자의 수 M = n2 ㆍ r2

r1 개의 입력단 , m 개의 중간단 , r2 개의 출력단 크로스바스위치

입력단 스위치의 입력 단자의 수를 n1, 출력단 스위치의 출력

단자의 수를 n2

Page 44: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-44

3- 단계 Clos 네트워크

비블럭킹 조건 : m ≥ n2 + n1 – 1

입력 단자의 수와 출력 단자의 수가 동일한 경우 (n1 ㆍ r1

= n2 ㆍ r2)

만약 n1 = n2 = n 이라면 ,

중간단의 스위칭 소자들은 정방형 (square) 크로스바스위치가 됨

비블럭킹 조건 : m ≥ 2n –1

전체 스위칭 소자의 수 = (2n – 1) X 2N + (N2 / n2 )

Page 45: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-45

Benes 네트워크

각 스위칭 소자가 2x2 크로스바 스위치인 Clos

네트워크

Page 46: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-46

Baseline 네트워크

Benes 네트워크의 반으로 나눈 부분의 전반부

오메가 네트워크와 동일한 방법으로 경로 설정

자기 경로 제어 네트워크 (self-routing network)

o 별도의 경로 제어기가 없이 노드 번호를 이용하여 경로를

스스로 설정

Page 47: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-47

Delta 네트워크

axb 크로스바 스위치들로 구성되는 일반화된 네트워크

(a, b > 2)

a = b = 4, base = 4 인

Delta 네트워크

연결방식

o 4-way shuffle

스위칭 소자가 커지면

스위칭 소자와 단계 수 감소

성능 대 가격비 향상

Page 48: 제 6 장 .  상호연결망 구조

Parallel Computer Architecture 6-48

Delta 네트워크

추가적 단계 (extra stage) 를 가진 Delta 네트워크

결함 허용도 (fault tolerancy) 향상