Abstract
Fuzzy C-Means (FCM) algorithm is a clustering algorithm that is frequently used to enhance the detection accuracy for different applications. However, FCM is a high computationally extensive algorithm where different optimization techniques could be utilized to enhance the computation time. Therefore, in this study, the FCM algorithm was implemented and parallelized on field-programmable gate array (FPGA) platform using the Vivado HLS tool to improve the performance in terms of the execution time. Different optimization techniques were adopted and applied such as loop unrolling, loop pipelining, and dataflow optimization techniques which significantly improved the execution time. Further, the experimental results showed that the speedup of the proposed method over the sequential one is 76 times. More speedup is obtained with increasing the number of iterations due to the exploitation of the parallel FPGA platform and constructed the proposed hardware architecture using different optimization techniques.
Similar content being viewed by others
References
Neshatpour K et al (2018) Architectural considerations for FPGA acceleration of machine learning applications in MapReduce. In: Proceedings of the 18th international conference on embedded computer systems: Architectures, modeling, and simulation, pp. 89–96.
Aggarwal A, Dhindsa KS, Suri PK (2019) Usage patterns and implementation of random forest methods for software risk and bugs predictions. Int J Innov Technol Explor Eng (IJITEE) 8:927–932.
Aggarwal A, Dhindsa KS, Suri PK (2021) Performance-aware approach for software risk management using random forest algorithm. Int J Softw Innovat (IJSI) 9(1): 12–19.
Aggarwal A, Dhindsa KS, Suri PK (2020) Design for software risk management using soft computing and simulated biological approach. Int J Security Privacy Pervasive Comput (IJSPPC) 12(2):44–54.
Ren T et al (2019) Study on the improved fuzzy clustering algorithm and its application in brain image segmentation. Appl Soft Comput 81:105503
Ramasubbareddy S et al (2020) Comparative study of clustering techniques in market segmentation. Innovat Comp Sci Eng, pp 117–125.
Guo J et al (2022) ICRA: an intelligent clustering routing approach for UAV ad hoc networks. IEEE Trans Intell Transport Syst.
Landauer M et al (2020) System log clustering approaches for cyber security applications: a survey. Comput Secur 92:101739
Ali A et al (2022) Human activity and motion pattern recognition within indoor environment using convolutional neural networks clustering and naive bayes classification algorithms. Sensors 22(3):1016
Benabdellah AC, Benghabrit A, Bouhaddou I (2019) A survey of clustering algorithms for an industrial context. Proc Comput Sci 148:291–302
Karim M et al (2021) Deep learning-based clustering approaches for bioinformatics. Brief Bioinform 22(1):393–415
Anzt H et al (2022) Ginkgo: a modern linear operator algebra framework for high performance computing. ACM Trans Math Softw 48(1):1–33
Goyal LM, Mittal M, Sethi JK (2016) Fuzzy model generation using Subtractive and Fuzzy C-Means clustering. CSI trans ICT 4(2–4):129–133
Mittal M, Sharma RK, Singh VP, Kumar R (2019) Adaptive threshold-based clustering: A deterministic partitioning approach. Int J Inf Syst Model Des 10(1):42–59
Mittal M, Sharma RK, Singh VP, Mohan Goyal L (2017) Modified Single Pass Clustering algorithm based on median as a threshold similarity value. In: Collaborative Filtering using data mining and analysis, IGI Global, Hershey, pp 24–48.
Aggarwal A, Dhindsa KS, Suri PK (2019) Escalated methods for software defects audit in repercussion and effects construe to nature inspired and behavior driven mechanisms. Int J Eng Adv Technol 8(6):1779–1783
Dabhi DP, Patel MR (2016) Extensive survey on hierarchical clustering methods in data mining. International Research Journal of Engineering and Technology (IRJET) 3(11):659–665
Jarman AM (2020) Hierarchical cluster analysis: comparison of single linkage, complete linkage, average linkage and centroid linkage method. Georgia Southern University (2020).
Uppada SK (2014) Centroid based clustering algorithms—a clarion study. Int J Comp Sci Inform Technol 5(6):7309–7313
Almomany A, Amin J, Al Assaf A (2022) FCM clustering approach optimization using parallel high-speed Intel FPGA Technology. J Electrical Comp Eng (2022).
Zhang L, Qu J, Gao M, Zhao M (2019) Improvement of K-means algorithm based on density. In: 2019 IEEE 8th joint international Information Technology and Artificial Intelligence Conference (ITAIC), pp 1070–1073.
Sathyamoorthy M, Kuppusamy S, Dhanaraj RK, Ravi V (2022) Improved K-means based Q learning algorithm for optimal clustering and node balancing in WSN. Wirel Pers Commun 122(3):2745–2766
Wegmann M, Zipperling D, Hillenbrand J, Fleischer J (2021) A review of systematic selection of clustering algorithms and their evaluation. arXiv preprint arXiv:2106.12792.
Sendari S, Putra Utama AB, Fanany Putri NS, Widiharso P, Putra RJ (2021) K-Means and Fuzzy C-Means optimization using genetic algorithm for clustering questions. IJASCA 1(1):1–9.
Wiharto W, Suryani E (2020) The comparison of clustering algorithms K-means and fuzzy C-means for segmentation retinal blood vessels. Acta Inform Med 28(1):42–47
Zadeh LA (1965) Fuzzy sets. Inf Control 8(3):338–353
Harikiran J, Lakshmi PV, Kiran Kumar R (2015) Multiple feature fuzzy c-means clustering algorithm for segmentation of microarray images. Int J Electrical Comp Eng 5(5).
Peizhuang W (1983) Pattern recognition with fuzzy objective function algorithms (James C. Bezdek). Siam Rev 25(3):442.
Lin H-Y (2021) Feature clustering and feature discretization assisting gene selection for molecular classification using fuzzy c-means and expectation–maximization algorithm. J Supercomput 77(6):5381–5397
Askari S (2021) Fuzzy C-Means clustering algorithm for data with unequal cluster sizes and contaminated with noise and outliers: Review and development. Expert Syst Appl 165(113856):113856
Xue J et al (2022) Iteratively Re-Weighted Algorithm for Fuzzy c-means. IEEE Trans Fuzzy Syst.
Szilágyi L, László L, David I (2020) A review on suppressed fuzzy c-means clustering models. Acta Univ Sapientiae Informa 12(2):302–324
Wang T et al (2018) A survey of FPGA based deep learning accelerators: challenges and opportunities. arXiv preprint arXiv:1901.04988.
Jarrah AA, Mohsin MJ (2016) FPGA based architecture of extensive cancellation algorithm (ECA) for passive bistatic radar (PBR). Microprocess Microsyst 41:56–66
JarrahA, Mohsin MJ (2014) Optimized FPGA based implementation of discrete wavelet transform. In: 2014 48th Asilomar Conference on Signals, Systems and Computers. IEEE, New York
O'Loughlin D et al (2014) Xilinx vivado high level synthesis: Case Stud, pp 352–356.
Alandoli M. Shehab, Al-Ayyoub M, Jararweh Y, Al-Smadi M (2016) Using GPUs to speed-up FCM-based community detection in Social Networks. In: 2016 7th International Conference on Computer Science and Information Technology (CSIT), pp 1–6.
Jamel A, Bahriye A (2019) A Survey and systematic categorization of parallel K-means and Fuzzy-c-Means algorithms. Comput Syst Sci Eng 34(5):259–281
Shoeibi A, Ghassemi N, Hosseini-Nejad H, Rouhani M (2019) An efficient brain MR images segmentation hardware Using Kernel Fuzzy C-Means. In: 2019 26th National and 4th International Iranian Conference on Biomedical Engineering (ICBME), pp 93–99.
Krid M, Karray M, Masmoudi DS (2015) FPGA pulse mode implementation of a Gaussian Fuzzy C-Means algorithm. In: 2015 IEEE 12th International Multi-Conference on Systems, Signals & Devices (SSD15), pp 1–6. https://doi.org/10.1109/SSD.2015.7348260.
Lázaro J et al (2005) Implementation of a modified Fuzzy C-Means clustering algorithm for real-time applications. Microprocess Microsyst 29(8–9):375–380
Hwang W-J, Fan Z-C, Shen T-M (2012) Unsupervised image segmentation circuit based on fuzzy C-means clustering. In: Proceedings of the Fifth International Conference on Advances in Circuits, Electronics and Micro-electronics.
Almomany A, AI-Omari, Ahmad M, Jarrah A, Tawalbeh M, Alqudah A (2020) An OpenCL-based parallel acceleration of a Sobel edge detection algorithm Using Intel FPGA technology. South Afr Comp J 32(1):3–26
Abedalmuhdi A, Earl Wells B, Nishikawa K-I (2017) Efficient particle-grid space interpolation of an FPGA-accelerated particle-in-cell plasma simulation. In: 2017 IEEE 25th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). IEEE, New York.
Jarrah A et al (2022) High-performance implementation of power components on FPGA platform. J Elect Eng Technol 17(3):1555–1571
Jarrah A et al (2021) High-performance implementation of wideband coherent signal-subspace (CSS)-Based DOA algorithm on FPGA. J Circuits Syst Comput 30(11):2150196
Waidyasooriya, Muthumala H, Hariyama M, Uchiyama K (2018) Design of FPGA-based computing systems with OpenCL. Springer, Cham.
Almomany A, Ayyad WR, Jarrah A (2022) Optimized implementation of an improved KNN classification algorithm using Intel FPGA platform: Covid-19 case study. J King Saud Univ-Comp Inform Sci (2022).
Zhang T, Ramakrishnan R, Livny M (1997) BIRCH: A new data clustering algorithm and its applications. Data Mining Knowl Discovery 1(2):141–182.
Ismo K, Fränti P (2002) Dynamic local search algorithm for the clustering problem. Joensuu, Finland: University of Joensuu.
Mohammad R, Fränti P (2016) Set matching measures for external cluster validity. IEEE Trans Knowl Data Eng 28(8):2173–2186.
Ricardo B (2016) Fuzzy-k-Means: C++ Implementation of Fuzzy k-Means Clustering Algorithm.
Parker M (2014) Understanding peak floating-point performance claims. Technical White Paper WP-012220–1.0 (2014).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Almomany, A., Jarrah, A. & Al Assaf, A. Accelerating FCM Algorithm Using High-Speed FPGA Reconfigurable Computing Architecture. J. Electr. Eng. Technol. 18, 3209–3217 (2023). https://doi.org/10.1007/s42835-023-01432-z
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s42835-023-01432-z