Presentation is loading. Please wait.

Presentation is loading. Please wait.

1.1 병렬처리의 한계와 가능성 1.2 병렬처리의 단위 1.3 병렬컴퓨터의 분류 1.4 병렬컴퓨터의 성능 척도

Similar presentations


Presentation on theme: "1.1 병렬처리의 한계와 가능성 1.2 병렬처리의 단위 1.3 병렬컴퓨터의 분류 1.4 병렬컴퓨터의 성능 척도"— Presentation transcript:

1 1.1 병렬처리의 한계와 가능성 1.2 병렬처리의 단위 1.3 병렬컴퓨터의 분류 1.4 병렬컴퓨터의 성능 척도
제1장 병렬처리의 개요 1.1 병렬처리의 한계와 가능성 1.2 병렬처리의 단위 1.3 병렬컴퓨터의 분류 1.4 병렬컴퓨터의 성능 척도

2 병렬처리(Parallel Processing)
다수의 프로세서들이 여러 개의 프로그램들 또는 한 프로그램의 분할된 부분들을 분담하여 동시에 처리하는 기술 컴퓨터시스템의 성능 향상을 위하여 가장 널리 사용되고 있는 방법 Parallel Computer Architecture

3 Parallel Computer Architecture
병렬처리의 조건 많은 수의 프로세서들로 하나의 시스템을 구성할 수 있도록 작고 저렴하며 고속인 프로세서들의 사용이 가능해야 한다  반도체 기술 발전에 따른 VLSI 칩의 개발에 의해 해결 한 프로그램을 여러 개의 작은 부분들로 분할 가능해야 하며, 분할된 부분들에 대한 병렬처리 결과가 순차적 처리의 결과와 동일해야 한다 <새로이 야기되는 과제들> 분할성(decomposability) : 한 프로그램을 여러 개로 분할 필요 복잡성(complexity) : 병렬 알고리즘의 개발 필요 프로세서간 통신(interprocessor communication) : 프로세서들간에 데이터 교환을 위한 통신 필요 Parallel Computer Architecture

4 Parallel Computer Architecture
1.1 병렬처리의 한계와 가능성 단일 프로세서의 속도 한계 Si 칩상의 전자 흐름 속도 = 3x107m/sec (광속도의 1/10) 지름 3cm인 칩 내 최대 전송시간 = 10-9sec  최대 계산 능력 : 109 FLOPS = 1 GFLOPS 속도 한계를 극복할 수 있는 방법  병렬처리 Parallel Computer Architecture

5 Parallel Computer Architecture
Glosch’s law : 프로세서의 성능이 가격의 제곱에 비례하여 높아질 것으로 예측: 즉, n1/2 배의 비용만 투자해도 n배 빠른 프로세서 개발 가능 [비교] n 개의 프로세서들 사용  속도 : n 배, 비용 : n 배 여건의 변화 VLSI 기술의 발전으로 저렴한 가격의 소형 프로세서 개발 가능 Parallel Computer Architecture

6 Parallel Computer Architecture
병렬처리에 대한 비판적 이론 (II) Minsky’s conjecture : P개의 프로세서들을 사용한 병렬 프로세서에서 프로세서들 간의 정보 교환을 위한 통신 오버헤드 때문에, 시스템 성능은 P배가 아닌, 최대 log2P배까지만 개선될 수 있다 여건의 변화 효율적인 병렬 알고리즘들의 개발 고속 상호연결망 출현 프로세서 스케줄링 기술 개발, 등 Parallel Computer Architecture

7 Parallel Computer Architecture
병렬처리에 대한 비판적 이론 (III) Amdahl의 법칙(Amdahl’s law) 병렬처리를 이용하여 얻을 수 있는 속도 향상은 병렬화가 불가능한 비율(Amdahl’s fraction : a)에 의해 제한 Sp = T1 / Tp lim Sp = 1 / α p∞ [예] α = 20%  최대 Sp = 5배 α α a a a Parallel Computer Architecture

8 Parallel Computer Architecture
Amdahl’s law (계속) 여건의 변화 대부분의 공학 및 과학 계산에서는 a가 문제의 크기(n)가 증가함에 따라 감소 lim α(n) = 0  lim Sp = p n∞ n∞ (Sp는 프로세서 수에 비례) Parallel Computer Architecture

9 Parallel Computer Architecture
1.2 병렬처리의 단위 작업 단위(Job level) : 독립적인 job program 단위로 병렬처리 [예] 성적관리 프로그램 // 실험 데이터 처리 프로그램 태스크 단위(Task level) : 하나의 큰 job을 기능에 따라 분할한 작은 프로그램(태스크) 단위로 병렬처리 [예] Robot 제어 프로그램 : 팔과 다리들을 제어하는 4 개의 태스크들로 분할한 후, 병렬처리  프로세서들간의 정보 교환 필요 Parallel Computer Architecture

10 Parallel Computer Architecture
병렬처리의 단위 (계속) 프로세스 단위(Process level) : 태스크 프로그램을 더 작게 분할한 크기인 프로세스 레벨에서의 병렬처리 [예] for i = 1, 5             x(i) = x(i-1) + y(i-1)            P1(i) y(i) = x(i-2) - y(i-1)            s(i) = x(i) + y(i)            if s(i) ≥ 100                    P2(i)               then a = a+1         else b = b+1 Parallel Computer Architecture

11 Parallel Computer Architecture
프로세스-단위 병렬처리의 예 P(i+1) // P2(i), P1(i) // P2(i-1), P1(i-1) // P2(i-2) Parallel Computer Architecture

12 Parallel Computer Architecture
병렬처리의 단위 (계속) 변수 단위(Variable level) : 독립적인 연산에 의해 계산될 수 있는 변수들 간의 병렬처리 [예] P1 내의 x(i) // y(i) 비트 단위(Bit level) : 가장 낮은 레벨의 병렬처리로서, 데이터 단어를 구성하고 있는 비트들에 대한 독립적 연산들을 병렬처리 Parallel Computer Architecture

13 Parallel Computer Architecture
1.3 병렬컴퓨터의 분류 1.3.1 Flynn의 분류(classification) SISD(Single Instruction stream Single Data stream) SIMD(Single Instruction stream Multiple Data stream) MISD(Multiple Instruction stream Single Data stream) MIMD(Multiple Instruction stream Multiple Data stream) Parallel Computer Architecture

14 Parallel Computer Architecture
SISD 조직 한 번에 한 개씩의 명령어와 데이터를 순서대로 처리하는 단일 프로세서 시스템 성능 향상을 위한 프로세서 내부 구조 : 파이프라이닝(pipelining), 슈퍼 스칼라(superscalar) Parallel Computer Architecture

15 Parallel Computer Architecture
SIMD 조직 하나의 명령어를 다수의 데이터들에 대하여 동시 실행  다수의 데이터들에 대하여 동일한 연산 수행 배열 프로세서(Array processor)라고도 부름 Parallel Computer Architecture

16 Parallel Computer Architecture
MISD 조직 각 프로세서들은 서로 다른 명령어를 실행하지만, 처리되는 데이터들은 하나의 스트림 실제로 설계 및 구현된 사례는 없음 Parallel Computer Architecture

17 Parallel Computer Architecture
MIMD 조직 다수의 프로세서들이 각각 다른 프로그램을 서로 다른 데이터들에 대하여 수행. 대부분의 병렬 컴퓨터들이 이 분류에 해당 밀결합 시스템(tightly-coupled system) : 프로세서들이 공유 기억장치(shared memory)를 이용하여 데이터 교환 소결합 시스템 (loosely-coupled system) : 프로세서들이 메시지 전송(message passing)을 이용하여 데이터 교환 Parallel Computer Architecture

18 Parallel Computer Architecture
MIMD 조직 (계속) Parallel Computer Architecture

19 Parallel Computer Architecture
1.3.2 구조적 특징에 따른 분류 파이프라인 컴퓨터(Pipeline Computer) 시간적 병렬성(temporal parallelism)을 이용한 중첩 계산(overlapped computation)을 수행하는 시스템 배열 프로세서(Array Processor) 공간적 병렬성(spatial parallelism)을 실현하기 위하여 여러 개의 동기화 된 프로세싱 유니트(processing unit)들로 구성되는 시스템 다중프로세서시스템(Multiprocessor System) 시스템 자원들(기억장치, I/O장치)을 공유하는 여러 개의 프로세서들을 이용하여 비동기적 병렬성(asynchronous parallelism)을 실현하는 시스템 Parallel Computer Architecture

20 Parallel Computer Architecture
배열 프로세서와 다중프로세서의 차이점 프로그램 수행의 독립성 배열 프로세서 : 모든 프로세서들이 동일한 프로그램을 동기적으로 수행 다중프로세서시스템 : 각 프로세서들이 서로 다른 별도의 프로그램을 비동기적(독립적)으로 수행 Parallel Computer Architecture

21 Parallel Computer Architecture
1.3.3 기억장치 액세스 모델에 따른 분류 균일 기억장치 액세스(Uniform Memory Access: UMA) 모델 불균일 기억장치 액세스(Non-uniform Memory Access: NUMA) 모델 캐쉬-온리 기억장치 액세스(Cache-Only Memory Access: COMA) 모델 무-원격 기억장치 액세스(No-Remote Memory Access: NORMA) 모델 Parallel Computer Architecture

22 Parallel Computer Architecture
UMA 모델 모든 프로세서들이 상호연결망에 의해 접속된 주기억장치 공유 프로세서들은 주기억장치의 어느 영역이든 액세스할 수 있으며, 그에 걸리는 시간이 동일 Parallel Computer Architecture

23 Parallel Computer Architecture
UMA 모델 (계속) 장단점 장점: 하드웨어가 간단하고, 프로그래밍이 용이 단점: 공유 자원에 대한 경합이 높아지기 때문에 시스템 크기(프로세서 수)에 한계 [예] 최대 프로세서 수 - 공유-버스를 사용하는 시스템 : 30 개 이하, - 크로스바, MIN을 사용하는 시스템 : 64 개 이하 Parallel Computer Architecture

24 Parallel Computer Architecture
NUMA 모델 UMA 모델의 한계를 극복하고 더 큰 규모의 시스템을 구성하기 위한 모델 다수의 UMA 모델들이 상호연결망에 의해 접속 분산 공유-기억장치 (distributed shared-memory) 구조 기억장치 액세스 시간은 기억장치의 위치에 따라 달라짐 지역 기억장치 액세스(local memory access) 전역 기억장치 액세스(global memory access) 원격 기억장치 액세스(remote memory access) Parallel Computer Architecture

25 Parallel Computer Architecture
NUMA 모델의 일반적인 구성도 Parallel Computer Architecture

26 Parallel Computer Architecture
COMA 모델 특징 시스템 내에 기억장치가 존재하지 않음 각 프로세서가 가지고 있는 기억장치들이 모두 캐쉬로서 동작하며, 하나의 공통 주소 공간을 가짐 다른 캐쉬에 대한 액세스는 분산 캐쉬 디렉토리(distributed cache directory)에 의해 지원 초기에는 데이터들이 임의의 캐쉬에 저장되어 있으며, 실행 시간 동안에 그 데이터를 사용할 프로세서의 캐쉬로 이동 대표적 시스템들: Data Diffusion Machine(DDM), KSR-1 Parallel Computer Architecture

27 Parallel Computer Architecture
COMA 모델의 일반적인 구성도 Parallel Computer Architecture

28 Parallel Computer Architecture
NORMA 모델 분산-기억장치 시스템(distributed-memory)이라고도 부름 프로세서가 원격 기억장치(remote memory)는 직접 액세스할 수 없는 시스템 구조 프로세서들과 기억장치들은 메시지-전송(message-passing)을 지원하는 상호연결망으로 접속 주요 상호연결망: 매쉬(mesh), 하이퍼큐브(hypercube), 토러스(torus), 등 Parallel Computer Architecture

29 Parallel Computer Architecture
NORMA 모델의 일반적인 구성도 Parallel Computer Architecture

30 Parallel Computer Architecture
1.3.4 시스템 구성에 따른 분류 대칭적 다중프로세서(Symmetric Multiprocessor: SMP) 대규모 병렬프로세서(Massively Parallel Processor: MPP) 캐쉬-일관성 NUMA(Cache-Coherent NUMA: CC-NUMA) 시스템 분산 시스템(Distributed System) 클러스터 컴퓨터(Cluster Computer) Parallel Computer Architecture

31 Parallel Computer Architecture
SMP 최대 수십(20~64) 개 이하의 프로세서들로 구성되는 중대형급 시스템 완전-공유 구조(shared-everything architecture) : 프로세서들이 시스템 내의 모든 자원들을 공유 시스템 내에 하나의 OS만 존재 대칭적(symmetric): 모든 프로세서들이 필요 시 직접 OS 코드 수행 모든 프로세서들이 자원들을 동등한 권한으로 사용 Parallel Computer Architecture

32 Parallel Computer Architecture
SMP (계속) SMP의 특징 능력이 비슷한 프로세서들로 구성 프로세서들이 기억장치와 I/O 장치들을 공유하며, 상호연결망에 의해 접속 모든 프로세서들은 동등한 권한을 가지며, 같은 수준의 기능들을 수행 프로세서간 통신은 공유-기억장치를 이용 Job scheduling이 하나의 OS에 의해 통합적으로 이루어짐 공유 자원에 대한 경합으로 인하여 시스템 크기에 한계 Parallel Computer Architecture

33 Parallel Computer Architecture
MPP 무공유 구조(shared-nothing)를 기반으로 하는 대규모 병렬처리시스템 수백 혹은 수천 개의 프로세서들로 구성 간단한 구조의 노드 프로세서 사용 마이크로-커널(micro-kernel) 수준의 노드 OS 탑재 노드들 간의 통신은 message-passing 방식 이용 복잡도 높은 상호연결망 이용 [사례 시스템] CM-5, Cray T3E, IBM BlueGene Parallel Computer Architecture

34 Parallel Computer Architecture
CC-NUMA 독립적인 노드들(UMA 혹은 NUMA 시스템)이 상호연결망에 의해 접속 모든 노드들의 캐쉬 및 주기억장치들 사이에 데이터 일관성 유지 시스템 내의 모든 기억장치들이 전역 주소공간(global address space)을 가지는 분산 공유-기억장치 시스템(distributed shared-memory system)으로 구성 주요 장점: S/W 변경 없이 SMP보다 더 큰 시스템 구축 가능 [사례 시스템] DASH, SGI Origin, Sequent NUMA-Q Parallel Computer Architecture

35 Parallel Computer Architecture
CC-NUMA 시스템의 일반적 구성도 Parallel Computer Architecture

36 Parallel Computer Architecture
분산시스템 독립적인 노드(컴퓨터시스템)들이 전통적인 네트워크에 의해 접속 노드들 간의 정보 교환 혹은 병렬처리를 수행할 때만 네트워크를 이용하여 통신 : 소결합 시스템(loosely-coupled system) 노드: PC, workstation, SMP, MPP, 혹은 그들의 조합 Parallel Computer Architecture

37 Parallel Computer Architecture
클러스터 컴퓨터 A collection of PCs or workstations 네트워크: 고속 LAN, 혹은 network switch 모든 시스템 자원들을 SSI(Single System Image)로 통합 주요 장점 저렴한 비용으로 병렬처리시스템 구축 가능 결함 대체 용이  가용성(availability) 향상 Parallel Computer Architecture

38 Parallel Computer Architecture
SSI 및 scalability 비교 SSI(Single System Image) Scalability: System extendability Parallel Computer Architecture

39 Parallel Computer Architecture
1.4 병렬컴퓨터의 성능 척도 처리 속도에 대한 척도 MIPS(Millions of Instructions Per Second) : 초당 실행 완료되는 명령어들의 수를 나타내는 단위 1 MIPS : 초당 백만(106) 개의 명령어 실행 1 GIPS : 초당 10억 (109) 개의 명령어 실행 1 TIPS : 초당 1조 (1012) 개의 명령어 실행 M : Mega G : Giga T : Tera Parallel Computer Architecture

40 Parallel Computer Architecture
처리 속도에 대한 척도 (계속) MFLOPS(Millions of Floating-Point Operations Per Second) : 초당 실행 완료되는 부동-소수점 연산들의 수를 나타내는 단위 1 MFLOPS : 초당 백만(106) 번의 부동-소수점 연산 수행 1 GFLOPS : 초당 10억(109) 번의 부동-소수점 연산 수행 1 TFLOPS : 초당 1조 (1012) 번의 부동-소수점 연산 수행 주로 슈퍼컴퓨터의 성능 척도로 사용 LIPS(Logical Inferences Per Second) : 단위 시간당 처리하는 logical inference들의 수 AI 프로그램의 처리 속도를 나타내기 위해 사용 Parallel Computer Architecture

41 Parallel Computer Architecture
속도 향상에 대한 척도 속도 향상(speedup: Sp) : p 개의 프로세서를 가진 병렬컴퓨터가 단일프로세서시스템에 비하여 몇 배의 처리 속도를 가지는지를 나타내는 척도 Sp = T1 / Tp Sp < p 가 되는 주요 요인들 불균등 작업부하 병렬처리 오버헤드들(프로세서 동기화, 프로세서간 통신, 등) Parallel Computer Architecture

42 Parallel Computer Architecture
효율(efficiency) 투자 비용에 따른 효과를 나타내는 척도 속도 향상과 프로세서 수의 비율 Ep = Sp / p = T1 / p Tp Parallel Computer Architecture

43 Parallel Computer Architecture
중복성(redundancy) 응용 프로그램을 병렬컴퓨터에서 처리하는 경우에 수행되는 연산들의 수(Op)와 단일프로세서시스템에서의 연산들의 수(O1)의 비율 Rp = Op / O1 R p > 1 이 되는 주요 요인 : 병렬처리를 위해 추가되는 동작들(오버헤드: 프로세서 동기화 및 프로세서간 통신) Parallel Computer Architecture

44 시스템 이용률(system utilization)
H/W resource들이 어느 정도 효율적으로 사용되는지를 나타내는 척도 프로그램 처리의 전체 시간 중 H/W 자원이 busy 상태인 시간의 비율 Up = Rp Ep = (Op/ O1 ) (T1 / p Tp) Up < 1 가 되는 주요 요인들 불균등 작업부하 데이터 전송 대기 시간 Parallel Computer Architecture

45 병렬처리의 질(quality of parallel processing)
병렬처리가 어느 정도 효과적으로 이루어졌는지를 나타내는 척도 속도 향상과 효율에 비례, 중복성에 반비례 Qp = Sp Ep / Rp Ep < 1, 1 < Rp < p  Qp < Sp Parallel Computer Architecture


Download ppt "1.1 병렬처리의 한계와 가능성 1.2 병렬처리의 단위 1.3 병렬컴퓨터의 분류 1.4 병렬컴퓨터의 성능 척도"

Similar presentations


Ads by Google