Improving parallel self-organizing map using heterogeneous uniform memory access / Muhammad Firdaus Mustapha - Mustapha, Muhammad Firdaus (2018)
Self-organizing Map (SOM) is a very popular algorithm that has been used as clustering algorithm and data exploration. SOM consists of complex calculations where the calculation of complexity depending on the circumstances. Many researchers have managed to improve online SOM processing speed using Heterogeneous Computing (HC). HC is a combination of Central Processing Unit (CPU) and Graphic Processing Unit (GPU) that work closely together. Standard HC can be represented by CPU and GPU accessing separate memory blocks. In spite of excellent performance using standard HC, there is a situation that causes computer hardware underutilized when executing online SOM variant. In details, the situation occurs when number of cores is larger than the number of neurons on map. Moreover, the complexities of SOM steps also increase the usage of high memory capacity which leads to high rate memory transfer. This situation is caused by the standard HC implements "deep copies" in storing processing objects which lead to communication latency. Recently, combination CPU and GPU that integrated together on a single chip are rapidly attractive the design paradigm for recent platform because of their remarkable parallel processing abilities. This kind of microprocessor is based on Heterogeneous Unified Memory Access (HUMA) model. This model allows both CPU and GPU to access and store into the same memory location which avoids redundant copies of objects by "deep copies" method. Therefore, the main goal of this research is to reduce computation time of SOM training through implementing on HUMA platform and improve GPU cores utilization. This research has three main objectives to be achieved. Firstly, this research attempts to study the processing natures of original SOM algorithm on standard HC platform. Secondly is to model an enhanced parallel SOM on HUMA-GPU platform and adapting multiple stimuli approach in order to improve the processing speed. Lastly is to evaluate the enhanced parallel SOM in terms of performance accuracy, efficiency, and scalability. This research attempts to improve the processing of SOM algorithm through three stages. The research works start with conducting a preliminary study on sequential SOM algorithm. The research continues to design a parallel SOM architecture based on literature study and implements on two types of architecture; standard HC and HUMA model. Finally, this research designs and implements an enhanced parallel SOM architecture through combining two parallel methods which are network and data partitioning. The combination of the two methods are realized via adapting multiple stimuli approach. This research employs datasets that are acquired from UCI repository. As a result, the enhanced parallel SOM that executed on HUMA platform is able to score up to 1.27 of speed up overall for large map size compared to standard parallel SOM. The proposed work also scores better for smaller map size with scored up to 1.03 of speed up overall compared to standard SOM on the identical platform. Accordingly, the proposed work is able to offer a better solution for small to medium sized of data analysis software. Overall, the solution is enhanced through utilizing recent hardware technology and improved method.