더북(TheBook)

 

SECTION 2.4 병렬 실행

정원을 가꾸는 것에 취미가 있는 사람이라면 토마토를 키우는 데 어림잡아 4개월이 걸린다는 것을 알고 있을 것이다. 그렇다면 “1년에 키울 수 있는 토마토의 수는 3개다”라는 말은 사실일까? 거짓일까?

당연히 거짓이다. 우리는 토마토를 한 번에 두 포기 이상 키울 수 있기 때문이다.

앞서 보았듯 순차 실행에서는 한 번에 하나의 명령만을 수행할 수 있었다. 순차 프로그래밍은 프로그래밍을 배울 때 대부분 가장 처음 배우는 방식이다. 그리고 대부분의 프로그램이 이 방식으로 작성된다. 실행하면 main 함수의 처음부터 진행하며 작업(함수)을 하나씩 수행(호출)해나간다.

한 번에 한 가지 일만 할 수 있다는 가정을 내려놓으면, 일을 병렬(parallel)로 할 수 있는 가능성이 생긴다. 토마토를 한 번에 여러 포기 키우는 것과 같다. 그러나 병렬로 실행할 수 있는 프로그램은 그렇지 않은 프로그램보다 작성하기 어렵다. 간단한 비유를 통해 알아보자.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.