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

Slides:



Advertisements
Similar presentations
1) 지금 IBM 전용 PRINTER 를 LAN 에서 사용할 수 있습니까 ? 예 ! 여기 DPX-5250R 이라는 IBM INTERFACE MODULE 이 있습니다. LAN 에서 PC 나 PRINT SERVER 를 통해 DATA 출력 지원을 합니다. 2) 그럼 UNIX.
Advertisements

- 1 - IT COOKBOOK 컴퓨터 기술 IT COOKBOOK Chapter 01. 서론.
Embedded System 2009 년 11 월 16 일 Embedded Computer1 ● Hardware 와 Software 가 조합되어 특정한 복적을 수행하는 시스템 ● 특정한 기능을 수행하도록 Micro Processor 와 I/O Device 를 내장하며,
ARM core UNIT 03 로봇 SW 교육원 조용수. 학습 목표 PIC, AVR, 8051 ARM 이란 ? ARM 특징 ARM and Thumb ARM Cortex-M0 Interrupt Vector 2.
Dept. Computer Engineering DBLAB 정보처리개론 담당 교수 : 김정석 2009 년도 1 학기.
1/37 Chapter 4: 프로세서 성능과 휴대성을 위한 하드웨어 © The McGraw-Hill Companies, Inc., 세기의 가장 중요한 발명품 : 마이크로 프로세서 일상생활에 널리 사용됨 프로그램에 의한 적응성.
컴퓨터의 기본 개념. 목 차목 차 컴퓨터의 정의 컴퓨터의 세대별 분류 컴퓨터의 분류 컴퓨터의 종류 컴퓨터의 구성 컴퓨터의 동작원리 컴퓨터의 외양 컴퓨터의 내부 구조 단위.
컴퓨터의 구조 2006년 2학기 컴퓨터의 개념 및 실습.
2.1 컴퓨터 시스템의 구성 2.2 컴퓨터 시스템의 정보 표현 2.3 중앙처리장치 2.4 저장장치 2.5 컴퓨터 주변기기
OS 소개 Introduction 설계목표 기본 용어 Resource Management History.
마이크로 컨트롤러 Microcontroller.
2007년 1학기 전산학개론 성신여자대학교 컴퓨터정보학부
소프트웨어와 운영체제.
제8장. RISC 및 슈퍼스칼라 프로세서 8.1 RISC의 출현 동기 8.2 RISC의 발전 경위
제4장 명령어 처리.
경영 정보 시스템 구축 제안서 가우정보기술주식회사 [신화 제약 주식회사] 1997년 10월 9일 새로운 기법 철저한 사후 관리
2장 마이크로프로세서 구성요소 Slide 1 (of 19).
제 2장 컴퓨터 구조.
IT R&D Global Leader Finger Motion 인식 SoC ETRI Technology Marketing
컴퓨터란? (I) nlip.pcu.ac.kr.
정보통신실습 및 특강(5)
컴퓨터 과학 개론 √ 원리를 알면 IT가 맛있다 컴퓨터 과학도를 위한 첫 전공서 ehanbit.net.
Chapter 13 – 병렬 프로그래밍과 병렬 처리
Operating Systems Overview
제어기술 소개 목표 : 제어기의 종류, 제어 방식 등을 살펴본다. 주요내용 제어기의 종류 제어방식 : 시퀀스, 피드백, 등.
임베디드 하드웨어 Lecture #6.
운영체제 (Operating Systems)
컴퓨터 구조학 정보보호학과.
소프트웨어 공학 (Software Engineering)
컴퓨터 구조론 2001년 10월 22일 발표자 황영선.
임베디드 운영체제 (리눅스 중심) Lecture #2.
임베디드시스템 2013년도 가을학기.
Lecture #10 제8장 병렬컴퓨터 구조.
제8장 병렬컴퓨터 구조.
연습문제풀이/도움말.
14장. 병렬 프로세서 다루는 내용 병렬 프로세서로의 개념 병렬 처리와 병렬 컴퓨터 분류 배열 프로세서와 다중 프로세서의 개념
9장 병렬 및 분산 정보검색 목차 9.1 소개 9.2 병렬 정보 검색 9.3 분산 정보 검색(Distributed IR)
컴퓨터 구조.
Chapter 02 시스템 구조(System Structure)
4장. 컴퓨터 시스템의 구성과 기능 다루는 내용 컴퓨터 분해를 통한 본체 살펴보기 컴퓨터 구성요소 컴퓨터의 기능
운영체제 (OS: Operating System)
2장 운영 체제의 개요 운영체제의 개념 운영체제의 유형 운영체제의 발전 과정 운영체제의 구성 운영체제 서비스 시스템 구조
Chapter 7. Pentium Processor
2 운영체제 소개.
운영체제 (Operating System)

6 중앙처리장치의 조직과 기능 IT CookBook, 컴퓨터 구조와 원리 2.0.
컴퓨터 시스템의 개요.
Operating System System Program OS의 목적 OS의 종류 Application Program과 구별
제 2장 컴퓨터의 등장과 발전.
3주 컴퓨터구조.
8086 프로세서의 구조 및 동작 방식 시스템 프로그래밍 - Lecture #2 신라대학교 컴퓨터공학과 시스템 프로그래밍.
병렬 처리/컴퓨터 기초.
이 동 체 심 순 서 2월 테마 “행복의 메아리” 창원 2007년-03월호 창원권 좌담회 기획지
목차 회사소개 회사현황 시스템 구성도 SQL Server 사용 로드맵 프로젝트 개요 DB 마이그레이션
2007년 1학기 전산학개론 성신여자대학교 컴퓨터정보학부
제5장 CPU스케줄링(CPU Scheduling)
컴퓨터 시스템 개관 시스템 프로그래밍 - Lecture #1 신라대학교 컴퓨터공학과 시스템 프로그래밍.
제19강 병렬처리시스템 1.
성균관대학교 전자전기컴퓨터공학과 오영환, 박효진
운영체제(Operating System)
제16,17,18장 분산 시스템.
Data Communications 제2장 데이터통신의 기본 개념.
Chapter 12 Memory Organization
Lecture #6 제5장 기억장치 (1).
국제물류.
정보 INFRA 구축 RF카드를 이용한 고객관리시스템 구축 에클라트소프트.
컴퓨터구조 강의소개 정보통신공학과 한성대학교.
제02장 컴퓨터 개요.
임베디드 하드웨어 Lecture #6.
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

시스템 이용률(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) 병렬처리가 어느 정도 효과적으로 이루어졌는지를 나타내는 척도 속도 향상과 효율에 비례, 중복성에 반비례 Qp = Sp Ep / Rp Ep < 1, 1 < Rp < p  Qp < Sp Parallel Computer Architecture