상세 컨텐츠

본문 제목

[CA] 컴퓨터 구조 - 2 ( 병렬처리 )

CA / OS

by 부레두 2024. 3. 22. 21:34

본문

병행성과 병렬성

→몇 개의 코어가 몇 개의 함수를 처리하는지 ?

 

병행성 ( Concurrency )  병렬성 ( Parallelism )
하나의 코어가 다수의 프로그램 처리 다수의 코어 하나의 프로그램 처리
한 순간에 하나의 프로세스만 처리 한 순간에 두 개 이상의 프로그램이 처리
Multi-Programming, Multi-Processing Multi-Processor, Multi-Threading

 

→ Race Condition 발생 가능

⇒ Mutex 안 Critical Section으로 해결 가능

⇒ Semapore


메모리 공유 방식

→ 프로세서들이 처리하는 명령어들과 데이터들의 흐름 수로 분류한 방식

  • Flynn의 분류


멀티코어

→ 2개 이상의 독립적인 프로세서들을 단일 패키지로 통합한 것

→ 하나의 CPU에 여러 독립 실행코어로 프로그램을 병렬적으로 처리

  • 멀티코어 SW 기술
구분  설명
OpenCL
(Open Computing Language)
크로노스 그룹에서 유지 및 관리
개방형 범용 병렬 프레임워크

여러 CPU, GPU 및 기타 프로세서로 이루어진 다중 플랫폼에서의 구동하는 데이터 및 테스크 병렬성을 고려해 작성
WebCL OpenCL이 지원되는 시스템에서 ‘이기종 멀티코어’ 기능을 활용해 웹브라우저 성능을 가속할 수 있도록 지원하는 인터페이스
CUDA 2006년 NVDIA에서 발표한 병렬 컴퓨팅 시스템

 

  • AMP ( Asymmetric Multicore Processor )
    →  이종형의 다른 아키텍처의 프로세서를 사용해 병렬 처리가 가능하도록 한 프로세서
  • APU ( Accelerated Processing Unit )
    → 발열, 전력 소모가 심한 그래픽카드의 대체제
    → 연산을 책임지는 CPU와 그래픽 연산을 책임지는 GPU를 합해 만든 성능 가속 프로세서
  • GPU, GPGPU
    → GPU를 그래픽 연산만 아니라 일반 컴퓨팅 영역에서도 사용하고자 하는 컴퓨터 체계

 

CPU  GPU  GPGPU
큰 용량의 캐시 메모리    
제한된 CPU 코어로 구성 control, cache 부분을 간소화한 많은 수의 코어 집적 구성 여러 개의 GPU를 집적해 벡터연산을 병렬성을 수행
복잡한 계산을 수행 단순한 병렬 계산을 수행 GPU 계산결과를 CPU와 교환

 

  • CUDA ( Compute Unified Device Architecture )
    → NVDIA에서 개발한 ‘GPU에서 수행하는 알고리즘을 C 언어를 비롯한 산업 표준 언어로 작성할 수 있게 하는 GPGPU 기술

'CA / OS' 카테고리의 다른 글

[CA] 메모리 단편화  (0) 2024.08.06
[CA] 프로세스 / 메모리  (0) 2024.04.17
[CA] 컴퓨터 구조 - 1 ( CPU, GPU )  (1) 2024.03.22

관련글 더보기