MPI 7

Serial 작업을 위한 MPI 래퍼 프로그램

KISTI 슈퍼컴퓨팅센터의 tachyon의 경우 사용자당 10개의 job만 제출할 수 있다. 따라서 실행할 작업이 시리얼한 작업일 경우 한번에 10개 이상의 노드를 사용하기 위해서는 아래와 같이 MPI 코드로 래퍼를 만들어서 실행하면 원하는 갯수 만큼의 시리얼 작업을 한번에 수행할 수 있다. script_0.sh ~ script_N.sh의 스크립트를 미리 만들어 놓은 후 실행 스크립트에서 #$ -pe mpi_fu N으로 지정하면 N개의 스크립트를 하나의 qsub로 해결~!! =====mpi_wrapper.c===== #include "mpi.h" #include #include int main( int argc, char *argv[]) { int done = 0, n, myid, numprocs, i;..

blogging 2009.01.28

바이오인포매틱스와 슈퍼 컴퓨팅 - 마음을 다스리는 글

바이오인포매틱스 분야에서도 많은 부분에서 컴퓨팅 파워를 필요로 하지만, 그 중에서도 대표적인 부분은 genome comparison과 alignment 일것이다. 이러한 대용량 컴퓨팅 파워에서 그래픽 카드의 비약적인 발전으로 GPU의 그래픽 이외의 계산에 응용되기 시작했다. 그런데 여기서 한가지 짚고 넘어가야 할 것이 있다. 슈퍼컴퓨팅 분야에서 클러스터를 이용한 방법은 비교적 값싼 하드웨어를 통해서 높은 성능을 얻을 수 있다는 장점으로 많이 사용되고 있다. 그러나 각 컴퓨터에 분산된 메모리에 접근해서 사용하기 위해서는 MPI와 같은 라이브러리를 이용해서 병렬 프로그래밍을 해야만 한다. 그래야 분산된 메모리를 마치 하나의 메모리처럼 사용하여 프로그래밍을 할 수 있다. 마찬가지로 GPU의 성능이 아무리 뛰어..

Bioblogs 2008.03.27

대용량 컴퓨팅 환경과 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