→몇 개의 코어가 몇 개의 함수를 처리하는지 ?
병행성 ( Concurrency ) | 병렬성 ( Parallelism ) |
하나의 코어가 다수의 프로그램 처리 | 다수의 코어 하나의 프로그램 처리 |
한 순간에 하나의 프로세스만 처리 | 한 순간에 두 개 이상의 프로그램이 처리 |
Multi-Programming, Multi-Processing | Multi-Processor, Multi-Threading |
→ Race Condition 발생 가능
⇒ Mutex 안 Critical Section으로 해결 가능
⇒ Semapore
→ 프로세서들이 처리하는 명령어들과 데이터들의 흐름 수로 분류한 방식
→ 2개 이상의 독립적인 프로세서들을 단일 패키지로 통합한 것
→ 하나의 CPU에 여러 독립 실행코어로 프로그램을 병렬적으로 처리
구분 | 설명 |
OpenCL (Open Computing Language) |
크로노스 그룹에서 유지 및 관리 개방형 범용 병렬 프레임워크 여러 CPU, GPU 및 기타 프로세서로 이루어진 다중 플랫폼에서의 구동하는 데이터 및 테스크 병렬성을 고려해 작성 |
WebCL | OpenCL이 지원되는 시스템에서 ‘이기종 멀티코어’ 기능을 활용해 웹브라우저 성능을 가속할 수 있도록 지원하는 인터페이스 |
CUDA | 2006년 NVDIA에서 발표한 병렬 컴퓨팅 시스템 |
CPU | GPU | GPGPU |
큰 용량의 캐시 메모리 | ||
제한된 CPU 코어로 구성 | control, cache 부분을 간소화한 많은 수의 코어 집적 구성 | 여러 개의 GPU를 집적해 벡터연산을 병렬성을 수행 |
복잡한 계산을 수행 | 단순한 병렬 계산을 수행 | GPU 계산결과를 CPU와 교환 |
[CA] 메모리 단편화 (0) | 2024.08.06 |
---|---|
[CA] 프로세스 / 메모리 (0) | 2024.04.17 |
[CA] 컴퓨터 구조 - 1 ( CPU, GPU ) (1) | 2024.03.22 |