아카이브

동시성(Concurrency)과 병렬성(Parallelism) 본문

운영체제

동시성(Concurrency)과 병렬성(Parallelism)

주멘이 2018. 5. 29. 18:57

동시성(Concurrency) 

- 싱글 코어에서 멀티 스레드를 동작시키기 위한 방식

- 멀티 태스킹을 위해 여러 개의 스레드가 번갈아가며 실행된다.

- 병렬 실행으로 보이나, 번갈아가며 조금씩 실행되는 것.



병렬성(Parallelism)

- 멀티 코어에서 멀티 스레드를 동작시키기 위한 방식

- 한 개 이상의 스레드를 포함하는 각 코어들이 동시에 실행된다.

데이터 병렬성(Data parallelism)과 작업 병렬성(Task parallelism)으로 구분된다.


데이터 병렬성(Data parallelism) : 전체 데이터를 멀티 코어의 수만큼 쪼개서 각 데이터들을 분리된 스레드에서 병렬 처리

ex) 자바8의 병렬 스트림.

 작업 병렬성(Task parallelism) : 서로 다른 작업들을 병렬 처리

ex) 웹 서버 : 각각의 브라우저에서 요청한 내용을 개별 스레드에서 병렬로 처리한다


.




'운영체제' 카테고리의 다른 글

데드락, 교착상태  (0) 2018.06.02
Cache 정리  (0) 2018.05.29
스케줄링 알고리즘  (0) 2018.05.29
문맥 교환(Context Switch)  (0) 2018.05.29
프로세스 vs 스레드  (0) 2018.05.29