저는 "프로그램의 적정 빌드 시간은 프로그래머가 웹서핑을 시작하지 않을 만큼"이라고 말하곤 합니다만, 지금 하는 프로젝트의 빌드에는 이미 웹서핑을 시작하고 싶을 만큼 시간이 걸리고 있습니다.

프로그램의 빌드 시간을 단축하는 것에는 프로그램의 구조를 개선하는 방법과 좀 더 고사양의 하드웨어를 사용하는 방법이 있을 수 있습니다. IncrediBuild와 같은 분산 컴파일 방법도 있지만 이건 근본적으로는 후자에 포함된다고 생각하고.

프로그래머라면 업무의 효율을 위하여 빌드 시간에도 신경을 써야 한다고 생각합니다만 - 담배 피울 시간 확보를 위해서 빌드 시간은 어느 정도 이상이어야 한다는 농담도 있기는 합니다만. ^^; - 그렇다고 해서 유지보수성을 떨어트릴 정도로 비트는 것은 좋지 않다고 생각을 합니다. 그래서 저는 핌플 이디엄 같은 것을 적용하는 것은 싫어합니다.

프로그램의 구조개선에는 여러가지 방법이 있을 수 있겠지만, 고사양의 하드웨어를 통한 접근 방법은 매우 단순합니다. 더 빠른 CPU와 더 빠른 디스크가 절대 정의이죠. 현재 제 작업용 PC의 CPU는 P4-2.8GHz인지라 여기서 더 빠른 CPU를 사용해서 체감할 수 있는 성능향상이 일어날 가능성은 낮고, 게다가 소켓478 CPU를 구입하는 것도 그다지 내키지 않습니다. 슬슬 PC를 업그레이드해줄 때가 되기도 했고요. 그러고 보니 이 PC는 2004년 2월 11일생인데, 그 때 2.8GHz면 상당히 고사양 아니었나 싶습니다.

이 PC의 디스크는 원인은 모르겠지만 체감적으로 비정상적으로 느리기 때문에 좀 더 빠른 디스크를 달아주기로 했습니다. 디스크라면 PC가 업그레이드 되어도 계속 사용이 가능하고요. 문제는 이게 SATA방식이라는 것인데, 제 PC에는 SATA 컨트롤러가 없습니다. 그래서 SATA 컨트롤러가 별도로 필요하게 되었는데, PC가 업그레이드되면 SATA 컨트롤러가 내장되어있을 것이 틀림없고, 그렇게 되면 별도로 구매한 SATA 컨트롤러는 임무완료가 될 것입니다. Silicon Image 3112/3114 칩이 믿음직스럽지 못한 점도 있고, 아예 Hot Swap/RAID를 지원하는 컨트롤러라면 앞으로도 활용도가 있을 것이라고 생각해서 좀 더 좋은 제품을 선택하기로 했습니다만, 이게 삽질의 시작이었습니다.

제가 선택한 제품은 Promise의 TX 2200 입니다만, 이걸 PC에 장착하고 디바이스 드라이버를 설치한 후 리부팅하자, 네트웍이 안되는 현상이 발생했습니다. 온갖 삽질 끝에 라우터까지는 핑이 가지만, 라우터 밖으로는 못 나간다는 황당한 증상을 발견했습니다. 모종의 이유로 MAC Address가 밴 당했을 가능성을 염두에 두고 다른 MAC Address를 집어넣어보았지만, 여전히 같은 증상. 다른 PC에서 - 아직도 온보드가 아닌 랜카드를 달고 있는 PC가 남아있더군요. 놀랐습니다. - 랜카드를 빌려다가 테스트해보았으나 역시 같은 증상이었습니다. 결국은 윈도우즈 재설치에 희망을 걸고 윈도우즈를 재설치한 후에 드라이버를 설치, 이번에는 별 문제없이 이렇게 글을 쓸 수 있게 되었습니다. 아직도 진짜로 TX 2200의 드라이버가 문제를 일으킨 것인지는 알 수 없습니다만, 안되기 시작한 시점에 있었던 변화라고는 TX 2200을 장착한 정도라서 의심을 하지 않을 수가 없군요.

하지만, 여기에 달린 디스크가 윈도우즈에서 인식이 안되는 상태. TX 2200의 바이오스에 들어갔지만, 제대로 동작하는 메뉴가 없는 것으로 보아서 무언가 잘못되었다고는 알 수 있었지만, 해결책은 도통 찾을 수가 없었습니다. 잠정적으로는 HDD를 2대 달아서 RAID로만 써야하는 것이 아닌가 하는 의심을 품기 시작했습니다만. 의외로 해결책은 간단하더군요. FAQ에 있더군요. 정말 당황스러웠습니다.
By default all brand new drives are recognized as JBOD by Fastbuild (Promise bios setup utility). To go around this a drive must first be set to SPARE in Fastbuild. To do this go to option "View Drive Assignments" and highlight the drive you wish to set to SPARE and hit the space bar key. This will then prompt user to set the drive to SPARE. Once all drives are set to SPARE exit "View Drive Assignments" and select option "Define Array" to setup the desire raid setup and drive should now be available in list to setup the raid.

아니 이런 것은 바이오스 화면에서 스페이스바를 누르면 된다는 것을 알려줘야할 것 아닙니까. 왜 다른 단축키는 설명해놓고 스페이스바만 생략을. :( 게다가 매뉴얼에도 설명이 없고.

어쨌거나 이렇게 어처구니없이 해결이 되었습니다만, 디스크 한개로 RAID 0로 동작하고 있는게 좀 마음에 안듭니다. 뭐 문제가 될 것은 없겠지만 공돌이 마인드로 볼 때 깔끔하지 않은 것 같습니다.

어쨌거나 이로서 오늘의 삽질은 끝나고, 윈도우즈를 재설치한 관계로 빌드 속도 테스트는 내일로 넘어가게 되었습니다.

'전뇌' 카테고리의 다른 글

이미지 다운로더 아이디어.  (1) 2006.12.21
팔목 받침대  (2) 2005.08.27
그와 그녀의 사정  (2) 2005.08.12
top