24
제 5 제 . 제제 - 제제 제제제제제제 제제제 5.1 서서 5.2 서서서서 서서서 5.3 서서 - 서서 서서서 서서 5.4 서서 - 서서 서서서 서서

제 5 장 . 다중 - 버스 다중프로세서 시스템

  • Upload
    ashtyn

  • View
    111

  • Download
    5

Embed Size (px)

DESCRIPTION

제 5 장 . 다중 - 버스 다중프로세서 시스템. 5.1 서론 5.2 크로스바 스위치 5.3 다중 - 버스 시스템 구조 5.4 계층 - 버스 시스템 구조. 다중 - 버스 다중프로세서시스템. 단일 공유 - 버스 시스템의 버스 경합에 의한 지연을 줄이기 위하여 다수의 연결 통로를 제공하기 위한 시스템 구조 종류 크로스바 네트워크 (crossbar network) : 프로세서와 기억장치 모듈들 간에 완전 연결 (full connection) 을 제공 - PowerPoint PPT Presentation

Citation preview

Page 1: 제 5 장 .  다중 - 버스 다중프로세서 시스템

제 5 장 . 다중 - 버스 다중프로세서 시스템

5.1 서론

5.2 크로스바 스위치

5.3 다중 - 버스 시스템 구조

5.4 계층 - 버스 시스템 구조

Page 2: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-2

다중 - 버스 다중프로세서시스템

단일 공유 - 버스 시스템의 버스 경합에 의한 지연을 줄이기 위하여 다수의 연결 통로를 제공하기 위한 시스템 구조

종류 크로스바 네트워크 (crossbar network) : 프로세서와

기억장치 모듈들 간에 완전 연결 (full connection) 을 제공

다중 - 버스 구조 (multiple-bus structure) : 공유 버스의 수가 2 개 혹은 그 이상이지만 , 프로세서 수보다는 더 적은 구조

계층 버스 (hierarchical bus) 구조 : 버스의 역할 ( 용도 ) 이 서로 다른 계층적 구조의 다중 - 버스 구조

Page 3: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-3

5.2 크로스바 네트워크

1972 년 , Carnegie-Mellon 대학 , C.mmp 시스템에서

처음 사용

시스템 요소들 ( 프로세서 , 기억장치모듈 ) 간에 한 개씩의

별도 경로 존재 경로에 대한 경합으로 인한 지연 없음

Page 4: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-4

4x4 크로스바 네트워크의 실제 구성도

Page 5: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-5

4x4 크로스바 네트워크의 스위칭 소자

Page 6: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-6

크로스바 네트워크 ( 계속 )

채널의 폭 ( 선의 수 )

N x N 시스템에서 각 채널이 m 개의 선들로 구성되는 경우 ,

전체 I/O 선들의 수 = {m x (N x N)} + m x N = m(N2 + N)

O(N2 ) : 스위칭 소자의 내부 H/W 와 I/O 선의 수는 N2 에

비례

[ 예 ] 데이터 = 16 비트 , 주소 = 20 비트 , 제어신호 = 4 개

o 프로세서–스위칭 소자 간의 선 (line) 의 수 = 40 개

o 4 x 4 시스템의 경우 ,

전체 I/O 선들의 수 = (40 x 4 x 4) + (40 x 4) = 800 개

[ 문제점 ] H/W 복잡 : 프로세서 수 및 기억장치 수가 각각 N

개라면 , 필요한 스위칭 소자의 수 = N2

Page 7: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-7

크로스바 스위칭 소자의 내부 회로

두 개 이상의 프로세서들이 동일한 기억장치 모듈을

액세스하려는 경우에는 기억장치 충돌 (memory conflict)

발생 중재 필요

프로세서와 스위칭 소자 간의 채널 구성

데이터 버스

기억장치 주소

기억장치 제어 ( 읽기 / 쓰기 ) 신호

기억장치 액세스 요구 (REQ) 및 승인 (GRANT) 신호

Page 8: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-8

5.3 다중 - 버스 시스템 구조

N = 프로세서 수 , M = 기억장치 모듈의 수 , B = 버스 수 B = 1 : 단일 - 버스 시스템

B = N = M : 크로스바 네트워크

1 < B < N : 다중 - 버스 시스템

공유 - 버스의 수를 증가시키면 ,

기억장치 대역폭 (memory bandwidth: 단위 시간당 기억장치 액세스 수 )

증가 기억장치 액세스의 동시성 증가

시스템 결함 허용도 (fault-tolerance) 향상

Page 9: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-9

다중 - 버스 시스템 구조

Page 10: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-10

다중 - 버스 시스템 구조의 버스 중재

버스 중재 필요 동시에 기억장치를 액세스하려는 프로세서들의 수 > 버스의 수

버스 경합 (bus contention) 발생 여러 프로세서들이 동시에 동일한 기억장치 모듈을 액세스하려 할 때

기억장치 충돌 (memory conflict) : 발생

1-of-N 중재기 기억장치 모듈에 대한 중재 수행 각 모듈 당 한 개씩 , 전체 M 개가 필요

B-of-M 중재기 버스들에 대한 중재 수행 1-of-N 중재기에 의해 기억장치 충돌이 해결된 버스 요구들에게 버스를 할당 시스템 내에 한 개만 필요

Page 11: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-11

다중 - 버스 시스템을 위한 중재기의 구성도

Page 12: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-12

버스 수의 변화에 따른 기억장치 대역폭

프로세서의 수 = 16

Page 13: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-13

버스 수의 변화에 따른 기억장치 대역폭

버스의 수가 증가함에 따라 버스 대역폭이 선형적으로

증가하지 않음

버스 경합 ( 버스의 수가 적은 시스템 )

기억장치 충돌 ( 버스의 수가 많은 시스템 )

기억장치 요구율 (memory request rate) 이 충분히 높지 않은 경우

크로스바 네트워크의 경우에 버스의 수가 절반인 다중 -

버스 시스템 보다 성능이 크게 높지는 않음

Page 14: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-14

5.4 계층 - 버스 시스템 구조

버스들이 계층적으로 접속되도록 하고 , 각 계층의 버스에 접속되는 시스템 요소들의 종류와 버스의 기능이 서로 다른 시스템 구조

시스템 버스 / 지역 버스

시스템 버스 / 입출력 버스

클러스터간 버스 / 클러스터 버스 / 지역 버스

[ 예 ] Cm* 시스템 : Carnegie-Mellon Univ. 에서 실험용으로 제작

장점 프로세서와 기억장치 또는 입출력 채널 간의 통신량을 각 지역 버스들로 분산

시스템 버스의 통신량이 감소되므로 버스 경합에 따른 지연 시간 단축

Page 15: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-15

계층 - 버스 시스템 구조

Page 16: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-16

Cm* 시스템의 구조

Page 17: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-17

Cm* 시스템의 구조

Page 18: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-18

Cm* 시스템의 구조

Page 19: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-19

지역성 (locality) 에 대한 고찰

프로세서가 원하는 데이터 또는 프로그램 코드의 기억장치 위치

액세스 요구를 발생한 컴퓨터 모듈내의 기억장치

같은 클러스터에 있는 다른 컴퓨터 모듈의 기억장치

다른 클러스터에 있는 컴퓨터 모듈의 기억장치

데이터들이 프로세서와 가까운 위치에 있는 기억장치에 저장되어 있을 수록 ( 즉 , 지역성이 높을 수록 ) 시스템 성능이 더 높아진다

Page 20: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-20

프로그램 저장 위치와 평균 명령어 실행 시간의 실험결과

Page 21: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-21

프로그램 저장 위치와 평균 명령어 실행 시간의 실험결과

Page 22: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-22

계층적 캐쉬 / 버스 구조

클러스터 (cluster) 내부에는 다수의 프로세서들이 2-

단계 캐쉬 (two-level cache) 를 공유

클러스터들은 클러스터간 버스 (intercluster bus) 에 의해

통신

실제 시스템 예

Encore Computer 사의 Ultramax 다중프로세서시스템

Page 23: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-23

계층적 캐쉬 / 버스 구조

Page 24: 제 5 장 .  다중 - 버스 다중프로세서 시스템

Parallel Computer Architecture 5-24

Ultramax 다중프로세서시스템의 구조