Study on MPI-based parallel sequence similarity search in the LINUX cluster

클러스터 환경에서의 MPI 기반 병렬 서열 유사성 검색에 관한 연구

  • 홍창범 (질병관리본부 국립보건연구원) ;
  • 차정호 (질병관리본부 국립보건연구원) ;
  • 이성훈 (질병관리본부 국립보건연구원) ;
  • 신승우 (질병관리본부 국립보건연구원) ;
  • 박근준 (질병관리본부 국립보건연구원) ;
  • 박근용 (질병관리본부 국립보건연구원)
  • Published : 2006.12.31

Abstract

In the field of the bioinformatics, it plays an important role in predicting functional information or structure information to search similar sequence in biological DB. Biolrgical sequences have been increased dramatically since Human Genome Project. At this point, because the searching speed for the similar sequence is highly regarded as the important factor for predicting function or structure, the SMP(Sysmmetric Multi-Processors) computer or cluster is being used in order to improve the performance of searching time. As the method to improve the searching time of BLAST(Basic Local Alighment Search Tool) being used for the similarity sequence search, We suggest the nBLAST algorithm performing on the cluster environment in this paper. As the nBLAST uses the MPI(Message Passing Interface), the parallel library without modifying the existing BLAST source code, to distribute the query to each node and make it performed in parallel, it is possible to easily make BLAST parallel without complicated procedures such as the configuration. In addition, with the experiment performing the nBLAST in the 28 nodes of LINUX cluster, the enhanced performance according to the increase in the number of the nodes has been confirmed.

생물정보학 연구 있어서 아미노산이나 염기서열에 대한 유사성이나 상동성을 찾아내는 작업은 유전자의 기능에 대한 예측이나 단백질 구조를 예측하는 연구의 기반이 된다. 이러한 서열 데이터는 컴퓨터의 도입으로 매우 빠르게 증가하고 있다. 이러한 시점에서 서열에 대한 검색 속도는 매우 중요한 요소이기 때문에 대량의 서열정보를 다루기 위해서는 SMP(Sysmmetric Multi-Processors) 컴퓨터나 클러스터를 이용하고 있다. 본 논문에서는 서열 검색에 사용되는 BLAST(Basic Local Alignment Search Tool)의 속도향상을 위한 방법으로 클러스터 환경에서 병렬화 하는 nBLAST 알고리즘의 병렬화에 대해 제안한다. nBLAST는 기존의 BLAST 소스코드에 대한 수정 없이 병렬라이브러리인 MPI(Message Passing Interface)를 이용하여 질의를 분할하여 병렬화 하기 때문에 환경설정 등의 복잡한 과정을 거치지 않고 손쉽게 BLAST에 알고리즘에 대한 병렬화를 할 수 있다. 또한, 실험을 통하여 28대의 리눅스 클러스터에서 nBLAST를 수행하여 노드 수의 증가에 따른 성능 향상을 확인하였다.

Keywords