Slide1 l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 45

제 1 장 병렬처리의 개요 PowerPoint PPT Presentation


  • 302 Views
  • Uploaded on
  • Presentation posted in: General

제 1 장 병렬처리의 개요. 1.1 병렬처리의 한계와 가능성 1.2 병렬처리의 단위 1.3 병렬컴퓨터의 분류 1.4 병렬컴퓨터의 성능 척도. 병렬처리 (Parallel Processing). 다수의 프로세서들이 여러 개의 프로그램들 또는 한 프로그램의 분할된 부분들을 분담하여 동시에 처리하는 기술 컴퓨터시스템의 성능 향상을 위하여 가장 널리 사용되고 있는 방법. 병렬처리의 조건.

Download Presentation

제 1 장 병렬처리의 개요

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Slide1 l.jpg

제1장 병렬처리의 개요

1.1 병렬처리의 한계와 가능성

1.2 병렬처리의 단위

1.3 병렬컴퓨터의 분류

1.4 병렬컴퓨터의 성능 척도


Parallel processing l.jpg

병렬처리(Parallel Processing)

  • 다수의 프로세서들이 여러 개의 프로그램들 또는 한 프로그램의 분할된 부분들을 분담하여 동시에 처리하는 기술

  • 컴퓨터시스템의 성능 향상을 위하여 가장 널리 사용되고 있는 방법

Parallel Computer Architecture


Slide3 l.jpg

병렬처리의 조건

  • 많은 수의 프로세서들로 하나의 시스템을 구성할 수 있도록 작고 저렴하며 고속인 프로세서들의 사용이 가능해야 한다 반도체 기술 발전에 따른 VLSI 칩의 개발에 의해 해결

  • 한 프로그램을 여러 개의 작은 부분들로 분할 가능해야 하며, 분할된 부분들에 대한 병렬처리 결과가 순차적 처리의 결과와 동일해야 한다<새로이 야기되는 과제들>

    • 분할성(decomposability) : 한 프로그램을 여러 개로 분할 필요

    • 복잡성(complexity) : 병렬 알고리즘의 개발 필요

    • 프로세서간 통신(interprocessor communication) : 프로세서들간에 데이터 교환을 위한 통신 필요

Parallel Computer Architecture


Slide4 l.jpg

1.1 병렬처리의 한계와 가능성

  • 단일 프로세서의 속도 한계

    • Si 칩상의 전자 흐름 속도 = 3x107m/sec (광속도의 1/10)

    • 지름 3cm인 칩 내 최대 전송시간 = 10-9sec

      최대 계산 능력 : 109 FLOPS = 1 GFLOPS

  • 속도 한계를 극복할 수 있는 방법병렬처리

Parallel Computer Architecture


Slide5 l.jpg

병렬처리에 대한 비판적 이론 (I)

  • Glosch’s law : 프로세서의 성능이 가격의 제곱에 비례하여 높아질 것으로 예측: 즉, n1/2 배의 비용만 투자해도 n배 빠른 프로세서 개발 가능

    [비교] n 개의 프로세서들 사용 속도 : n 배, 비용 : n 배

    • 여건의 변화

      • VLSI 기술의 발전으로 저렴한 가격의 소형 프로세서 개발 가능

Parallel Computer Architecture


Slide6 l.jpg

병렬처리에 대한 비판적 이론 (II)

  • Minsky’s conjecture : P개의 프로세서들을 사용한 병렬 프로세서에서 프로세서들 간의 정보 교환을 위한 통신 오버헤드 때문에, 시스템 성능은 P배가 아닌, 최대 log2P배까지만 개선될 수 있다

    • 여건의 변화

      • 효율적인 병렬 알고리즘들의 개발

      • 고속 상호연결망 출현

      • 프로세서 스케줄링 기술 개발, 등

Parallel Computer Architecture


Slide7 l.jpg

병렬처리에 대한 비판적 이론 (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


Amdahl s law l.jpg

Amdahl’s law (계속)

  • 여건의 변화

    • 대부분의 공학 및 과학 계산에서는 a가 문제의 크기(n)가 증가함에 따라 감소lim α(n) = 0  lim Sp = pn∞ n∞ (Sp는 프로세서 수에 비례)

Parallel Computer Architecture


Slide9 l.jpg

1.2 병렬처리의 단위

  • 작업 단위(Job level) : 독립적인 job program 단위로 병렬처리[예] 성적관리 프로그램 // 실험 데이터 처리 프로그램

  • 태스크 단위(Task level) : 하나의 큰 job을 기능에 따라 분할한 작은 프로그램(태스크) 단위로 병렬처리[예] Robot 제어 프로그램: 팔과 다리들을 제어하는 4 개의 태스크들로 분할한 후, 병렬처리 프로세서들간의 정보 교환 필요

Parallel Computer Architecture


Slide10 l.jpg

병렬처리의 단위 (계속)

  • 프로세스 단위(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


Slide11 l.jpg

프로세스-단위 병렬처리의 예

  • P(i+1) // P2(i), P1(i) // P2(i-1), P1(i-1) // P2(i-2)

Parallel Computer Architecture


Slide12 l.jpg

병렬처리의 단위 (계속)

  • 변수 단위(Variable level) : 독립적인 연산에 의해 계산될 수 있는 변수들 간의 병렬처리[예] P1내의 x(i) // y(i)

  • 비트 단위(Bit level) : 가장 낮은 레벨의 병렬처리로서, 데이터 단어를 구성하고 있는 비트들에 대한 독립적 연산들을 병렬처리

Parallel Computer Architecture


Slide13 l.jpg

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


Slide14 l.jpg

SISD 조직

  • 한 번에 한 개씩의 명령어와 데이터를 순서대로 처리하는 단일 프로세서 시스템

    • 성능 향상을 위한 프로세서 내부 구조 : 파이프라이닝(pipelining), 슈퍼 스칼라(superscalar)

Parallel Computer Architecture


Slide15 l.jpg

SIMD 조직

  • 하나의 명령어를 다수의 데이터들에 대하여 동시 실행 다수의 데이터들에 대하여 동일한 연산 수행

  • 배열 프로세서(Array processor)라고도 부름

Parallel Computer Architecture


Slide16 l.jpg

MISD 조직

  • 각 프로세서들은 서로 다른 명령어를 실행하지만,처리되는 데이터들은 하나의 스트림

    • 실제로 설계 및 구현된 사례는 없음

Parallel Computer Architecture


Slide17 l.jpg

MIMD 조직

  • 다수의 프로세서들이 각각 다른 프로그램을 서로 다른 데이터들에 대하여 수행. 대부분의 병렬 컴퓨터들이 이 분류에 해당

    • 밀결합 시스템(tightly-coupled system): 프로세서들이 공유 기억장치(shared memory)를 이용하여 데이터 교환

    • 소결합 시스템 (loosely-coupled system) : 프로세서들이 메시지 전송(message passing)을 이용하여 데이터 교환

Parallel Computer Architecture


Slide18 l.jpg

MIMD 조직 (계속)

Parallel Computer Architecture


1 3 2 l.jpg

1.3.2 구조적 특징에 따른 분류

  • 파이프라인 컴퓨터(Pipeline Computer)

    • 시간적 병렬성(temporal parallelism)을 이용한 중첩 계산(overlapped computation)을 수행하는 시스템

  • 배열 프로세서(Array Processor)

    • 공간적 병렬성(spatial parallelism)을 실현하기 위하여 여러 개의 동기화 된 프로세싱 유니트(processing unit)들로 구성되는 시스템

  • 다중프로세서시스템(Multiprocessor System)

    • 시스템 자원들(기억장치, I/O장치)을 공유하는 여러 개의 프로세서들을 이용하여 비동기적 병렬성(asynchronous parallelism)을 실현하는 시스템

Parallel Computer Architecture


Slide20 l.jpg

배열 프로세서와 다중프로세서의 차이점

  • 프로그램 수행의 독립성

    • 배열 프로세서: 모든 프로세서들이 동일한 프로그램을 동기적으로 수행

    • 다중프로세서시스템: 각 프로세서들이 서로 다른 별도의 프로그램을 비동기적(독립적)으로 수행

Parallel Computer Architecture


1 3 3 l.jpg

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


Slide22 l.jpg

UMA 모델

  • 모든 프로세서들이 상호연결망에 의해 접속된 주기억장치 공유

  • 프로세서들은 주기억장치의 어느 영역이든 액세스할 수 있으며, 그에 걸리는 시간이 동일

Parallel Computer Architecture


Slide23 l.jpg

UMA 모델 (계속)

  • 장단점

    • 장점: 하드웨어가 간단하고, 프로그래밍이 용이

    • 단점: 공유 자원에 대한 경합이 높아지기 때문에 시스템 크기(프로세서 수)에 한계[예] 최대 프로세서 수- 공유-버스를 사용하는 시스템 : 30 개 이하, - 크로스바, MIN을 사용하는 시스템 : 64 개 이하

Parallel Computer Architecture


Slide24 l.jpg

NUMA 모델

  • UMA 모델의 한계를 극복하고 더 큰 규모의 시스템을 구성하기 위한 모델

  • 다수의 UMA 모델들이 상호연결망에 의해 접속

  • 분산 공유-기억장치 (distributed shared-memory) 구조

  • 기억장치 액세스 시간은 기억장치의 위치에 따라 달라짐

    • 지역 기억장치 액세스(local memory access)

    • 전역 기억장치 액세스(global memory access)

    • 원격 기억장치 액세스(remote memory access)

Parallel Computer Architecture


Slide25 l.jpg

NUMA 모델의 일반적인 구성도

Parallel Computer Architecture


Slide26 l.jpg

COMA 모델

  • 특징

    • 시스템 내에 기억장치가 존재하지 않음

    • 각 프로세서가 가지고 있는 기억장치들이 모두 캐쉬로서 동작하며, 하나의 공통 주소 공간을 가짐

    • 다른 캐쉬에 대한 액세스는 분산 캐쉬 디렉토리(distributed cache directory)에 의해 지원

    • 초기에는 데이터들이 임의의 캐쉬에 저장되어 있으며, 실행 시간 동안에 그 데이터를 사용할 프로세서의 캐쉬로 이동

  • 대표적 시스템들: Data Diffusion Machine(DDM), KSR-1

Parallel Computer Architecture


Slide27 l.jpg

COMA 모델의 일반적인 구성도

Parallel Computer Architecture


Norma l.jpg

NORMA 모델

  • 분산-기억장치 시스템(distributed-memory)이라고도 부름

  • 프로세서가 원격 기억장치(remote memory)는 직접 액세스할 수 없는 시스템 구조

  • 프로세서들과 기억장치들은 메시지-전송(message-passing)을 지원하는 상호연결망으로 접속

    • 주요 상호연결망: 매쉬(mesh), 하이퍼큐브(hypercube), 토러스(torus), 등

Parallel Computer Architecture


Norma29 l.jpg

NORMA 모델의 일반적인 구성도

Parallel Computer Architecture


1 3 4 l.jpg

1.3.4 시스템 구성에 따른 분류

  • 대칭적 다중프로세서(Symmetric Multiprocessor: SMP)

  • 대규모 병렬프로세서(Massively Parallel Processor: MPP)

  • 캐쉬-일관성 NUMA(Cache-Coherent NUMA: CC-NUMA) 시스템

  • 분산 시스템(Distributed System)

  • 클러스터 컴퓨터(Cluster Computer)

Parallel Computer Architecture


Slide31 l.jpg

SMP

  • 최대 수십(20~64) 개 이하의 프로세서들로 구성되는 중대형급 시스템

  • 완전-공유 구조(shared-everything architecture) : 프로세서들이 시스템 내의 모든 자원들을 공유

  • 시스템 내에 하나의 OS만 존재

  • 대칭적(symmetric):

    • 모든 프로세서들이 필요 시 직접 OS 코드 수행

    • 모든 프로세서들이 자원들을 동등한 권한으로 사용

Parallel Computer Architecture


Slide32 l.jpg

SMP (계속)

  • SMP의 특징

    • 능력이 비슷한 프로세서들로 구성

    • 프로세서들이 기억장치와 I/O 장치들을 공유하며, 상호연결망에 의해 접속

    • 모든 프로세서들은 동등한 권한을 가지며, 같은 수준의 기능들을 수행

    • 프로세서간 통신은 공유-기억장치를 이용

    • Job scheduling이 하나의 OS에 의해 통합적으로 이루어짐

    • 공유 자원에 대한 경합으로 인하여 시스템 크기에 한계

Parallel Computer Architecture


Slide33 l.jpg

MPP

  • 무공유 구조(shared-nothing)를 기반으로 하는 대규모 병렬처리시스템

  • 수백 혹은 수천 개의 프로세서들로 구성

  • 간단한 구조의 노드 프로세서 사용

  • 마이크로-커널(micro-kernel) 수준의 노드 OS 탑재

  • 노드들 간의 통신은 message-passing 방식 이용

  • 복잡도 높은 상호연결망 이용

    [사례 시스템] CM-5, Cray T3E, IBM BlueGene

Parallel Computer Architecture


Cc numa l.jpg

CC-NUMA

  • 독립적인 노드들(UMA 혹은 NUMA 시스템)이 상호연결망에 의해 접속

  • 모든 노드들의 캐쉬 및 주기억장치들 사이에 데이터 일관성 유지

  • 시스템 내의 모든 기억장치들이 전역 주소공간(global address space)을 가지는 분산 공유-기억장치 시스템(distributed shared-memory system)으로 구성

  • 주요 장점: S/W 변경 없이 SMP보다 더 큰 시스템 구축 가능

    [사례 시스템] DASH, SGI Origin, Sequent NUMA-Q

Parallel Computer Architecture


Cc numa35 l.jpg

CC-NUMA 시스템의 일반적 구성도

Parallel Computer Architecture


Slide36 l.jpg

분산시스템

  • 독립적인 노드(컴퓨터시스템)들이 전통적인 네트워크에 의해 접속

  • 노드들 간의 정보 교환 혹은 병렬처리를 수행할 때만 네트워크를 이용하여 통신 : 소결합 시스템(loosely-coupled system)

  • 노드: PC, workstation, SMP, MPP, 혹은 그들의 조합

Parallel Computer Architecture


Slide37 l.jpg

클러스터 컴퓨터

  • A collection of PCs or workstations

  • 네트워크: 고속 LAN, 혹은 network switch

  • 모든 시스템 자원들을 SSI(Single System Image)로 통합

  • 주요 장점

    • 저렴한 비용으로 병렬처리시스템 구축 가능

    • 결함 대체 용이  가용성(availability) 향상

Parallel Computer Architecture


Ssi scalability l.jpg

SSI 및 scalability 비교

SSI(Single System Image)Scalability: System extendability

Parallel Computer Architecture


Slide39 l.jpg

1.4 병렬컴퓨터의 성능 척도

처리 속도에 대한 척도

  • MIPS(Millions of Instructions Per Second) : 초당 실행 완료되는 명령어들의 수를 나타내는 단위

    • 1 MIPS : 초당 백만(106) 개의 명령어 실행

    • 1 GIPS : 초당 10억 (109) 개의 명령어 실행

    • 1 TIPS : 초당 1조 (1012) 개의 명령어 실행

    • M : MegaG : GigaT : Tera

Parallel Computer Architecture


Slide40 l.jpg

처리 속도에 대한 척도 (계속)

  • 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


Slide41 l.jpg

속도 향상에 대한 척도

  • 속도 향상(speedup: Sp) : p 개의 프로세서를 가진 병렬컴퓨터가 단일프로세서시스템에 비하여 몇 배의 처리 속도를 가지는지를 나타내는 척도Sp = T1 / Tp

  • Sp < p가 되는 주요 요인들

    • 불균등 작업부하

    • 병렬처리 오버헤드들(프로세서 동기화, 프로세서간 통신, 등)

Parallel Computer Architecture


Efficiency l.jpg

효율(efficiency)

  • 투자 비용에 따른 효과를 나타내는 척도

  • 속도 향상과 프로세서 수의 비율Ep = Sp / p = T1 / p Tp

Parallel Computer Architecture


Redundancy l.jpg

중복성(redundancy)

  • 응용 프로그램을 병렬컴퓨터에서 처리하는 경우에 수행되는 연산들의 수(Op)와 단일프로세서시스템에서의 연산들의 수(O1)의 비율Rp = Op / O1

  • R p > 1이 되는 주요 요인: 병렬처리를 위해 추가되는 동작들(오버헤드: 프로세서 동기화 및 프로세서간 통신)

Parallel Computer Architecture


System utilization l.jpg

시스템 이용률(system utilization)

  • H/W resource들이 어느 정도 효율적으로 사용되는지를 나타내는 척도

  • 프로그램 처리의 전체 시간 중 H/W 자원이 busy 상태인 시간의 비율Up = Rp Ep = (Op/ O1 ) (T1 / p Tp)

  • Up < 1가 되는 주요 요인들

    • 불균등 작업부하

    • 데이터 전송 대기 시간

Parallel Computer Architecture


Quality of parallel processing l.jpg

병렬처리의 질(quality of parallel processing)

  • 병렬처리가 어느 정도 효과적으로 이루어졌는지를 나타내는 척도

  • 속도 향상과 효율에 비례, 중복성에 반비례Qp = Sp Ep / Rp

  • Ep < 1, 1 < Rp < p  Qp < Sp

Parallel Computer Architecture


  • Login