원문보기

Joel on Software

Solid State Disks

By: Joel Spolsky

  Friday, March 27, 2009


  FogBugz 개발자 중 한명이 컴파일이 너무 느리다고 (약 30초) 불만을 이야기 했습니다. 느린 컴파일 시간 때문에 복도에서의 칼싸움(Sword fights in the hallway) 이 너무 자주 일어난다는 겁니다. (이미지 참조 - http://xkcd.com/303/) 그는 제게 개발자를 몇주간 투입해서 병렬처리를 통해 컴파일 시간을 끌어올릴 방법을 찾는 것이 어떻겠냐고 제안했습니다. 우리는 모두 멀티 코어 CPU와 넉넉한 메모리를 갖고 있으니까요.

  
  저는 문제해결을 위해 비싸고 귀중한 개발자들의 시간을 투입하기 보다는, 먼저 돈을 써보는 것이 더 좋겠다고 생각했습니다. 그리고, 저는 인텔 X25-M SSD에 관한 아난드(Anand Lal Shimpi)의 최신 리뷰를 막 읽었을 때였습니다. 그래서 저는 여기있는 하드디스크 중 몇개를 SSD로 바꿔서 성능 개선에 도움이 되는지 실험을 해보기로 하였습니다.

  첫번째 실험은 FogBugz 월드 투어를 위해 구입했던 18개월된 구형 IBM Thinkpad X61 노트북을 업그레이드 하는 것이었습니다. NewEgg.com에서 160GB Intel X25-M 하드드라이브가 장착된 신모델을 760 달러에 구입했었습니다.

  여러분의 이전 하드 디스크를 메인 부트(Main boot) 하드 디스크를  새 하드디스크로 교체하는 하는 기술은 파티션, MBR, 그리고 데이터를 완전히 똑같이 새 하드로 복제하는 것입니다. 이 기능을 하는 프로그램이 몇가지 있습니다. 오픈 소스 어플리케이션인 Clonezilla가 있습니다만, 이건 여러분의 시간이 무가치할 때만 진짜 공짜 입니다.

  다른 인기있는 상용 프로그램들 중 제가 사용해본 두가지는 Symantec Norton Ghost 14Acronis Migrate Easy 7.0 입니다.

  Thinkpad에서 고스트와 미그레이트 모두 잘 동작하지 않았습니다. 제 생각에는 아마도 Thinkpad의 MBR에 뭔가 특이한 것이 있는 것 같습니다. 하드 드라이브를 복제하기 위해 시도할 때마다, 부팅이 안됬습니다. 하루하고도 반나절을 여러가지 방법으로 해보다가 날렸습니다. 심지어 우반투(Ubuntu) Live CD로 부팅해서 모든 파일을 복사하는 방법까지 해봤습니다만, 소용 없었습니다. (이 방법은 정상적으로 동작하지 않았습니다. 윈도우는 돌아가는 것처럼 보였지만, 많은 작은 부분들이 실제로는 깨져있었습니다.)

  결국, 저는 포기하고 모든걸 다시 설치할 수 밖에 없었습니다. 재미는 없었지만, 지금 전 더 크고 더 빠른 SSD를 장착한 새 노트북을 갖게 되었습니다.

  한가지 장비는 정말로 유용합니다. Thermaltake BlacX Docking Station 입니다. (이미지 참조) 이것은 2.5인치와 3.5인치 SATA 하드 디스크를 통째로(raw) 구울 (toaster)수 있습니다. 어떤 하드드라이브던지 위에 꽂고 USB 2.0으로 PC에 연결하면, 확실히, 여러분의 하드디스크는 연결된 것입니다. NewEgg.com에서 37달러에 살 수 있습니다.


  간단한 벤치마킹 테스트를 해보았습니다. 여기서 나오는 숫자들을 심각하게 받아들이지는 마십시요. 저는 많은 테스트를 해보지도 않았고, 모든 것을 정확하게 테스트하기는 매우 어렵습니다. 부팅 시간은 2:11 에서 0:34로 줄었습니다. 이 시간은 부팅에서 화이어폭스 브라우져로 (Firfox) Goole.com에 접속하는데 까지 걸린 시간입니다. 6개의 메이저 어플리케이션을 시작하는 시간은 20초에서 10초로 줄었습니다. 일반적으로, 프로그램을 구동하는 시간이 빨라지면 엄청나게 큰 차이를 만들어내며, 이것은 완전히 가치있는 일입니다. 이 작은 노트북은 이제 제가 사용해왔던 컴퓨터 중에서 가장 빠른 컴퓨터가 되었습니다.

  제 다음 실험은 메인 데스크탑(Desktop) Dell Optiplex 745를 업그레이드 하는 것입니다. 이번에는 Acronis Migrate Easy가 한번에 완벽하게 동작했습니다. 문자 그대로, 제가 한일은 하드 드라이브를 복제하고, 컴퓨터를 끄고, 새 하드로 바꿔달고, 끝이었습니다. 짜잔~

  갑자기, 모든 것이 빨라졌습니다. 부팅, 프로그램 시작, 심지어 아웃룩(Outlook)조차 1초 안에 사용할 수 있게 되었습니다. 이것은 정말로 대단한 업그레이드 였습니다.

  하지만... 컴파일 시간은, 음, 그리 많이 빨라지지 않았습니다. 컴파일 시간은 30초에서... 30초로 줄었습니다.

  우리가 사용하는 컴파일러는 싱글 쓰레드(single threaded)이고, 아마도 제 추측에는, CPU 관련된 작업이 IO 관련된 작업보다 훨씬 더 많은 것 같습니다. 뭐, 좋습니다. 우리는 아마도 모든 개발자의 데스크탑을 SSD로 업그레이드 할 것입니다. 왜냐하면 컴파일 외에 다른 모든 것을 팔팔하게(snappy) 만드는 것은 그들의 삶을 향상시킬 것이기 때문입니다. 하지만 여전히 컴파일러를 병렬화 하는데 개발자들의 시간을 들여야 한다는 압박은 남아있습니다.
(끝)

저자에 관하여
Posted by 지그프리드 지그프리드

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절


BLOG main image
일상, 프로그래밍, IT 그리고 직장생활, Dive, 여행 by 지그프리드

카테고리

Class List (402)
Studies (30)
Exercise & Quizz (10)
Term Project (0)
ECIM list (Help!) (10)
Issues & News (0)
Gossip about IT & Job (22)
Tools (2)
Think about the Justice (23)
Book Review (170)
조엘 온 소프트웨어(번역) (28)
Diary (87)
Vacations (9)
Clash of clans 클래시 오브.. (11)

글 보관함

달력

«   2020/02   »
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
Total : 316,428
Today : 11 Yesterday : 13