Parallelization and Optimization of Mfold on Shared Memory System

Qiankun Miao,Guangzhong Sun,Jiulong Shan,Guoliang Chen
DOI: https://doi.org/10.1016/j.parco.2010.05.002
IF: 0.983
2010-01-01
Parallel Computing
Abstract:Mfold is a widely used application for predicating RNA secondary structure, which is an important problem in bioinformatics. In Mfold, a dynamic programming algorithm is used to find the minimum free energy structure, which is the most time-consuming part. This paper focuses on the parallelization and optimization of Mfold on shared memory systems. First, we parallelize the dynamic programming part of Mfold with Message-Passing Interface (MPI). We further optimize the parallelized DP algorithm by eliminating data transfers among processes on a 16-way multi-processor system. We then compare the performance of our parallel Mfold before and after this optimization. The comparison results indicate that with optimization the parallel Mfold performs twice as fast. Furthermore, we make use of a performance analysis tool to gather several hardware performance events, which explain in details the performance gap incurred by this optimization.
What problem does this paper attempt to address?