Embedded Parallel K-Means Algorithm Evaluation on ESP32 Across Various Memory Allocations
The k-means algorithm is one of the most popular Machine learning clustering algorithms. This paper introduces a parallel k-means algorithm implementation for digit classification on ESP32-CAM dual-core embedded platform, focusing on edge-based training. We implemented several program variations to determine the best solution considering memory allocations and achieved training speed. Experiments on the k-means implementation were conducted using three different storage mediums for the dataset: Flash memory, PSRAM, and an SD card. The program evaluation was performed using the MNIST dataset for both training and testing. We used a reduced version of the MNIST dataset, varying the dataset size by subsetting the original dataset. After testing all memory mediums, PSRAM showed the best performance. It featured reading speeds more than twice as fast and writing speeds about 10 times faster than the others. Overall speedup of k-means, with a dataset on PSRAM, is approaching 2 when utilizing 2 processor cores.
Authors
- Ivan Mezei (ORCID: https://orcid.org/0000-0002-1727-1670)
- Anja Tanović (ORCID: https://orcid.org/0009-0008-6676-2389)
Institutions
- University of Novi Sad (RS)
Publication Details
- Published
- 2024-11-13
- DOI
- https://doi.org/10.1109/ewdts63723.2024.10873639
- Citations
- 1
- Primary Topic
- Advanced Algorithms and Applications
- Type
- article
- Field-Weighted Citation Impact
- 0.33
Funders
- Science Fund of the Republic of Serbia