반응형
동시성(Concurrency)
동시에 실행되는 것처럼 보이는 것.
컴퓨터가 같은 시간에 여러 다른 작업을 처리하는 것처럼 보이는 것을 뜻한다. CPU 코어가 하나뿐인 컴퓨터에서 운영체제는 유일한 프로세서 코어에서 실행되는 프로그램을 아주 빠르게 변경할 수 있다. 이렇게 하면 여러 프로그램이 번갈어가면 실행되면서 프로그램이 동시에 수행되는 것 같은 착각을 불러일으킬 수 있다.
- Logical Level에 속한다.
- Single Core
- 물리적으로 병렬이 아닌 순차적으로 동작할 수 있다.
- 실제로는 Time-sharing으로 CPU를 나눠 사용함으로써 사용자가 Concurrency를 느낄 수 있도록 한다.
- Multi Core
- 물리적으로 병렬로 동작할 수 있다.
- Case
- Mutex, Deadlock
병렬성(Parallelism)
실제로 동시에 작업이 처리가 되는 것.
같은 시간에 여러 다른 작업을 실제로 처리하는 것을 뜻한다. CPU 코어가 여러 개인 컴퓨터는 여러 프로그램을 동시에 실행할 수 있다. 각 CPU 코어는 서로 다른 프로그램의 명령어를 실행하기 때문에 각각의 프로그램이 같은 시점에 앞으로 진행될 수 있다.
- Physical(Machine) Level에 속한다.
- 오직 Multi Core에서만 가능하다.
- Case
- OpenMP, MPI, CUDA
Reference
https://nesoy.github.io/articles/2018-09/OS-Concurrency-Parallelism
https://brownbears.tistory.com/213
* 파이썬 코딩의 기술(P. 339) 중에서.
www.aladin.co.kr/shop/wproduct.aspx?ItemId=254321728
반응형
'Management' 카테고리의 다른 글
PoC vs Pilot (0) | 2020.03.03 |
---|---|
개발 vs 코딩 (0) | 2020.02.11 |
프로세서 vs 프로세스 (0) | 2020.02.10 |
소프트웨어 개발비용 산정 기법 (1) | 2020.02.10 |
Go (프로그래밍 언어) (0) | 2020.02.09 |