Dergiler / Academic Platform Journal of Engineering and Smart Systems / 2020 / Cilt: 8 Sayı: 1

Performance Analysis of Machine Learning and Bioinformatics Applications on High Performance Computing Systems

Performance Analysis of Machine Learning and Bioinformatics Applications on High Performance Computing Systems

Sayfa
1–14
DOI
—

Özet

Günümüzde büyük verilerden anlamlı bilgiler çıkartan ve akıllı kararlar alabilen algoritmaların en verimli şekilde ve en uygun hesaplama ortamında çalıştırılması gittikçe artan bir önem arz etmektedir. Bu makalede scikit-learn, Tensorflow, WEKA, libSVM, ThunderSVM, GMTK, PSI-BLAST, and HHblits gibi büyük veri analizi uygulamaları bulunan çeşitli makine öğrenmesi ve biyoenformatik programlarının yüksek başarımlı hesaplama sistemleri ve iş istasyonlarındaki performansları incelenmiştir. Programlar tek merkezi işlemci çekirdeğine ek olarak paralel işleme ve grafik işlemci versiyonlarının mevcut olma durumuna göre, çoklu merkezi işlemci çekirdeği ve grafik işlemci çekirdeklerinde çalıştırılmıştır. Seçilen programlar için optimum CPU çekirdek sayısı tespit edilmiştir. Yapılan analizler sonucunda hız performansının birçok faktöre bağlı olduğu sonucuna varılmıştır. Bunlar arasında merkezi/grafik işlemci versiyonları, hafıza miktarı, seçilen çekirdek sayısı ve kullanılan algoritma sayılabilir. Bir programın paralel işlemeye imkan tanıyan versiyonu mevcutsa en hızlı hesaplama grafik işlemci birimleri ile, daha sonra paralel merkezi işlemci ve tek merkezi işlemci ile elde edilmiştir. İncelenen uygulamalar açısından en başarılı sistem farklılık gösterse de mevcut çalışma makine öğrenmesi ve biyoenformatik alanındaki araştırma ve geliştirme yapanların projelerinde en uygun kaynakları seçmesine olanak sağlayacaktır.

Abstract

Nowadays, it is becoming increasingly important to use the most efficient and most suitable computational resources for algorithmic tools that extract meaningful information from big data and make smart decisions. In this paper, a comparative analysis is provided for performance measurements of various machine learning and bioinformatics software including scikit-learn, Tensorflow, WEKA, libSVM, ThunderSVM, GMTK, PSI-BLAST, and HHblits with big data applications on different high performance computer systems and workstations. The programs are executed in a wide range of conditions such as single-core central processing unit (CPU), multi-core CPU, and graphical processing unit (GPU) depending on the availability of implementation. The optimum number of CPU cores are obtained for selected software. It is found that the running times depend on many factors including the CPU/GPU version, available RAM, the number of CPU cores allocated, and the algorithm used. If parallel implementations are available for a given software, the best running times are typically obtained by GPU, followed by multi-core CPU, and single-core CPU. Though there is no best system that performs better than others in all applications studied, it is anticipated that the results obtained will help researchers and practitioners to select the most appropriate computational resources for their machine learning and bioinformatics projects.

Anahtar kelimeler: Makine öğrenmesi, biyoenformatik, yüksek başarımlı hesaplama, hız performans analizi