Search
Duplicate

Concurrency/Parallelism

키워드
운영체제
동시성
병렬성
병행성

알고 싶은 점

병행성(동시성)과 병렬성의 차이

Concurrency

동시성/병행성
동시에 동작하는 것처럼 보이게 하는것
같은 프로세스 내에서 서로 다른 스레드의 Context Switching을 생각하면 좋음.
CPU의 유후 시간을 효율적으로 사용하기 위하여 서로 다른 스레드들이 OS의 스케줄링에 의하여 조금씩 반복적으로 동작하여 사용자는 작업이 동시에 동작하는 것처럼 보이게 하는 것
논리적으로 동시에 동작하는 것처럼 나눠서 작업.

Parallelism

병렬성
실제로 동시에 동작하는것
서로 다른 프로세스의 서로 다른 여러 스레드 환경에서 CPU가 실제로 동시에 작업을 하고 있는것
물리적인 개념으로 실제로 동시에 작업
Data Parallelism, 전체 데이터를 나눠 나눈 데이터들을 각 코어에 배분해 같은 연산을 수행
Task Parallelism, 데이터뿐만 아니라 스레드들도 코어에 배분한다
→ 같은 연산을 쪼개어 수행할 수도 있고 서로 다른 연산을 각각 수행할 수도 있음

결론

병행성(동시성)과 병렬성은 서로 반대개념이라기 보다 병렬성을 지키면서 병행성이 생기기도 함
병행성(동시성)은 한번에 많은 일을 다루는 것, 병렬성은 동시에 많은 일을 처리하는 것

참고자료