32
병병 병병 병병병병 제 16 제 : 제제제제제제

병렬 다중 분산처리

Embed Size (px)

DESCRIPTION

제 16 강 : 병렬다중처리. 병렬 다중 분산처리. 여러 처리기 - 일반적인 장점들. - 성능 - 신뢰성 ( 加用性 ) - 모듈별 확장 전체 시스템 교체 ?  병목현상 부분만 확장 - 가격 / 성능 값싼 Intel 칲 ( 대량생산  성능 대비 가격이 유리 ). 구분 및 개요. 병렬처리 (Parallel processing). 한 CPU 내에 여러 PE (Processing Element) 한 개의 프로그램을 병렬처리 , - PowerPoint PPT Presentation

Citation preview

Page 1: 병렬 다중 분산처리

병렬 다중 분산처리

제 16 강 : 병렬다중처리

Page 2: 병렬 다중 분산처리

여러 처리기 - 일반적인 장점들

        - 성능         - 신뢰성 ( 加用性 )         - 모듈별 확장

전체 시스템 교체 ? 병목현상 부분만 확장

        - 가격 /성능 값싼 Intel 칲 ( 대량생산 성능 대비 가격이

유리 )

Page 3: 병렬 다중 분산처리

구분 및 개요

Page 4: 병렬 다중 분산처리

병렬처리 (Parallel processing)

한 CPU 내에 여러 PE(Processing Element)

한 개의 프로그램을 병렬처리 ,

그 프로그램의 처리 속도를 빠르게 하는 것이 목적 .

예 : 파이프라인 (Pipleline),

벡터 프로세서 (Vector Processor) 등

Page 5: 병렬 다중 분산처리

다중처리 (Multiprocessing)

여러 CPU 들이 clock 과 메모리를 공유

CPU 들간의 거리는 수 미터 이내

강결합 시스템 (tightly coupled system).

각 CPU 는 독립적인 프로그램을 수행

전체 시스템의 Throughput 을 높이도록 설계된 시스템 .

각 CPU 들이 담당하는 역할이 동일한지 여부에 따라 비대칭적 다중처리 ( 한 특정 CPU 만이 OS 와 I/O 를 전담 )

대칭적 다중처리 (SMP: Symmetric Multiprocessing).

Page 6: 병렬 다중 분산처리

네트워크 운영체제(NOS: Network Operating Systems)

네트워크상 여러 시스템들이 서로의 자원을 액세스

사용자는 네트워크에 대해 잘 알아야 한다 .

원격지 login 을 명시적으로 하여야 하며

원격지 호스트의 이름 ,

원격지 userid, 암호 ,

원격지 파일의 위치 등을 제시하여야

NOS 는 사용자에게 투명 (transparent) 한 인터페이스를 제공하지는 않는다 .

예 : 원격 login

telnet 명령문

ftp (File Transfer Protocol) 명령

용어 사이트 (site)~ 노드 (node)~ 컴퓨터 (computer)~ 기계 (machine)~ 호스트

(host)

Page 7: 병렬 다중 분산처리

분산처리 (Distributed processing)

DOS 사용자들은 네트워크를 의식하지 않아도 된다 .

(local 자원 사용방법 ) = (remote 자원 사용방법 ).

특징 :

        - 제어 , 자원 , 정보가 여러 노드에 분산되어 있고

        - 이들을 투명하게 사용할 수 있으며

        - 사용자는 한 개의 시스템 처럼 느껴야 하고

        - 그러면서도 각 노드는 독립성이 있다 .

약결합 시스템 (Loosely-coupled) 이라고도 부른다 .

예 : Web

NFS (Network File System),

그리드 (Grid) 컴퓨팅 등

Page 8: 병렬 다중 분산처리

다중처리(Multiprocessing)

Page 9: 병렬 다중 분산처리

다중처리기 상호 연결 (interconnection) 방법

(1) 시분할 공유 버스 (Time shared single bus)

(2) 크로스바 교환 행렬 (Crossbar switching matrix)

(3) 하이퍼 큐브 (4) 다중 포트 메모리 (Multiport storage)

Page 10: 병렬 다중 분산처리

시분할 공유 버스(Time shared single bus)

단 하나의 통신선로만을 제공하는 방법이다 .

① 장점 : 경제적

② 단점 :  성능 , 신뢰성

메모리

CPU 개수

delay

가격

Page 11: 병렬 다중 분산처리

모든 처리기가 모든 장치에 동시에 접근할 수 있다 .

장점 : access 가 막히는 일이 없다

단점 : 가격이 N2 에 비례

크로스바 교환 행렬(Crossbar switching matrix)

CPU 개수

가격

delay

Page 12: 병렬 다중 분산처리

Hypercube

2 차원 하이퍼 큐브

3 차원 하이퍼 큐브

4 차원 하이퍼 큐브

Page 13: 병렬 다중 분산처리

Multiport memory

메모리

CPU

CPUCPU

Page 14: 병렬 다중 분산처리

다중처리 (Multiprocessing) Operating System

Page 15: 병렬 다중 분산처리

master/slave 다중처리

일반 프로그램

OS

Master CPU

일반 프로그램

Slave CPU

일반 프로그램

Slave CPU

공유 메모리

병목현상 – 성능 , 신뢰“ 비대칭적” 멀티프로세싱

Page 16: 병렬 다중 분산처리

일반 프로그램

OS

CPU

공유 메모리

일반 프로그램

OS

CPU

일반 프로그램

OS

CPU

separate executive 다중처리

각 노드는 독립적 OS

load balancing?

Page 17: 병렬 다중 분산처리

SMP 다중처리(Symmetric Multiprocessing)

일반 프로그램

CPU

일반 프로그램

CPU

일반 프로그램

CPU

OS Code

Program Counter Program Counter Program Counter

병목현상 없음load balancing

“ 대칭적” 멀티프로세싱

Page 18: 병렬 다중 분산처리

분산처리 (Distributed Processing)

Page 19: 병렬 다중 분산처리

분산처리

(Distributed Processing)

연결 Topology

Page 20: 병렬 다중 분산처리

완전 (Fully) Connected

① 각 사이트는 다른 모든 사이트와 직접 링크되어 있다 . ② 기본 비용이 매우 높다 . ③ 사이트 간의 메시지는 매우 빠르게 전달된다 . ④ 신뢰성이 높다 .  ⑤ 링크 수 =N(N-1)/2

Page 21: 병렬 다중 분산처리

부분 (Partially) Connected

① 사이트 간에 서로 부분적으로 연결된다 . ② 기본 비용은 완전 연결보다 낮다 . ③ 메시지 전달은 여러 사이트를 경유 - 늦어질 수 있다 . ④ 완전 연결 네트워크만큼 신뢰성이 높지 않다 .

Page 22: 병렬 다중 분산처리

계층 (Hierarchy) Connection

① 각 사이트는 트리 형태로 구성된다 . ② 각 사이트는 하나의 부모를 가지며 여러 개의 자식 ③ 비용은 비교적 저렴하다 . ④ 사이트의 고장은 여러 서브트리간 단절

Page 23: 병렬 다중 분산처리

성형 (Star) Connection

① 모든 사이트는 하나의 중앙 호스트에 직접 링크 . ② 중앙 노드가 모든 경로를 알므로 통신 비용이 저렴 . ③ 성능 bottleneck. ④ 신뢰성 bottleneck.

Page 24: 병렬 다중 분산처리

Ring Connection

① 각 사이트는 다른 두 사이트와 연결 .         ② 정보 전달 방향은 단방향 또는 양방향일 수 있다 . ③ 비용은 사이트의 수에 비례한다 . ④ 메시지가 링을 순환해야 한다면 통신 비용이 문제 .

Page 25: 병렬 다중 분산처리

Bus Connection

① 모든 사이트는 하나의 공유 링크에 연결 . ② 기본 비용은 사이트의 수에 비례한다 . ③ 통신 비용은 적은 편이다 . ④ 링크가 고장나면 모든 사이트 간의 통신은 불가능 .

Page 26: 병렬 다중 분산처리

분산처리

(Distributed Processing)

사용자 측면

Page 27: 병렬 다중 분산처리

(1) 투명성 (Transparency)

Local/Remote 한 가지 방식으로 사용할 수 있게 해줌 .

      ① 위치 투명성 (Location transparency)

       경로명이 위치와 관련된 정보를 반영하지 않는다 .

      ② 접근 투명성 (Access transparency)

         local/remote 모두 동일한 방법으로 액세스 한다 .

(2) 위치 독립성 (Location independency)

파일의 물리적 저장장치가 위치를 바꾸어도

경로명은 변경되지 않는다 .

Page 28: 병렬 다중 분산처리

분산처리

(Distributed Processing)

Site 간 이주

Page 29: 병렬 다중 분산처리

• 데이터 이주 (data migration)

– 파일 전체 /요청된 부분

– 복사본간 일관성 유지

• 연산이주 (computation migration)

– 대형파일 액세스 시

– 큰 데이터를 가져와 local 서 연산할 것인가 ?

– RPC (Remote Procedure Call) 를 할 것인가 ?

• 프로세스 이주 (Process Migration)

– 연산 이주의 논리적 확장

– 그리드 컴퓨팅 등의 예

Page 30: 병렬 다중 분산처리

분산처리

(Distributed Processing)

내부 동작의 설계

Page 31: 병렬 다중 분산처리

① 경로배정 ( 또는 라우팅 : routing) - 고정경로 :      송수신자간 경로가 미리 정해져 있으며 ,                  고장이 발생하지 않는 한 경로를 바꾸지 않는다 - 가 상 회 로 :     송 수 신 자 간 경 로 가 한 세 션 (session) 동 안 만 고 정 된 다 .

                다른 세션에서는 경로가 달라질 수 있다 . - 동적 경로 :     경로 선택이 동적으로 결정되므로 메시지마다 서로 다른 경로들을 배정받을 수 있다 .                  일반적으로 메시지는 가장 혼잡이 덜한 링크를 통해서 보내진다 . ② 연결 전략 - 회선 교환 (circuit switching)

두 지역 사이에 일단 링크가 할당되면 통신이 끝나기 전까지는 ( 예 , 한 쪽에서 끊어버리는 경우 ) 어느 누구도 그 통신 회선을 사용할 수 없다 . 전화와 비슷 .

- 메시지 교환 (message switching)통신할 때 링크는 메시지가 전송되는 아주 짧은 시간 동안만 할당된다 .

- 패킷 교환 (packet switching)긴 메시지를 패킷 (packet) 이라 부르는 고정된 크기로 나누고 각 패킷들은 출발지와 목적지 주소를 가지고 독립적으로 전송된다 . 각 패킷은 서로 다른 경로로 전달될 수 있다 . 패킷들은 목적지에서 원래의 메시지로 재결합되어야 한다 . ( 데이터그램 , 가상 회선 방식 )

Page 32: 병렬 다중 분산처리

Flynn 의 분류

① SISD(Single Instruction Single Data) 초창기 컴퓨터

② SIMD(Single Instruction Multiple Data) 벡터 처리기 혹은 배열 컴퓨터

③ MISD(Multiple Instruction Single Data) 이 구조는 별로 사용되지 않는다 .

④ MIMD(Multiple Instruction Multiple Data) 여러 형태의 다중 처리기 .