[컴퓨터 기초] 동시성과 병렬성

Robert.Yang·2023년 3월 19일
1

컴퓨터 기초

목록 보기
14/28
post-thumbnail

이 강좌는 널널한 개발자님의 강의를 기반으로 작성한 글입니다.

동시성과 병렬성

동시성

여러 가지 일이 동시에 진행되는 것!

예를들어, 라면먹는 일과 TV보는 일은 하나의 독립적인 개별 사건이다. 이 일을 문제 없이 동시에 할 수 있으면 이 사건들은 동시성이 있다라고 말할 수 있다. 만약 그게 동시에 일어날 수 없다면 동시성이 없다는 것으로 말할 수 있다. 또 다른 예를 들어보자. 우리가 어떤 게임을 설치받고 있다고 하자. 그 게임을 설치받는 동안 우린 크롬에서 유뷰트를 접속하여 영상을 시청이 가능하다. 이 2개의 사건은 동시성이 있다고 볼 수 있다. 서로의 사건이 상호간섭없이 연산하고 실행이 가능하기 때문이다.

어떻게 보면 번갈아가면서 독립적인 개별 사건을 처리하는 것도 동시성이라고 볼 수 있다.
또 다른 예로 하나의 커피머신에 n개의 줄이 있고 번갈아가며 커피를 타는 모습이 동시성이 있다고 볼 수 있다.

즉, 다시 요약하자면 동시성이란 서로 다른 2가지 일이 동시에 일어나는 것이라고 볼 수 있다.

병렬성

동시성과 같이 쓰이는 용어가 병렬성이다.

같은 일을 여러 주체가 함께 동시에 진행하는 것!

예를들어, 인형 눈을 붙이는 작업이 있다고 하자. 그런데 이 작업을 하는 사람이 1명일때 보단, 여러사람이 작업을 하는게 더 효율적일 것이다. 이런 인형에 눈 붙이는 일은 병렬성이 있다라고 말할 수 있다.

즉, 어떻게 보면 병렬성 또한 동시성 범주에 포함될 수 있을 것이다.

병렬성은 동시성과 달리 물리적으로 동시에 정확히 실행되는 것을 말한다.

그럼 이런 병렬성은 어디서 확인이 가능할까? 바로, 비트코인의 채굴이 이런 병렬성을 띄운다. 코인을 채굴할때 GPU를 통하여 해시연산을 하는 작업인데 그래픽카드의 GPU 여러 유닛이 이 작업을 진행하는것이다. 이것을 병렬성이라고 볼 수 있다. 또 다른 예로 영상처리를 할때 픽셀단위로 합성을 하는데 이것도 여럿이 진행을 하면 더 빨리 가능함으로 이런 영상처리도 병렬성을 이용한다고 볼 수 있다.

또 다른 예로 n개의 커피머신의 n개의 줄이 있는 모습을 볼 수 있다. 이 때 각 커피머신마다 하나의 줄을 가지고 있어 각각의 줄마다 커피를 받아가는 모습이 병렬성이 있다고 볼 수 있다.

profile
모든 것을 즐길 줄 아는 개발자, 양성빈입니다.

0개의 댓글