Please enable JavaScript.
Coggle requires JavaScript to display documents.
Parallel Processors from Client to Cloud (Network (Graph (Edge:LInk, Node:…
Parallel Processors from Client to Cloud
Parallel Programming
Amdahl's Law
Speedup = 1/{1(1-pralleizable) +prallelizable/100}
Scaling
Strong scaling
fixed size
Weak scaling
size proportional to number of processors
서론
멀티프로세서
최소한 두 개 이상의 프로세서로 구성된 컴퓨터 시스템
Task - level parallelism
다수의 프로세서를 이용하여 독립적인 프로그램 여러 개를 동시에 수행하는 것
클러스터
LAN을 통해서 연결된 컴퓨터들이 하나의 대형 멀티프로세서로 동작을 하는 시스템
멀티코어 마이크로프로세서
한 칩안에 여러 개의 프로세서 집적
Instruction and Data Streams
SISD : Single, Single
Operate elementwise on vectos of data
all processors execute the same instruction a the same time
simplifies synchronization
SIMD: Single, Multiple
MISD : Multiple, Single
MIMD: Multiple, Multiple
Data-level parallelism
독립적인 데이터에 연산을 수행함으로써 얻어지는 병렬성
Vector Processors
Highly pipelined functions units
Stream data from/to vector registers to units
Vector vs Scalar
vector simplify data-parallel programming
Expliit statement of absence of loop-carried dependences
regualr access patterns benefit from interleaved and busrt memory
vector vs Multimedia extensions
vector instructions have a variable vector width, multimedia extension have a fixed width
Multithreading
Performing multiple thread of execution in parallel
Fine-grain multithreading
Coarse-grain multithreading
Simultaneous Multithreading
Dynamically scheduled processor
Intel Pentium-4 HT
Future of Multithreading
Power considerations
simplified microarchitectures
tolerating cache-miss latency
Shared Memory
Shared memory multiprocessor
Synchronize shared variables using locks
Memory access time
UMA vs NUMA
UMA
어떤 프로세서가 메모리에 있는 어떤 워드에 접근하든지 균일한 시간이 걸리는 멀티프로세서
NUMA
단일 주소공간 멀티프로세서의 일종으로 어떤 프로세서가 어떤 워드에 접근하는지에 따라 일부 메모리 접근이 다른 경우보다 훨씬 빠른 멀티프로세서
Example : Sum Reduction
GPU
GPU Architectures
Procesiing is higly data-parallel
Trend toward general purpose GPUs
Programming languages/APIs
NVIDIA GPU 메모리 구조
local memory
멀티스레드 SIMD프로세서 내에 존재하는 온칩 메모리
GPU memory
전체 GPU와 모든 스레드 블록이 공유하는 DRAM
멀티스레드 SIMD 프로세서를 가지고 있음
Message Passing
Send message routing
receive message routine
Cluster
메시지 전달 멀티프로세서를 구성하기 위하여 표준화된 네트워크 스위치와의 입출력장치를 통화여 연결된 컴퓨터들의 집합
Network
Graph
Edge:LInk
Node: processor-memory
Network Bandwidth
bisection bandwidth
멀티프로세서에서 균등하게 분할된 두 부분 간의 대역폭. 최악의 양분에 대한 값을 사용한다.
Bus
Ring
2D mesh
N-cube
Fully connected
모든 노드들을 전용 통신 링크로 연결하는 네트워크
다단계 네트워크
각 노드에 스위치를 둔 네트워크
Crossbar network
임의의 노드가 다른 어떤 노드와 통신을 하든지 네트워크를 한 번만 통과하면 가능한 네트워크
정인섭 2012198001