580 likes | 1.87k Views
제 6 장 . 상호연결망 구조. 6.1 서론 6.2 정적 상호연결망 6.3 동적 상호연결망. 상호연결망 (Interconnection Network). 정적 상호연결망 (Static interconnection network) 시스템 요소들 간에 직접 연결된 경로를 가지며 , 연결 구조가 고정된 연결망 ring, tree, mesh, torus, 등 동적 상호연결망 (Dynamic interconnection network)
E N D
제6장. 상호연결망 구조 6.1 서론 6.2 정적 상호연결망 6.3 동적 상호연결망
상호연결망 (Interconnection Network) • 정적 상호연결망 (Static interconnection network) • 시스템 요소들 간에 직접 연결된 경로를 가지며, 연결 구조가 고정된 연결망 • ring, tree, mesh, torus, 등 • 동적 상호연결망 (Dynamic interconnection network) • 시스템 요소들 간의 연결 경로가 실행 시간(run-time) 동안에 다양하게 변경될 수 있으며, 프로그램 실행 중의 통신 패턴과 상황에 따라 필요한 경로를 설정하여 사용할 수 있는 연결망 • Omega network, Delta network, 등 Parallel Computer Architecture
네트워크 성능 파라미터들 • 대역폭(Bandwidth) : 네트워크를 통하여 전송될 수 있는 최대 데이터 전송률, [Mbytes/sec] • 네트워크 지연(Network latency) : 메시지 전송에 소요되는 시간 • 기능성(Functionality) : 데이터 경로설정, 동기화, 인터럽트 및 메시지 송수신의 지원 능력 • 확장가능성(Scalability) : 시스템에 새로운 H/W 자원들(프로세서, 기억장치, I/O 장치 등)을 추가한 경우에 시스템 성능의 선형적 향상 가능성 • H/W 복잡성 : 네트워크 구현에 필요한 하드웨어 모듈 수와 비용 Parallel Computer Architecture
6.2 정적 상호연결망 • 노드(node : processing element)들 사이를 직접 연결해주는 고정된 경로들로 구성 • 경로 = 링크(link) : 단방향(unidirectional) 혹은 양방향(bidirectional) 통신 기능을 가짐 • 네트워크 지름(Network diameter) : 네트워크 내 임의의 두 노드들 간에 설정되는 경로들 중에서 가장 많은 수의 링크들을 경유해야 하는 경우의 링크 수 • 선형 배열 구조, 원형 구조, 나무 구조, 메쉬 네트워크, 큐브 네트워크, Shuffle-exchange 네트워크, Barrel shifter 네트워크 Parallel Computer Architecture
6.2.1 선형 배열(Linear array) 구조 • N 개의 노드들이 N-1개의 링크들에 의해 차례대로 연결되는 구조 • 네트워크 지름 = N-1 Parallel Computer Architecture
6.2.2 원형(Ring) 구조 • 선형 배열에서 0번 노드와 N-1번 노드를 연결한 변형 • 네트워크 지름 • 단방향 = N-1 • 양방향 = N/2 Parallel Computer Architecture
코달 원형(Chordal ring) 구조 • 원형 구조의 변형으로 각 노드에 연결되는 링크의 수를 d개로 증가 Parallel Computer Architecture
6.2.3 나무(Tree) 구조 • 2진 나무(Binary tree) 구조 • Level의 수 = k라면, 전체 노드의 수 N = (2k-1) • 네트워크 지름 = 2(k-1) Parallel Computer Architecture
Fat tree 구조 • 상위 레벨로 올라갈수록 노드 간의 링크 수를 증가시켜 병목 현상을 완화 (Thinking Machine 사의 CM-5 시스템에서 사용) Parallel Computer Architecture
6.2.4 매쉬(Mesh) 구조 • 각 노드를 주변의 4개의 노드들과 2차원 배열로 연결하는 구조 • Illiac-IV, MPP, DAP, CM-2, Intel Paragon 등에서 사용 Parallel Computer Architecture
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 Parallel Computer Architecture
Illiac-IV Mesh • 노드들 간에 여러 개의 경로들이 존재 (0 7) Parallel Computer Architecture
토러스(Torus) 네크워크 • 같은 행 및 열에 위치한 노드들이 ring에 의해 연결되는 메쉬 구조 • n x n torus의 경우, 네트워크 지름 = n, • K-ary n-cube 구조의 전체 노드 수 : N = kn (단, k : 차원) [예] CRAY T3D 시스템에서는 3차원 torus 네트워크가 사용됨 Parallel Computer Architecture
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 Parallel Computer Architecture
큐브 네트워크 (계속) • C0연결 : C0 (b2 b1 b0 ) = b2 b1 b0’ Parallel Computer Architecture
큐브 네트워크 (계속) • C1연결 : C1 (b2 b1 b0 ) = b2 b1’ b0 Parallel Computer Architecture
큐브 네트워크 (계속) • C2연결 : C2 (b2 b1 b0 ) = b2’ b1 b0 Parallel Computer Architecture
6.2.6 Shuffle-exchange 네트워크 • Harold Stone이 병렬처리 응용에 적합한 연결망 구조로 제안 • Shuffle 함수와 Exchange 함수의 혼합 • N=8인 경우의 네트워크 접속도 Parallel Computer Architecture
Shuffle-exchange 네트워크 (계속) • Shuffle 함수 : 노드 번호 비트들을 rotate-leftS(bm-1bm-2 … b1 b0) = bm-2 bm-3 … b1 b0 bm-1 Parallel Computer Architecture
Shuffle-exchange 네트워크 (계속) • Inverse-shuffle 함수 : 노드 번호 비트들을 rotate-right S’(bm-1bm-2 … b1 b0) = b0 bm-1 bm-2 … b2 b1 Parallel Computer Architecture
Shuffle-exchange 네트워크 (계속) • Exchange 함수 : 최하위 비트를 보수화(complement)E(bm-1bm-2 … b1 b0) = bm-1bm-2 … b1 b0’ Parallel Computer Architecture
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 Parallel Computer Architecture
Barrel shifter 네트워크 (계속) • N = 8, i = 0 (PM2+0및 PM2-0함수에 의한 접속도) Parallel Computer Architecture
Barrel shifter 네트워크 (계속) • N = 8, i = 1 (PM2+1및 PM2-1함수에 의한 접속도) Parallel Computer Architecture
Barrel shifter 네트워크 (계속) • N = 8, i = 2 (PM2+2및 PM2-2함수에 의한 접속도) Parallel Computer Architecture
6.3동적상호연결망 • 동적상호연결망 : 통신 경로를 다양하게 변경할 수 있는 상호연결망 [예] 공유 버스, 크로스바 스위치, 다단계상호연결망 • 다단계 상호연결망 (MIN)의 예: Cube, Omega, crossbar 등 • 스위칭 소자의 접속 방식 • 직진(straight), 교차(swap), 하위 방송(lower broadcast), 상위 방송(upper broadcast) Parallel Computer Architecture
다단계 상호연결망 (계속) • 스위칭 소자에 의해 접속될 수 있는 패턴의 수 : 일대일 접속 : n!, 일대다 접속 : nn • N x N MIN • 단계(stage)의 수, m = log2 N • 각 단계에서의 스위칭 소자의 수, s = N/2 Parallel Computer Architecture
6.3.2 다단계 큐브 네트워크 • Multistage Cube Network • 단계들 간의 연결이 큐브 함수에 의해 이루어지는 네트워크 [예] 단계 i = Ci함수가 적용되는 3-단계 네트워크 Parallel Computer Architecture
다단계 큐브 네트워크 (계속) • 경로설정(routing) 방식 • SRC = sm-1, … s1,s0DST = dm-1, … d1,d0 • 만약 di ≠ si이면, i번째 스위치는 교차 접속만약 di= si이면, i번째 스위치는 직진 접속 Parallel Computer Architecture
다단계 큐브 네트워크 (계속) • 방송 연결을 위한 제어 신호와 스위치 소자의 구성 Parallel Computer Architecture
다단계 큐브 네트워크 (계속) • 노드 0가 데이터를 모든 목적지 노드들로 방송하는 경우 Parallel Computer Architecture
다단계 큐브 네트워크 (계속) • 부분 방송 연결의 예 (3 1,3,5,7) Parallel Computer Architecture
6.3.3 오메가 네트워크 (Omega Network) • 단계간 연결이 shuffle 함수에 의해 이루어지는 MIN Parallel Computer Architecture
오메가 네트워크 (Omega Network) • 경로설정 방식 : i번째 단계의 노드에서 목적지 노드 번호 이용 • di = 0이면, 스위칭 소자의 입력 단은 상위 출력 단자로 접속 • di = 1이면, 스위칭 소자의 입력 단은 하위 출력 단자로 접속 Parallel Computer Architecture
오메가 네트워크 (Omega Network) • 완전 연결의 예 : 순열 p1 = (0,7,6,4,2) (1,3) (5) • 07, 76, 64, 42, 20, 13, 31, 55 Parallel Computer Architecture
오메가 네트워크 (Omega Network) • 충돌 발생의 예 : 순열 p2 = (1,2,4,5,7) (0,3) (6) • 12, 24, 45, 57, 03, 30, 66 Parallel Computer Architecture
오메가 네트워크 (Omega Network) • 블럭킹 네트워크(blocking network) • 경로상의 경합으로 인하여 노드들 간의 경로들이 동시에 이루어지지 못하고 여러 번에 걸쳐 순서대로 설정되어야 하는 네트워크 • 스위칭 소자의 내부에 경로 설정 요구의 경합을 중재해주는 회로와 대기중인 요구들을 넣어두는 큐 필요 • 오메가 네트워크 • 비블럭킹 네트워크(non-blocking network) • 노드들 간의 모든 경로가 동시에 설정될 수 있는 네트워크 • 크로스바 스위치 Parallel Computer Architecture
오메가 네트워크 (Omega Network) • 충돌 없이 한 번에 구성될 수 있는 경로들의 수 = NN/2 • 경로의 전체 수 = n! • 한 번에 구성될 수 있는 경로의 비율 = NN/2 / n! • 8x8 네트워크의 경우에 한번에 구성될 수 있는 경로의 비율84 / 8! = 4096 / 40320 = 10.16% • 모든 경로 설정을 위하여 최대 log2N 주기 필요 Parallel Computer Architecture
오메가 네트워크 (Omega Network) • 노드 6이 데이터를 모든 노드들로 방송하는 경우 Parallel Computer Architecture
오메가 네트워크 (Omega Network) • 4x4 스위칭 소자를 이용한 16x16 오메가 네트워크 Parallel Computer Architecture
오메가 네트워크 (Omega Network) • k x k 스위칭 소자를 이용한 네트워크 구성 • k-way shuffle 함수 이용 • 노드 번호를 좌측으로 log2k 비트 회전(rotate) • 단계의 수 = logkN • 단계 당 스위칭 소자의 수 = N / k Parallel Computer Architecture
다단계 크로스바스위치 네트워크 • Multistage Crossbar-Switch Network, Clos Network Parallel Computer Architecture
3-단계 Clos 네트워크 • N x M Clos 네트워크의입력 단자의 수 N = n1ㆍr1출력 단자의 수 M = n2ㆍr2 • r1개의 입력단, m 개의 중간단, r2개의 출력단 크로스바스위치 • 입력단 스위치의 입력 단자의 수를 n1, 출력단 스위치의 출력 단자의 수를 n2 Parallel Computer Architecture
3-단계 Clos 네트워크 • 비블럭킹 조건 : m ≥ n2 + n1 – 1 • 입력 단자의 수와 출력 단자의 수가 동일한 경우 (n1ㆍr1 = n2ㆍr2) • 만약 n1 = n2 = n 이라면,중간단의 스위칭 소자들은 정방형(square) 크로스바스위치가 됨 • 비블럭킹 조건 : m ≥ 2n –1 • 전체 스위칭 소자의 수 = (2n – 1) X 2N + (N2 / n2 ) Parallel Computer Architecture
Benes 네트워크 • 각 스위칭 소자가 2x2 크로스바 스위치인 Clos 네트워크 Parallel Computer Architecture
Baseline 네트워크 • Benes 네트워크의 반으로 나눈 부분의 전반부 • 오메가 네트워크와 동일한 방법으로 경로 설정 • 자기 경로 제어 네트워크 (self-routing network) • 별도의 경로 제어기가 없이 노드 번호를 이용하여 경로를 스스로 설정 Parallel Computer Architecture
Delta 네트워크 • axb 크로스바 스위치들로 구성되는 일반화된 네트워크 (a, b > 2) • a = b = 4, base = 4인Delta 네트워크 • 연결방식 • 4-way shuffle • 스위칭 소자가 커지면 스위칭 소자와 단계 수 감소 성능 대 가격비 향상 Parallel Computer Architecture
Delta 네트워크 • 추가적 단계(extra stage)를 가진 Delta 네트워크 • 결함 허용도(fault tolerancy) 향상 Parallel Computer Architecture