skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Profiling the BLAST bioinformatics application for load balancing on high-performance computing clusters

Journal Article · · BMC Bioinformatics

Abstract Background The Basic Local Alignment Search Tool (BLAST) is a suite of commonly used algorithms for identifying matches between biological sequences. The user supplies a database file and query file of sequences for BLAST to find identical sequences between the two. The typical millions of database and query sequences make BLAST computationally challenging but also well suited for parallelization on high-performance computing clusters. The efficacy of parallelization depends on the data partitioning, where the optimal data partitioning relies on an accurate performance model. In previous studies, a BLAST job was sped up by 27 times by partitioning the database and query among thousands of processor nodes. However, the optimality of the partitioning method was not studied. Unlike BLAST performance models proposed in the literature that usually have problem size and hardware configuration as the only variables, the execution time of a BLAST job is a function of database size, query size, and hardware capability. In this work, the nucleotide BLAST application BLASTN was profiled using three methods: shell-level profiling with the Unix “time” command, code-level profiling with the built-in “profiler” module, and system-level profiling with the Unix “gprof” program. The runtimes were measured for six node types, using six different database files and 15 query files, on a heterogeneous HPC cluster with 500+ nodes. The empirical measurement data were fitted with quadratic functions to develop performance models that were used to guide the data parallelization for BLASTN jobs. Results Profiling results showed that BLASTN contains more than 34,500 different functions, but a single function, RunMTBySplitDB, takes 99.12% of the total runtime. Among its 53 child functions, five core functions were identified to make up 92.12% of the overall BLASTN runtime. Based on the performance models, static load balancing algorithms can be applied to the BLASTN input data to minimize the runtime of the longest job on an HPC cluster. Four test cases being run on homogeneous and heterogeneous clusters were tested. Experiment results showed that the runtime can be reduced by 81% on a homogeneous cluster and by 20% on a heterogeneous cluster by re-distributing the workload. Discussion Optimal data partitioning can improve BLASTN’s overall runtime 5.4-fold in comparison with dividing the database and query into the same number of fragments. The proposed methodology can be used in the other applications in the BLAST+ suite or any other application as long as source code is available.

Sponsoring Organization:
USDOE
OSTI ID:
1905340
Journal Information:
BMC Bioinformatics, Journal Name: BMC Bioinformatics Vol. 23 Journal Issue: 1; ISSN 1471-2105
Publisher:
Springer Science + Business MediaCopyright Statement
Country of Publication:
United Kingdom
Language:
English

References (14)

Hardware and software systems for accelerating common bioinformatics sequence analysis algorithms journal January 2004
CUDA-BLASTP: Accelerating BLASTP on CUDA-Enabled Graphics Hardware journal November 2011
G-BLASTN: accelerating nucleotide alignment by graphics processors journal January 2014
A Multicenter Study To Evaluate the Performance of High-Throughput Sequencing for Virus Detection journal October 2017
Robinia-BLAST: An Extensible Parallel BLAST Based on Data-Intensive Distributed Computing conference August 2014
Gprof: A call graph execution profiler journal June 1982
Divide and Conquer (DC) BLAST: fast and easy BLAST execution within HPC environments journal June 2017
GPU-BLAST: using graphics processors to accelerate protein sequence alignment journal November 2010
Data Partitioning on Heterogeneous Multicore and Multi-GPU Systems Using Functional Performance Models of Data-Parallel Applications conference September 2012
ScalaBLAST: A Scalable Implementation of BLAST for High-Performance Data-Intensive Bioinformatics Analysis journal August 2006
miBLAST: scalable evaluation of a batch of nucleotide sequence queries with BLAST journal July 2005
BLAST+: architecture and applications journal January 2009
A Novel Data-Partitioning Algorithm for Performance Optimization of Data-Parallel Applications on Heterogeneous HPC Platforms journal October 2018
Basic local alignment search tool journal October 1990

Similar Records

Related Subjects