Fine-grained parallelization of fitness functions in bioinformatics optimization problems: gene selection for cancer classification and biclustering of gene expression data

BackgroundMetaheuristics are widely used to solve large combinatorial optimization problems in bioinformatics because of the huge set of possible solutions. Two representative problems are gene selection for cancer classification and biclustering of gene expression data. In most cases, these metaheuristics, as well as other non-linear techniques, apply a fitness function to each possible solution with a size-limited population, and that step involves higher latencies than other parts of the algorithms, which is the reason why the execution time of the applications will mainly depend on the execution time of the fitness function. In addition, it is usual to find floating-point arithmetic formulations for the fitness functions. This way, a careful parallelization of these functions using the reconfigurable hardware technology will accelerate the computation, specially if they are applied in parallel to several solutions of the population.ResultsA fine-grained parallelization of two floating-point fitness functions of different complexities and features involved in biclustering of gene expression data and gene selection for cancer classification allowed for obtaining higher speedups and power-reduced computation with regard to usual microprocessors.ConclusionsThe results show better performances using reconfigurable hardware technology instead of usual microprocessors, in computing time and power consumption terms, not only because of the parallelization of the arithmetic operations, but also thanks to the concurrent fitness evaluation for several individuals of the population in the metaheuristic. This is a good basis for building accelerated and low-energy solutions for intensive computing scenarios.

[1]  Yang Zhang,et al.  Digital circuit design using intrinsic evolvable hardware , 2004, Proceedings. 2004 NASA/DoD Conference on Evolvable Hardware, 2004..

[2]  Nadia Nedjah,et al.  A hardware accelerator for Particle Swarm Optimization , 2014, Appl. Soft Comput..

[3]  Clarisse Dhaenens,et al.  A Cooperative Genetic Algorithm for Knowledge Discovery in Microarray Experiments , 2005 .

[4]  Jin-Kao Hao,et al.  A Hybrid GA/SVM Approach for Gene Selection and Classification of Microarray Data , 2006, EvoWorkshops.

[5]  Eckart Zitzler,et al.  An EA framework for biclustering of gene expression data , 2004, Proceedings of the 2004 Congress on Evolutionary Computation (IEEE Cat. No.04TH8753).

[6]  Zina M. Ibrahim,et al.  Advances in Artificial Intelligence , 2003, Lecture Notes in Computer Science.

[7]  Wayne Luk,et al.  A comparison of CPUs, GPUs, FPGAs, and massively parallel processor arrays for random number generation , 2009, FPGA '09.

[8]  Mohd Saberi Mohamad,et al.  A multi-objective strategy in genetic algorithms for gene selection of gene expression data , 2008, Artificial Life and Robotics.

[9]  Jin Wang,et al.  Complete FPGA Implemented Evolvable Image Filters , 2006, MICAI.

[10]  Clive Maxfield,et al.  The Design Warrior's Guide to FPGAs: Devices, Tools and Flows , 2004 .

[11]  Amit Rathod,et al.  FPGA realization of Particle Swarm Optimization algorithm using floating point arithmetic , 2014, 2014 International Conference on High Performance Computing and Applications (ICHPCA).

[12]  Nadia Nedjah,et al.  A scalable parallel reconfigurable hardware architecture for DNA matching , 2013, 2013 IEEE 4th Latin American Symposium on Circuits and Systems (LASCAS).

[13]  David Corne,et al.  Evolutionary Computation In Bioinformatics , 2003 .

[14]  Lukas Sekanina,et al.  Hardware Accelerator of Cartesian Genetic Programming with Multiple Fitness Units , 2012 .

[15]  D. Buell High-Performance Reconfigurable Computing , 2007 .

[16]  Samrat L. Sabat,et al.  Comparative study of system on chip based solution for floating and fixed point differential evolution algorithm , 2014, Swarm Evol. Comput..

[17]  Hong Yan,et al.  Design Exploration of Geometric Biclustering for Microarray Data Analysis in Data Mining , 2014, IEEE Transactions on Parallel and Distributed Systems.

[18]  Wayne Luk,et al.  Reconfigurable acceleration of fitness evaluation in trading strategies , 2015, 2015 IEEE 26th International Conference on Application-specific Systems, Architectures and Processors (ASAP).

[19]  A. M. Wahdan,et al.  Introducing an FPGA based genetic algorithms in the applications of blind signals separation , 2003, The 3rd IEEE International Workshop on System-on-Chip for Real-Time Applications, 2003. Proceedings..

[20]  Kyrre Glette,et al.  A Flexible On-Chip Evolution System Implemented on a Xilinx Virtex-II Pro Device , 2005, ICES.

[21]  Edusmildo Orozco,et al.  Reconfigurable Computing. Accelerating Computation with Field-Programmable Gate Arrays , 2007, Scalable Comput. Pract. Exp..

[22]  Pablo Noriega,et al.  MICAI 2006: Advances in Artificial Intelligence , 2006 .

[23]  P. Layzell,et al.  Reducing hardware evolution's dependency on FPGAs , 1999, Proceedings of the Seventh International Conference on Microelectronics for Neural, Fuzzy and Bio-Inspired Systems.

[24]  José Ignacio Hidalgo,et al.  Solving GA-hard problems with EMMRS and GPGPUs , 2014, GECCO.

[25]  Parag K. Lala VHDL in Digital Design , 2006 .

[26]  Thomas Steinke,et al.  High-Performance Reconfigurable Computing , 2012, Int. J. Reconfigurable Comput..

[27]  Federico Divina,et al.  Biclustering of expression data with evolutionary computation , 2006, IEEE Transactions on Knowledge and Data Engineering.

[28]  장훈,et al.  [서평]「Computer Organization and Design, The Hardware/Software Interface」 , 1997 .

[29]  Martin C. Herbordt,et al.  Computing Models for FPGA-Based Accelerators , 2008, Computing in Science & Engineering.

[30]  Jagath C. Rajapakse,et al.  FPGA Implementations of Neural Networks , 2006 .

[31]  Bertil Schmidt,et al.  Parallelizing Epistasis Detection in GWAS on FPGA and GPU-Accelerated Computing Systems , 2015, IEEE/ACM Transactions on Computational Biology and Bioinformatics.

[32]  Wallace Tang,et al.  Hardware implementation of genetic algorithms using FPGA , 2004, The 2004 47th Midwest Symposium on Circuits and Systems, 2004. MWSCAS '04..

[33]  José Ignacio Hidalgo,et al.  A parallel compact genetic algorithm for multi-FPGA partitioning , 2001, Proceedings Ninth Euromicro Workshop on Parallel and Distributed Processing.

[34]  Dr. Zbigniew Michalewicz,et al.  How to Solve It: Modern Heuristics , 2004 .

[35]  Martin C. Herbordt,et al.  Effective Floating Point Applications on FPGAs : Examples from Molecular Modeling ∗ , 2009 .

[36]  David A. Pelta,et al.  Inverse Protein Folding on 2D Off-Lattice Model: Initial Results and Perspectives , 2007, EvoBIO.

[37]  Geoffrey J McLachlan,et al.  Selection bias in gene extraction on the basis of microarray gene-expression data , 2002, Proceedings of the National Academy of Sciences of the United States of America.

[38]  Nadia Nedjah,et al.  Hardware for Soft Computing and Soft Computing for Hardware , 2014, Studies in Computational Intelligence.

[39]  Theocharis Theocharides,et al.  Opportunities from the use of FPGAs as platforms for bioinformatics algorithms , 2012, 2012 IEEE 12th International Conference on Bioinformatics & Bioengineering (BIBE).

[40]  Tarek A. El-Ghazawi,et al.  Guest Editors' Introduction: High-Performance Reconfigurable Computing , 2007, Computer.

[41]  Witold Kosiński,et al.  Advances in Evolutionary Algorithms , 2008 .

[42]  Viktor K. Prasanna,et al.  Genetic Programming Using Self-Reconfigurable FPGAs , 1999, FPL.

[43]  Stefano Lonardi,et al.  FHAST: FPGA-Based Acceleration of Bowtie in Hardware , 2015, IEEE/ACM Transactions on Computational Biology and Bioinformatics.

[44]  Miriam Leeser,et al.  FPGA Supercomputing Platforms, Architectures, and Techniques for Accelerating Computationally Complex Algorithms , 2009, EURASIP J. Embed. Syst..

[45]  Federico Divina,et al.  Virtual Error: A New Measure for Evolutionary Biclustering , 2007, EvoBIO.

[46]  Kevin Skadron,et al.  Accelerating Compute-Intensive Applications with GPUs and FPGAs , 2008, 2008 Symposium on Application Specific Processors.

[47]  Volnei A. Pedroni Circuit Design and Simulation with VHDL , 2010 .