본문 바로가기
etc

Incredibuild

by (주)엠플 2010. 7. 15.

분산빌드컴퓨팅이란? 네트워크에 공유된 PCs의 자원을 활용하여 대용량의 Source Code를 여러대의 PC에 분산하여 Build하는 것을 말합니다.

왜 분산빌드가 필요한가?  아래의 그림은 Visual Studio 기반에서 분산빌드를 운영했을 때, 분산빌드하는 Agent(Client PC)수에 따라 Build Time이 단축되는 성능비교표 입니다.


IncrediBuild의 시스템구성도는 아래 그림과 같습니다.

IncrediBuild는 Server(Coordinator)와 Client(Agent)로 구성됩니다.
*Coordinator: Agent가 분산빌드를 요청하면 여러대의 Helper Agent에게 Build를 할당하는 모니터링 서버
*Agent: 네트워크에 공유된 하나의 PC로써, 분산빌드를 요청하는 주체
*Helper Agent: Agent가 분산빌드를 요청할 때, 빌드를 할당받아 빌드를 도와주는 PC

Visual Studio 기반위에 Incredibuild를 설치하며, 아래의 그림과 같이 Visual Studio 메뉴바에 플러그인 되어 운영됩니다.
Visual Studio의 Build 명령과 동일한 역할을 하며, 분산빌드 시 Build Time을 직관적으로 보여줍니다.


IncrediBuild는 Visual Studio Build 뿐만 아니라, Make Build를 지원합니다.
Make Build에서는 일반적으로 로컬PC의 CPU를 공유하여 Build를 분산하기 위한 "parallel make" mode를 사용하고 있습니다.
gmake에서 "parallel make" mode를 운영하기 위해서는 Makefile에 "The -j [N] or --jobs[=N] command line option"을 작성해주면 됩니다.
하지만, "parallel make" mode 역시, CPU자원의 제약으로 효율적이지 못 하므로 IncrediBuild는 "Distributed Parallel Make"로 가용성을 확보하고 있습니다.

IncrediBuild License는 Visual Studio Bundle과 XGE Bundle이 있습니다.
첫째, Visual Studio Bundle은 Visual Studio Build에서 운영되며, Visual Studio 6.0부터 2008까지 지원합니다.
둘째, XGE Bundle은 Make Tool, Scripts에서 운영됩니다.
셋째, Multiple CPU/Core Extension Package은 옵션이며, Multiple CPU 및 Cores가 설치된 PC에 설치할 수 있습니다. IncrediBuild는 CPU Core마다 빌드를 분산할 수 있으며, 만약 CPU가 Dual Core라고 하면, 한대의 Agent가 아닌 두대의 Agent가 분산빌드를 진행하게 되므로 가용성이 뛰어납니다.

30일판 평가판은 http://www.xoreax.com/download_center.php에서 다운로드 가능합니다.

댓글