김종천 MDS테크놀로지 DT사업부 차장


▲ 김종천 MDS테크놀로지 DT사업부 차장


[아이티데일리]Increasing cores & Performance

필자의 회사는 3년마다 PC를 새것으로 바꾸어 주고 있다. 5년 전인 2008년에 구입했던 PC에는 듀얼코어 프로세서가 탑재되어 있었지만 2011년에 구입하여 사용하고 있는 PC에는 쿼드코어 프로세서가 탑재되어 있다.
PC뿐만 아니라 스마트폰에 들어가는 CPU에도 듀얼코어는 기본이고, 쿼드코어 프로세서를 많이 사용하고 있는 추세이다. 이렇게 높은 비용과 기술적인 어려움을 무릅쓰고 코어 개수를 늘리는데 집착하는 이유는 무엇일까? 아마도 코어 수의 증가가 성능향상으로 연결된다는 법칙 때문일 것이다. 그렇다면 코어 수의 증가가 성능 향상을 가져온다는 이 법칙을 소프트웨어 개발 업무에도 한번 적용시켜보도록 하자.

 

Multi-core & Compile

소프트웨어 개발업무는 좋건 싫건간에 ‘빌드(Build) - 테스트(Test) - 릴리즈(Release)’를 계속 반복하게 되어 있다. 특히 위 3가지 중 ‘Build’는
코드 수정 후에 반드시 이루어져야 하는 과정으로(개인차가 있겠지만) 하루에 적게는 한두 번에서 많게는 열 번 이상의 빌드 작업을 필요로 한다.
이러한 ‘빌드’와 멀티코어 프로세서는 도대체 어떠한 관계가 있을까?
아래의 <그림1>을 보고 한 번 생각해보도록 하자.


▲ 그림 1 단일 코어의 빌드 과정


 

빌드 작업을 수행하는 동안 수많은 소스 파일들이 오브젝트 파일로 변경되고, 오브젝트 파일이 링크되어 결과물인 실행파일이 생성된다. 만약 우리가 사용하는 PC의 코어가 하나라면 어떨까? 아마도 아래의 1번부터 18번의 과정을 차례로 거쳐야 하나의 결과물을 생성해 낼 수 있을 것이다.

 


<이하 상세 내용은 컴퓨터월드 8월 호 참조>




저작권자 © 컴퓨터월드 무단전재 및 재배포 금지