Cluster 9

대량의 R 코드를 클러스터에 분산하기

수백개의 R 코드를 돌려야 할 일이 있다면, 한대의 컴퓨터에서는 100일이 걸릴일이라면 100대의 컴퓨터라면 100일 + 알파,, 요 알파는 각 컴퓨터에 로그인하고 R 코드를 옮기고, 명령어를 통해서 실행하고, 그결과를 취합하고,,, 여간 알파에 드는 시간이 많이 드는것이 아니다. 그래서 클러스터와 job 매니지먼트가 있다. 여기서는 리눅스 기반의 클러스터에 효율적으로 R 코드를 수백대의 컴퓨터에 실행하고 그 결과를 손쉽게 얻는 방법을 소개한다. 기본적으로 R의 경우에는 Interaction 프로그램으로 사용자와의 대화 형식으로 코드를 작성하게 된다. 명령->응답->명령->응답,,,의 형식 따라서 R 코드를 Bash에서 사용하기 위해서는 --quite, --no-save의 옵션을 통해서 처음 나오는 R에..

blogging 2008.11.06

리눅스 클러스터로는 무슨 일을 하시는가요??

앞선 Bio::Blog #19에 대한 비누인형님의 글에서와 같이 "(중략) 이러한 Emergent 한 특징은 그 자체로는 우아하기 그지없지만, Engineering 이라는 목적에 있어서는 어마어마한 장애물로 나타나게 된다. 분명 각 부속품들의 동작은 이해하고 있지만, 그것들을 모아두었을 때 어떻게 움직이게 될 것인지는 알 방법이 묘연하기 때문이다.(중략) 이러한 어마어마한 장애물을 풀어헤치는데 있어서 중요한 것이 바로 simple, abstraction...(

Linux-cluster 2008.03.10

대용량 컴퓨팅 환경과 Genome Browser

바로 이전 글에서 대용량 컴퓨팅 즉 클러스터 컴퓨팅환경을 Yaohoo와 Google에서 연구자들에게 제공한다고 했었다. 대용량 컴퓨팅환경, 좀 더 세분화한다면 여러대의 컴퓨터를 묶어서 사용하는 클러스터 환경과 Bioinformatics 연구를 한번 짚고 넘어가 보려고 한다. 클러스터 컴퓨팅환경을 사용하는 가장 일반적인 예는 바로 처리하고자 하는 일을 나누어서 하는 것이 가장 손쉬운 클러스터 컴퓨터를 이용하는 방법이다. 24개의 chromosome에 대응하는 어떠한 데이터가 있다고 가정할 때 한 대의 컴퓨터로 24개의 chromosome 데이터를 처리할때에 24시간의 시간이 걸린다고 한다면 24대의 컴퓨터에 이러한 작업(job)을 분배한다면 1시간에 끝마칠 수 있다. 바로 linear하게 속도를 향상 시킬..

Bioblogs 2008.02.26

Bioinformatics 연구자를 위한 컴퓨팅 환경 제공

이전에 국내 바이오인포매틱스 관련 오픈소스 현황이라는 주제의 글에서 대용량 데이터 분석 환경 지원 부분에서 연구를 위해서 단순하게 슈퍼컴퓨터나 cluster 컴퓨터의 기본적인 환경만을 제공하는 것이 아니라 이러한 환경에 + 유틸리티를 덧붙여 제공해야 한다고 언급했었습니다. 그 일례로 Yahoo에서는 학교나 일반 기업에서 구비하기 힘든 Hadoop기반의 클러스터 컴퓨팅 자원에 대해서 학술 연구 목적으로 지원을 하고 있다고 했었죠. 슈퍼컴퓨팅 자원 + 이를 좀더 유연하게 활용할 수 있는 utility(야후에서는 Hadoop) Google의 official 블로그에서도 Supporting cluster computing in the research community이라는 글이 올라왔습니다. 역시나 Google..

Bioblogs 2008.02.26

Building Web Service with Netbeans and JAX-WS 2

외국에서는 distributed computational environment 즉, grid나 cluster 환경과 자신의 연구분야에 어떻게 적용하고 어떠한 서비스를 할것인지에 대해 오래전부터 꾸준하게 연구가 진행되고 있다. Bioinformatics, Immunoiformatics등 bio~분야도 예외가 아니다. 앞서 언급했었던 biomoby, biogrid, taverna, bioclipse 등이 그 활용 분야의 대표적인 예라고 할 수 있겠다. 그럼 분산 컴퓨팅환경에서 blast를 수행하고 이를 웹 서비스를 통해서 제공한다면, 이미 많은 곳에서(일본의 XML Central of DDBJ, 유럽의 EBI에서 제공하고 있다.) 서비스를 제공하고 있지만, 나도 한번 해보자는 의미에서 차근차근 공부해 나가고..

howto 2007.08.03

Linux Cluster Benchmark with mpich & BLAS & CBLAS, ATLAS, HPL

흔히 클러스터 시스템에서 벤치마크는 LINPACK을 사용하거나 HPL(High-Performance Linpack Benchmark)을 통해서 시스템의 실제 성능을 측정하게 된다. 1. 시스템의 성능이란 ? - FLOPS 그럼 성능?에서 성능은 무엇을 의미하는가?에 대한 해답이 선행되어야 할것이다. 슈퍼컴퓨터에서의 성능은 FLOPS(Floationg-point Operations Per Second : 초당 실수연산 회수) 1초에 덧셈, 뺄셈, 곱셉, 나눗셈 등의 실수 계산을 총 몇 번 할 수 있는지를 나타내는 값이다. 만약 1초에 실수끼리 곱셈을 2번씩 할 수 있다면 그때의 계산 속도는 2FLOPS가 되는 것이다. [quote]MFLOPS(MegaFLOPS, 106FLOPS) GFLOPS(GigaFLO..

Linux-cluster 2006.07.06

리눅스 병렬 프로그래밍 - mpich

리눅스에서 클러스터를 이용한 병렬프로그래밍(mpich)에 대한 내용은 인터넷을 조금만 찾아보면 아주 많은 문서들을 찾아 볼 수 있다. 다시한번 정리해보는 의미에서 여기에 남긴다. ^^;; mpich 1.2.7p1이 지금 현재 최신버전으로 http://www-unix.mcs.anl.gov/mpi/mpich1/에서 다운로드하여 설치한다. 압축을 해제하고 다음의 configure,make,make install을 수행하기만 하면 된다. # ./configure --with-arch=LINUX --with-device=ch_p4 # make # make PREFIX=/usr/local/mpich-1.2.7p1 install /usr/local/mpich-1.2.7p1/share/machine.LINUX 파일에서..