병렬 다중 분산처리
DESCRIPTION
제 16 강 : 병렬다중처리. 병렬 다중 분산처리. 여러 처리기 - 일반적인 장점들. - 성능 - 신뢰성 ( 加用性 ) - 모듈별 확장 전체 시스템 교체 ? 병목현상 부분만 확장 - 가격 / 성능 값싼 Intel 칲 ( 대량생산 성능 대비 가격이 유리 ). 구분 및 개요. 병렬처리 (Parallel processing). 한 CPU 내에 여러 PE (Processing Element) 한 개의 프로그램을 병렬처리 , - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/1.jpg)
병렬 다중 분산처리
제 16 강 : 병렬다중처리
![Page 2: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/2.jpg)
여러 처리기 - 일반적인 장점들
- 성능 - 신뢰성 ( 加用性 ) - 모듈별 확장
전체 시스템 교체 ? 병목현상 부분만 확장
- 가격 /성능 값싼 Intel 칲 ( 대량생산 성능 대비 가격이
유리 )
![Page 3: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/3.jpg)
구분 및 개요
![Page 4: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/4.jpg)
병렬처리 (Parallel processing)
한 CPU 내에 여러 PE(Processing Element)
한 개의 프로그램을 병렬처리 ,
그 프로그램의 처리 속도를 빠르게 하는 것이 목적 .
예 : 파이프라인 (Pipleline),
벡터 프로세서 (Vector Processor) 등
![Page 5: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/5.jpg)
다중처리 (Multiprocessing)
여러 CPU 들이 clock 과 메모리를 공유
CPU 들간의 거리는 수 미터 이내
강결합 시스템 (tightly coupled system).
각 CPU 는 독립적인 프로그램을 수행
전체 시스템의 Throughput 을 높이도록 설계된 시스템 .
각 CPU 들이 담당하는 역할이 동일한지 여부에 따라 비대칭적 다중처리 ( 한 특정 CPU 만이 OS 와 I/O 를 전담 )
대칭적 다중처리 (SMP: Symmetric Multiprocessing).
![Page 6: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/6.jpg)
네트워크 운영체제(NOS: Network Operating Systems)
네트워크상 여러 시스템들이 서로의 자원을 액세스
사용자는 네트워크에 대해 잘 알아야 한다 .
원격지 login 을 명시적으로 하여야 하며
원격지 호스트의 이름 ,
원격지 userid, 암호 ,
원격지 파일의 위치 등을 제시하여야
NOS 는 사용자에게 투명 (transparent) 한 인터페이스를 제공하지는 않는다 .
예 : 원격 login
telnet 명령문
ftp (File Transfer Protocol) 명령
용어 사이트 (site)~ 노드 (node)~ 컴퓨터 (computer)~ 기계 (machine)~ 호스트
(host)
![Page 7: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/7.jpg)
분산처리 (Distributed processing)
DOS 사용자들은 네트워크를 의식하지 않아도 된다 .
(local 자원 사용방법 ) = (remote 자원 사용방법 ).
특징 :
- 제어 , 자원 , 정보가 여러 노드에 분산되어 있고
- 이들을 투명하게 사용할 수 있으며
- 사용자는 한 개의 시스템 처럼 느껴야 하고
- 그러면서도 각 노드는 독립성이 있다 .
약결합 시스템 (Loosely-coupled) 이라고도 부른다 .
예 : Web
NFS (Network File System),
그리드 (Grid) 컴퓨팅 등
![Page 8: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/8.jpg)
다중처리(Multiprocessing)
![Page 9: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/9.jpg)
다중처리기 상호 연결 (interconnection) 방법
(1) 시분할 공유 버스 (Time shared single bus)
(2) 크로스바 교환 행렬 (Crossbar switching matrix)
(3) 하이퍼 큐브 (4) 다중 포트 메모리 (Multiport storage)
![Page 10: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/10.jpg)
시분할 공유 버스(Time shared single bus)
단 하나의 통신선로만을 제공하는 방법이다 .
① 장점 : 경제적
② 단점 : 성능 , 신뢰성
메모리
CPU 개수
delay
가격
![Page 11: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/11.jpg)
모든 처리기가 모든 장치에 동시에 접근할 수 있다 .
장점 : access 가 막히는 일이 없다
단점 : 가격이 N2 에 비례
크로스바 교환 행렬(Crossbar switching matrix)
CPU 개수
가격
delay
![Page 12: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/12.jpg)
Hypercube
2 차원 하이퍼 큐브
3 차원 하이퍼 큐브
4 차원 하이퍼 큐브
![Page 13: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/13.jpg)
Multiport memory
메모리
CPU
CPUCPU
![Page 14: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/14.jpg)
다중처리 (Multiprocessing) Operating System
![Page 15: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/15.jpg)
master/slave 다중처리
일반 프로그램
OS
Master CPU
일반 프로그램
Slave CPU
일반 프로그램
Slave CPU
공유 메모리
병목현상 – 성능 , 신뢰“ 비대칭적” 멀티프로세싱
![Page 16: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/16.jpg)
일반 프로그램
OS
CPU
공유 메모리
일반 프로그램
OS
CPU
일반 프로그램
OS
CPU
separate executive 다중처리
각 노드는 독립적 OS
load balancing?
![Page 17: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/17.jpg)
SMP 다중처리(Symmetric Multiprocessing)
일반 프로그램
CPU
일반 프로그램
CPU
일반 프로그램
CPU
OS Code
Program Counter Program Counter Program Counter
병목현상 없음load balancing
“ 대칭적” 멀티프로세싱
![Page 18: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/18.jpg)
분산처리 (Distributed Processing)
![Page 19: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/19.jpg)
분산처리
(Distributed Processing)
연결 Topology
![Page 20: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/20.jpg)
완전 (Fully) Connected
① 각 사이트는 다른 모든 사이트와 직접 링크되어 있다 . ② 기본 비용이 매우 높다 . ③ 사이트 간의 메시지는 매우 빠르게 전달된다 . ④ 신뢰성이 높다 . ⑤ 링크 수 =N(N-1)/2
![Page 21: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/21.jpg)
부분 (Partially) Connected
① 사이트 간에 서로 부분적으로 연결된다 . ② 기본 비용은 완전 연결보다 낮다 . ③ 메시지 전달은 여러 사이트를 경유 - 늦어질 수 있다 . ④ 완전 연결 네트워크만큼 신뢰성이 높지 않다 .
![Page 22: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/22.jpg)
계층 (Hierarchy) Connection
① 각 사이트는 트리 형태로 구성된다 . ② 각 사이트는 하나의 부모를 가지며 여러 개의 자식 ③ 비용은 비교적 저렴하다 . ④ 사이트의 고장은 여러 서브트리간 단절
![Page 23: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/23.jpg)
성형 (Star) Connection
① 모든 사이트는 하나의 중앙 호스트에 직접 링크 . ② 중앙 노드가 모든 경로를 알므로 통신 비용이 저렴 . ③ 성능 bottleneck. ④ 신뢰성 bottleneck.
![Page 24: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/24.jpg)
Ring Connection
① 각 사이트는 다른 두 사이트와 연결 . ② 정보 전달 방향은 단방향 또는 양방향일 수 있다 . ③ 비용은 사이트의 수에 비례한다 . ④ 메시지가 링을 순환해야 한다면 통신 비용이 문제 .
![Page 25: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/25.jpg)
Bus Connection
① 모든 사이트는 하나의 공유 링크에 연결 . ② 기본 비용은 사이트의 수에 비례한다 . ③ 통신 비용은 적은 편이다 . ④ 링크가 고장나면 모든 사이트 간의 통신은 불가능 .
![Page 26: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/26.jpg)
분산처리
(Distributed Processing)
사용자 측면
![Page 27: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/27.jpg)
(1) 투명성 (Transparency)
Local/Remote 한 가지 방식으로 사용할 수 있게 해줌 .
① 위치 투명성 (Location transparency)
경로명이 위치와 관련된 정보를 반영하지 않는다 .
② 접근 투명성 (Access transparency)
local/remote 모두 동일한 방법으로 액세스 한다 .
(2) 위치 독립성 (Location independency)
파일의 물리적 저장장치가 위치를 바꾸어도
경로명은 변경되지 않는다 .
![Page 28: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/28.jpg)
분산처리
(Distributed Processing)
Site 간 이주
![Page 29: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/29.jpg)
• 데이터 이주 (data migration)
– 파일 전체 /요청된 부분
– 복사본간 일관성 유지
• 연산이주 (computation migration)
– 대형파일 액세스 시
– 큰 데이터를 가져와 local 서 연산할 것인가 ?
– RPC (Remote Procedure Call) 를 할 것인가 ?
• 프로세스 이주 (Process Migration)
– 연산 이주의 논리적 확장
– 그리드 컴퓨팅 등의 예
![Page 30: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/30.jpg)
분산처리
(Distributed Processing)
내부 동작의 설계
![Page 31: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/31.jpg)
① 경로배정 ( 또는 라우팅 : routing) - 고정경로 : 송수신자간 경로가 미리 정해져 있으며 , 고장이 발생하지 않는 한 경로를 바꾸지 않는다 - 가 상 회 로 : 송 수 신 자 간 경 로 가 한 세 션 (session) 동 안 만 고 정 된 다 .
다른 세션에서는 경로가 달라질 수 있다 . - 동적 경로 : 경로 선택이 동적으로 결정되므로 메시지마다 서로 다른 경로들을 배정받을 수 있다 . 일반적으로 메시지는 가장 혼잡이 덜한 링크를 통해서 보내진다 . ② 연결 전략 - 회선 교환 (circuit switching)
두 지역 사이에 일단 링크가 할당되면 통신이 끝나기 전까지는 ( 예 , 한 쪽에서 끊어버리는 경우 ) 어느 누구도 그 통신 회선을 사용할 수 없다 . 전화와 비슷 .
- 메시지 교환 (message switching)통신할 때 링크는 메시지가 전송되는 아주 짧은 시간 동안만 할당된다 .
- 패킷 교환 (packet switching)긴 메시지를 패킷 (packet) 이라 부르는 고정된 크기로 나누고 각 패킷들은 출발지와 목적지 주소를 가지고 독립적으로 전송된다 . 각 패킷은 서로 다른 경로로 전달될 수 있다 . 패킷들은 목적지에서 원래의 메시지로 재결합되어야 한다 . ( 데이터그램 , 가상 회선 방식 )
![Page 32: 병렬 다중 분산처리](https://reader036.vdocuments.mx/reader036/viewer/2022082213/56812a59550346895d8db4be/html5/thumbnails/32.jpg)
Flynn 의 분류
① SISD(Single Instruction Single Data) 초창기 컴퓨터
② SIMD(Single Instruction Multiple Data) 벡터 처리기 혹은 배열 컴퓨터
③ MISD(Multiple Instruction Single Data) 이 구조는 별로 사용되지 않는다 .
④ MIMD(Multiple Instruction Multiple Data) 여러 형태의 다중 처리기 .