[분산 시스템] 2-1. Concurrency

gimseonjin616·2022년 1월 5일
0

분산시스템

목록 보기
11/14

Concurrency(동시성)

Concurrency(동시성)는 CPU 가용성 극대화 위해 Parallelism 의 단점 및 어려움을 소프트웨어(구현)레벨에서 해결하기 위한 방법이다.

1개의 코어는 한번에 한가지의 작업만 처리 할 수 있다. 이때 1개 Core에서 시분할을 통해 2개 이상의 작업을 번갈아가며 처리하는 방식을 동시성 처리라고 한다.

위 그림처럼 동시 작업에 있어서 일정양 처리 후 다음 작업으로 넘기는 방식인데 Task1을 처리하다가 처리 내용을 변경해서 Task2를 처리하는 과정을 작업이 끝날 때 가지 번갈아 반복한다. 이 과정을 시분할이라고 한다.

시분할은 Task 끼리 제어권을 주고 받으며 작업을 처리해나가는 패턴으로 병렬적으로 처리하진 않으나 유사하게 처리한다.

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

기준Concurrency(동시성)Parallelism(병렬성)
구현논리적물리적
동시 실행논리적 패턴물리적 동시 실행
코어싱글 코어 + 멀티 코어멀티 코어
작업 처리한 개의 작업 공유 처리별개의 작업 처리
디버깅 난이도매우 어려움어려움

profile
to be data engineer

0개의 댓글