Presentation is loading. Please wait.

Presentation is loading. Please wait.

병렬 처리/컴퓨터 기초.

Similar presentations


Presentation on theme: "병렬 처리/컴퓨터 기초."— Presentation transcript:

1 병렬 처리/컴퓨터 기초

2 병렬처리 개요 멀티프로세서/병렬컴퓨터 (Multiprocessor) : Parallel processors with a single shared address. 병렬처리 프로그램 (parallel processing program) : A single program that runs on multiple processors simultaneously. 클러스터 (cluster) : A set of computers connected over a local area network (LAN) that function as a single large multiprocessor. 멀티프로세서와 클러스터를 설계/구성할 때 생각해야할 중요한 이슈는 : 1) How do parallel processors share data? 2) How do parallel processors coordinate? 3) How many processors?

3 슈퍼컴퓨터가 채용한 멀티프로세서 형태 상황

4 How do parallel processors share data?
어떻게 데이터를 공유하고 관리하는 가에 따라 병렬프로세서는 2 형태로 나뉜다. 1) Shared Memory 2) Message Passing Shared Memory Processor (Single Address Space) : 여러 프로세서들이 서로 공유하고 있는 메모리(변수)를 통해서 데이터를 공유한다. (이를 이해하기 위해서 프로그램에서 전역변수 (Global Variable) 또는 객체지향 프로그램에서 Static Variable 을 연상하기 바란다) 1) SMP/UMA (Symmetric MultiProcessor, Uniform Memory Access) : same time to access main memory no matter which processor requests it and no matter which word is requested. 2) NUMA (Non Uniform Memory Access) : 프로세서의 위치와 요구하는 데이터에 따라 메모리 액세스 시간 차이가 있는 것 Message Passing Multiprocessor (프로세서들이 각기 고유의 메모리 지님) : Cluster에서와 같이 각 프로세서들이 send 및 receive 메시지를 주고 받으면서 교신을 하면 보조를 맞춤.

5 Shared Memory 멀티프로세서의 메모리 액세스 시간 및 통신방식의 따른 멀티프로세서 구분

6 멀티프로세서 확산의 걸림돌 : 프로그래밍 멀티프로세서가 제 성능을 보이려면 멀티프로세서의 특성을 잘 활용하는 프로그램이 선행되어야 한다. 그런데, 이런 프로그램을 구현하는 것이 간단하지 않다. 1) 통신 오베헤드: 다수의 프로세서들이 서로 필요로 하는 데이터를 교환하고 통제하는 것 2) 멀티프로세서의 하드웨어/아키텍쳐에 대한 이해 필요 : 단일 프로세서에서는 이 일은 대부분 컴파일러가 알아서 해결해 주므로 프로그래머는 신경 쓰지 않음. 3) 병렬처리 알고리즘 설계 : 매우 까다로움

7 버스방식의 멀티 프로세서 각 프로세서들이 고유의 캐시를 갖고 있으면서 메모리 액세스가 대부분 캐시에서 처리된다. 고유한 별도의 (Private) 캐시를 갖는 멀티프로세서에서와 같이 버스 방식의 멀티프로세서들은 각 캐시에 있는 데이터들의 일치성 (Cache Coherence) 을 제공해야 한다. - Snooping : 버스를 모니터하면서 캐시에 있는 데이터가 유효한지… - Semaphore : 프로그램에서 프로세스 통제

8 네트워크로 연결된 멀티프로세서

9 멀티 프로세서 구분

10 현재 가장 일반적으로 쓰이고 있는 멀티프로세서 형태
SMP 는 shared memory 멀티프로세서로 대부분 같은 컴퓨터 본체에 구현된다. 데이터 교환은 버스나 네트워크를 활용. - The most critical problem in SMP design is cache coherency. Cluster is a group of interconnected, whole computers working as a unified computing resource. A NUMA system is a shared-memory multiprocessor in which the access time from a given processor to a memory word varies with the location of the memory word.


Download ppt "병렬 처리/컴퓨터 기초."

Similar presentations


Ads by Google