Please enable JavaScript.
Coggle requires JavaScript to display documents.
6장 : Parallel Processors from Client to Cloud (6.3 SISD, MIMD, SIMD, SPMD,…
6장 : Parallel Processors from Client to Cloud
6.1 Introduction
멀티프로세서 : 두 개 이상의 프로세서로 구성된 컴퓨터 시스템
클러스터 : LAN을 통하여 연결된 컴퓨터들이 하나의 대형 멀티프로세서로 동작하는 시스템
SMP : 단일 실제 주소공간을 갖는 병렬 프로세서
6.11 Real Stuff : Benchmarking and Rooflines of the Intel Core i7 960 and the NVIDIA Tesia GPU
6.2 The Difficulty of Creating Parallel
Strong scaling : 문제의 크기를 고정시킬 때 멀티프로세서에서 얻을 수 있는 속도 개선
Weak scaling : 프로세서의 개수에 비례하여 문제의 크기를 크게 할 때 멀티프로세서에서 얻을 수 있는 속도 개선
6.3 SISD, MIMD, SIMD, SPMD, and Vector
SISD : Single Instruction stream, Single Data stream, 단일 프로세서
MIMD : Multiple Instruction streams, Multiple Data Streams, 멀티프로세서
SPMD : 단일 프로그램, 복수 데이터 스트림.
Vector 구조 : 메모리에서 데이터 원소들을 꺼내서 큰 레지스터 집합에 넣은 다음, 레지스터에 있는 데이터에 대하여 파이프라인 실행 유닛을 사용하여 순차적으로 연산, 결과를 메모리에 저장
6.4 Hardware Multithreading
하드웨어 멀티스레딩 : 한 스레드가 실행할 수 없게 되면 다른 스레드로 전환하여 프로세서의 이용률 높이는 기법
프로세스 : 프로세스는 한 개 이상의 스레드와 주소공간, 운영체제 상태 가짐
스레드 : 프로그램 카운터, 레지스터 상태, 스택 가짐
SMT : 다중 내보내기와 동적 스케줄링을 지원하는 마이크로아키텍처의 자원을 활용, 멀티스레딩 비용을 줄이는 방식
6.5 Multicore and Other Shared Memory
SMP, UMA, NUMA
OpenMP : UNIX나 MS 플랫폼에서 수행되는 공유 메모리 멀티 프로세싱을 위한 API
6.6 Introduction to Graphics Processing
GPU는 CPU를 돕는 가속기이다. CPU가 수행하는 모든 작업을 다 수행할 필요 X. 모든 자원을 그래픽만을 위해 사용 가능
6.7 Clusters, Warehouse Scale Computers, and Other Message-Passing Multiprocessors
메시지 전달 : 명시적으로 정보를 보내고 받음으로써 프로세서 간의 통신을 수행하는 방식
메시지 전송/수송 루틴
SaaS : 고객의 컴퓨터에 장착되어 수행되는 소프트웨어를 판매하는 것이 아니라, 소프트웨어는 원격지에서 실행되고 고객은 웹 인터페이스를 통해 인터넷으로 사용
6.8 Introduction to Multiprocessor Network Topologies
Network bandwidth : 비공식적으로 네트워크의 최대 전송률을 나타냄 한 링크의 속도 또는 네트워크 전체 링크의 전송 속도의 합을 나타냄
Fully connected network : 모든 노드들을 전용 통신 링크로 연결하는 네트워크
Multistage Network : 각 노드에 스위치를 둔 네트워크
Crossbar network : 임의의 노드가 다른 어떤 노드와 통신을 하든지 네트워크를 한 번만 통과하면 가능한 네트워크
6.10 Multiprocessor Benchmarks and Performance Models
Pthreads : 스레드를 생성하고 조작하는 UNIX API, 라이브러리의 형태로 되어 있다.
연산 강도 : 프로그램에서 메모리에 접근하는 바이트당 부동소수점 연산의 비
계산 병목 최적화 - 부동소수점 연산의 혼합, 명령어 수준 병렬성의 개선 및 SIMD의 적용
메모리 병목 최적화 - 소프트웨어 선인출, 메모리 친화도
6.12 Going Faster : Multiple Processors and Matrix
6.13 Fallacies and Pitfalls
오류 : 병렬 컴퓨터에 암달의 법칙은 적용 X
오류 : 최고 성능은 실제 성능을 반영
함정 : 멀티프로세서 구조를 이용하는 혹은 멀티프로세서에 최적화된 소프트웨어를개발하지 않는 것
오류 : 메모리 대역폭을 제공하지 않고도 좋은 벡터 성능을 얻을 수 있다.