Management

Concurrency vs Parallelism

젤리젤리젤리젤리젤리 2020. 2. 10. 18:54
반응형

 

동시성(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

 

병행성(Concurrency)와 병렬성(Parallelism)의 차이에 대해

 

nesoy.github.io

https://brownbears.tistory.com/213

 

[Python] 병행성과 병렬성

병행성(Concurrency) 병행성(concurrency)란 컴퓨터가 여러 일을 마치 동시에 하듯이 수행하는 것을 말합니다. 예를 들어 CPU 코어가 하나인 컴퓨터에서 운영체제는 단일 프로세서에서 실행하는 프로그램을 빠르게..

brownbears.tistory.com

* 파이썬 코딩의 기술(P. 339) 중에서.

www.aladin.co.kr/shop/wproduct.aspx?ItemId=254321728

 

Effective Python 2nd 이펙티브 파이썬 : 파이썬 코딩의 기술

아마존 파이썬 프로그래밍 분야 베스트셀러, Effective Python 전면 개정 증보판. 파이썬다운 방식으로 프로그램을 작성하는 방법, 파이썬을 사용하는 가장 좋은 방법에 대한 통찰을 담았다. 2판에서

www.aladin.co.kr

 

반응형

'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