[클라우드컴퓨팅/CloudComputing] DCC2. Cluster

SooYeon Yeon·2022년 6월 6일
0

Computer Cluster

  • massive parallelism
  • High availability(HA)
  • 하나가 망가져도 괜찮음
  • 병렬
  • low-cost servers, cost-effectiveness, scalability, HA features
  • 저렴한 컴퓨터를 여러개 씀
  • Homogeneity (여러종류 아니고 통일)

Cluster Family Classification

  • computer clustsers
    • 고성능 컴퓨팅에 대안, 연산량 높음
  • high availability clusters
    • redundancy 높음, 단일 고장점 피함
  • load-balancing clusters
    • single virtual machine, middleware

CUDA

  • 병렬 컴퓨팅 아키텍쳐 by NVDIA
  • Concurrently(동시에), 큰 문제를 작은 것들로 나누어 해결

task parallelism

  • ABCD를 AB / C*D로 나눔

data parallelism

  • data partitions (block, cycle)

GPU

CUDA의 Heterogeneous Architecure

  • CPU(host)와 GPU(device)를 모두 사용함
  • Straming Multiprocessors
  • Single Instruction Multiple Thread
  • 각 쓰레드는 register state가지고, 각 쓰레드는 특정 범위내에서 독립적

global : CPU(호스트)에서 호출되지만 GPU의 멀티코어에서 실행됨

<<< >>> : 함수가 GPU에서 실행되게함. <<<1,10>>> 이거는 쓰레드10개

CUDA programming structure

  1. GPU 메모리 할당
  2. 데이터를 CPU에서 GPU로 Copy
  3. CUDA 커널이 program-specific computation 수행
  4. 데이터를 GPU에서 CPU로 다시 Copy
  5. GPU 메모리 destroy

0개의 댓글