Speedup bioinformatics applications on multicore-based processor using vectorizing and multithreading strategies
- PMID: 18305826
- PMCID: PMC2241925
- DOI: 10.6026/97320630002182
Speedup bioinformatics applications on multicore-based processor using vectorizing and multithreading strategies
Abstract
Many computational intensive bioinformatics software, such as multiple sequence alignment, population structure analysis, etc., written in C/C++ are not multicore-aware. A multicore processor is an emerging CPU technology that combines two or more independent processors into a single package. The Single Instruction Multiple Data-stream (SIMD) paradigm is heavily utilized in this class of processors. Nevertheless, most popular compilers including Microsoft Visual C/C++ 6.0, x86 gnu C-compiler gcc do not automatically create SIMD code which can fully utilize the advancement of these processors. To harness the power of the new multicore architecture certain compiler techniques must be considered. This paper presents a generic compiling strategy to assist the compiler in improving the performance of bioinformatics applications written in C/C++. The proposed framework contains 2 main steps: multithreading and vectorizing strategies. After following the strategies, the application can achieve higher speedup by taking the advantage of multicore architecture technology. Due to the extremely fast interconnection networking among multiple cores, it is suggested that the proposed optimization could be more appropriate than making use of parallelization on a small cluster computer which has larger network latency and lower bandwidth.
Keywords: multicore processor; optimization; speedup; vectorization.
Figures
Similar articles
-
Tomo3D 2.0--exploitation of advanced vector extensions (AVX) for 3D reconstruction.J Struct Biol. 2015 Feb;189(2):147-52. doi: 10.1016/j.jsb.2014.11.009. Epub 2014 Dec 17. J Struct Biol. 2015. PMID: 25528570
-
Generic accelerated sequence alignment in SeqAn using vectorization and multi-threading.Bioinformatics. 2018 Oct 15;34(20):3437-3445. doi: 10.1093/bioinformatics/bty380. Bioinformatics. 2018. PMID: 29726911
-
Dynamic Multicore Processing for Pandemic Influenza Simulation.AMIA Annu Symp Proc. 2017 Feb 10;2016:534-540. eCollection 2016. AMIA Annu Symp Proc. 2017. PMID: 28269849 Free PMC article.
-
Structure_threader: An improved method for automation and parallelization of programs structure, fastStructure and MavericK on multicore CPU systems.Mol Ecol Resour. 2017 Nov;17(6):e268-e274. doi: 10.1111/1755-0998.12702. Epub 2017 Sep 16. Mol Ecol Resour. 2017. PMID: 28776963
-
An advanced compiler designed for a VLIW DSP for sensors-based systems.Sensors (Basel). 2012;12(4):4466-78. doi: 10.3390/s120404466. Epub 2012 Apr 2. Sensors (Basel). 2012. PMID: 22666040 Free PMC article.
Cited by
-
A quick guide for developing effective bioinformatics programming skills.PLoS Comput Biol. 2009 Dec;5(12):e1000589. doi: 10.1371/journal.pcbi.1000589. Epub 2009 Dec 24. PLoS Comput Biol. 2009. PMID: 20041221 Free PMC article. No abstract available.
References
-
- Amarasinghe S. In CGO; 2005. p. 137.
-
- Balakrishnan S, et al. In CGO; 2005. p. 506.
LinkOut - more resources
Full Text Sources