본문 바로가기

仕事

왜 서버를 만들게 됐는가...

연구실에 32-core wokrstation과 16-core server가 있다.

32-core는 내가 교수님께 말씀드려서 만든 것. ubuntu 14.04를 세팅했는데, 나름 쓸만하다.

Blast2go go db도 넣어놨고, blast 및 g-browse를 설치. (솔직히 g-browse는 새 서버가 들어온 이후.. 멈췄음)

16-core는 Dell꺼를 연구실에서 구입했는데, centos 6.5로 외부에서 세팅되어 들어온 것.

거기에 내가 몇 가지 추가를 했다. (blast 돌릴 목적으로...)

그런데 이 둘을 묶기에는 위험부담이 크고... 그렇다보니 결국 내 돈으로 quad-core pc를 2대 더 구입해서

기존의 pc와 묶어서 클러스터링 서버를 구축했다. 왜 구축했냐... 그야 blast 돌리려고. 그리고 mpi를 쓰는 프로그램들을

돌려보려고. 하다보니 느낀 것인데... 클러스터링 서버를 만드는 것은 이것저것 생각해야 할 것이 많다는거다.


일단은 mpiblast를 돌리려고 세팅을 했는데... 어디에서 과부하가 생기는 것인지는 모르겠지만,

cpu power가 50%를 넘지 못한다. 분명 load는 충분히 걸리고 있는데, cpu는 놀고 있다. 결과물이 나오는 속도 형편이 없음...

그래서 생각해낸 것이, 소스가 되는 시퀀스 파일을 여러 개로 나누고 (이번엔 32개..) blast+와 sge를 이용해서 순차적으로 blast를 돌리는 것.

이건 나름 속도가 괜찮다. 16-core 시스템의 8~90% 속도가 나오는 듯 하다. 램을 더 추가하면 속도가 더 나올 것 같기도 하고...

여기까지 삽질을 많이 했다.

제일 삽질을 많이 한 것은 hpc cluster suite인 rocks cluster를 설치할 때...

덕분에 perceus를 이용해서 서버를 구성하는 것도 해보고, 별의 별 짓을 다 해봤네...


여튼 하나씩 써볼 작정이다. 네이버 블로그들을 검색해봐도 예전 하드웨어로 설치하거나, 구 버전의 os로 설치한 이야기만 나오다보니...

분명 나처럼 삽질하는 사람이 있을테지.