e-ISSN(Online): 2460-8122 pp 82-88
Parallel Implementation of Gaussian Filter Image Processing on a Cluster of Single Board
Computer
Achmad Nurul Fauzie1, Setyawan Purnomo Sakti2, Rahmadwati3
1,2,3 Universitas Brawijaya, Malang, Indonesia
Email: [email protected], [email protected], [email protected] Abstractβ Gaussian filters are widely used in image
processing applications, such as edge detection, segmentation, and feature extraction. However, computationally intensive computations can take a long time to process large images. Therefore, a parallel algorithm implementation is necessary to accelerate the process. The authors proposed the use of Orange Pi SBCs for parallel image processing tasks involving a Gaussian filter. This paper outlines the steps for implementing a parallel Gaussian filter on a cluster of SBCs. The performance of the parallel implementation was evaluated in terms of speedup and efficiency, which are essential parameters for measuring the effectiveness of the approach.
The parallel implementation speedup is described as the ratio of the time required by the serial implementation to that required by the parallel implementation. The parallel implementation efficiency is described as the speedup ratio of the number of SBCs in a cluster. The results of the performance evaluation show that the parallel implementation of the Gaussian filter on a cluster of Orange Pi SBCs can achieve significant speedup and efficiency compared to the serial implementation. The speedup increases with the number of SBCs used in the cluster.
Using four SBCs can result in a speedup of up to 2.1 times faster than serial implementation. The efficiency also increases with the number of SBCs used in the cluster.
Using four SBCs could achieve an efficiency of up to 53.4%.
Index Termsβ Gaussian Filter, Image Processing, Parallel Implementation, Serial Implementation, Cluster.
Abstrakβ- Filter Gaussian sangat umum digunakan dalam aplikasi pengolahan citra seperti deteksi tepi, segmentasi, dan ekstraksi fitur. Namun, perhitungan yang dilakukannya membutuhkan komputasi yang intensif dan dapat memakan waktu lama untuk memproses citra yang besar. Oleh karena itu, implementasi paralel dari algoritma tersebut diperlukan untuk mempercepat proses tersebut.
Peneliti mengusulkan penggunaan Orange Pi SBC untuk tugas pengolahan citra paralel yang melibatkan filter Gaussian. Penelitian ini menguraikan langkah-langkah yang diperlukan untuk mengimplementasikan filter Gaussian paralel pada kluster SBC. Kinerja dari implementasi paralel dievaluasi dalam hal peningkatan kecepatan dan efisiensi, yang merupakan parameter penting untuk mengukur efektivitas pendekatan tersebut.
Peningkatan kecepatan dari implementasi paralel didefinisikan sebagai rasio waktu yang dibutuhkan oleh implementasi serial dengan waktu yang dibutuhkan oleh implementasi paralel. Efisiensi dari implementasi paralel didefinisikan sebagai rasio peningkatan kecepatan dengan jumlah SBC yang digunakan dalam kluster. Hasil evaluasi kinerja menunjukkan bahwa implementasi paralel filter Gaussian pada kluster Orange Pi SBC dapat mencapai peningkatan kecepatan dan efisiensi yang signifikan dibandingkan dengan implementasi serial. Peningkatan
kecepatan meningkat dengan jumlah SBC yang digunakan dalam kluster. Penggunaan empat SBC dapat menghasilkan peningkatan kecepatan hingga 2,1 kali lebih cepat dari implementasi serial. Efisiensi juga meningkat dengan jumlah SBC yang digunakan dalam kluster.
Penggunaan empat SBC dapat mencapai efisiensi hingga 53,4%.
Kata Kunciβ Filter Gaussian, Pengolahan Citra, Implementasi Paralel, Implementasi Serial, Kluster
I. INTRODUCTION
One of the most critical tasks in computer vision is image processing, which has received much attention over the past few decades. Image smoothing is one of the most foundational duties in image processing [1]. Image smoothing refers to eliminating noise from pictures and decreasing the number of features in an image. Many consider the Gaussian filter one of the most effective picture-flattening tools [2]. Image processing applications such as border recognition, segmentation, and feature extraction frequently use it [3].
The Gaussian filter requires a lot of processing power and can take significant time to apply to massive pictures.
In order to lessen the amount of time spent computing, there is a requirement for the use of a concurrent implementation of the Gaussian filter image processing techniques [4]. The use of parallel computing has become an effective instrument in recent years, particularly for accelerating the processing of massive amounts of data. A collection of Single Board Computers (SBCs) is an excellent illustration of a parallel computing infrastructure suitable for use with image processing applications [5].
Single-Board Computers (SBCs) offer low-power, cost-effective, and compact computing solutions enabling easy cluster networking. Orange Pi, one of the most popular SBCs, finds frequent usage in various research and instructional contexts. Recent research suggests that Orange Pi SBCs can enable concurrent picture processing [6].
A picture is convolved with a Gaussian kernel when it passes through the Gaussian filter, a type of spatial filter [7]. The two characteristics that affect the effectiveness of the Gaussian filter are the kernel's magnitude and the Gaussian distribution's standard deviation. To speed up the processing of the Gaussian filter, we split the picture into several smaller sections and handled each section separately. The Gaussian filter is independently applied to each section and assigned a unique SBC within its allocated cluster [8].
It is possible to evaluate the speedup and effectiveness of the parallel implementation of the Gaussian filter on a collection of Orange Pi SBCs as a measure of the performance of the parallel implementation [9][10]. The percentage of the amount of time required by the serial implementation to the amount of time required by the concurrent implementation is the definition of speedup.
The relation of the speedup to the number of SBCs utilized in the cluster is the definition of efficiency [11].
In recent years [12][5], instances of performing simultaneous processing using SBCs have been on the rise. SBCs are perfect for concurrent processing applications due to their cheap cost, low power consumption, and compact dimensions. SBCs also has many advantages, such as low power consumption. On the other hand, compared to more conventional processing platforms, the functionality of SBCs could be much better [13]. Therefore, utilizing parallel implementation of algorithms on SBC networks is a method that can achieve better performance levels.
In recent years [12], using SBC clusters has become increasingly commonplace for the execution of concurrent computing applications such as picture processing. Compared to conventional processing platforms, SBC networks can result in substantial performance enhancements at a reduced cost. Orange Pi is one of the most widely used single-board computers (SBCs) capable of running concurrent image processing software [14][15].
The parallel implementation of the Gaussian filter on a cluster of Orange Pi SBCs is an efficient method for accelerating the image processing tasks that involve the Gaussian filter. The fact that it was possible to implement the filter in parallel on the Orange Pi SBCs demonstrates this. Compared to the series implementation, the suggested method has the potential to increase performance and effectiveness substantially. The use of Orange Pi Single-Board Computers (SBCs) for parallel image processing is a prospective field of research that can potentially contribute to developing low-cost and energy-efficient parallel computing platforms for image processing application software.
II. METHOD
A. Data Sources and Types
This study used data in the form of images with a size of more than 100 Mb [8]. The data sources were sites that provide free images, namely pixabay.com, unsplash.com, pexels.com, and freepik.com. There were as many as 20 images used in this study to support the validity and reliability of the research. Please be aware that the images used in this study have been carefully examined and selected based on specific criteria to ensure that there are no elements of plagiarism or copyright infringement from the source. Researcher hope that the results of this research can make a meaningful contribution to future science and technology development by using legitimate and trusted data sources.
B. Analysis of Parallel Computing
In this research, researcher built a cluster solely for parallel processing purposes. Researcher made several configurations and changes to construct the cluster, including installing the same operating system on all nodes.
Researcher use the Beowulf Cluster as a technique for Cluster Computing, which involves joining multiple computers as nodes and integrating them into a single system [16]. The Beowulf Cluster comprises several components, including the microprocessor, primary memory, motherboard, and auxiliary storage. These parts are crucial to the overall functionality of the Beowulf Cluster, as they enable it to perform complex computations and tasks efficiently. Building a cluster requires several requirements indicated by the following points:
a. Clusters need to be able to distribute computational processes from master nodes to other slave nodes to gain efficiency in the data processing.
b. In a computing system consisting of a head node and several compute nodes, it is necessary to have smooth communication between the two. As a critical element in the system, the head node must have the ability to communicate with compute node machines without having to perform a repetitive authentication process. It aims to improve system efficiency and ensure optimal performance in the system's operation. That way, system users can get faster and more accurate computing results without spending excessive time and resources.
The operating system used on the SBC Orange Pi one and Orange Pi One Plus devices is Armbian OS.
The developers designed this operating system to optimize its performance on SBC devices. Armbian OS, a lightweight and stable operating system, performs well for SBC devices [15]. Linux, another popular open-source operating system, can be used freely and at no cost due to its open- source nature.
Fig 1. Building a Computing Cluster for Image Processing
Linux [17], an open-source operating system, offers high flexibility and security, supporting various hardware types and allowing users to adapt to various variants. It also facilitates quick application and software development due to extensive developer community support.
C. Design of Hardware and Software
The research depicted in Figure 2 utilized images of various sizes, ranging from individual pixels to larger image files stored in the SBC. These images were processed using parallel computing, with the master node serving as a load balancer that distributes the workload to Slaves 1, 2, and 3. Once the work is assigned, each node performs its designated task before sending the completed work to the master node for unification.
Initially, it appears that the master node has a more significant workload than the slave nodes, but the master node's use of the SBC results in better performance. The system's overall performance is evaluated by assessing the cluster computing performance, testing the message- passing interface, and measuring the execution speed of Gaussian filter image processing.
This study demonstrates that cluster computing with parallel processing can enhance image processing speed.
The Master node effectively distributes the workload using the SBC, which outperforms the slave nodes. The promising results from testing the message-passing interface and Gaussian filter image-processing speed suggest that cluster computing is a viable solution for processing large quantities of images. Data are transferred between the master node and slave node using port 22. However, it is important to consider the potential drawbacks of parallel implementation and cluster computing for image processing. Although parallel processing can certainly improve computing speed by splitting tasks and utilizing multiple cores, it also has certain limitations.
Fig 2. Overall Architecture of Parallel Implementation
D. Software and Hardware Installation
The cluster computer design used is the design and configuration of the LAN at each SBC. According to the principle of a parallel computing network architecture that requires more than one computer and considers the availability of computer devices, one computer unit functions as a master, and six other computer units act as
slaves [19]. Researcher need to design a sequential architecture that involves 1 SBC unit as a master and 3 SBCs as a slave in order to compare the computational performance between parallel and sequential architectures. Figure 3 illustrates the two architectures.
Then the thing to do is to install the OS used. This time, the OS used is Armbian, which is an operating system that is open for use, and the operating system is used specifically for SBC (Single Board Computer). Then the programming language used is Python, which has many libraries for the Message Passing Interface through the MPI4py library.
As the first step, Researcher need to install the operating system used in this study, namely Armbian.
Armbian is the official OpenSource operating system for Single Board Computers lighter than Debian and Ubuntu for SBC. Armbian is more suitable for SBC than the Debian and Ubuntu operating systems, and also Armbian with small size but still maintains performance and security. Armbian, with the IMG file contained in the ZIP file, has a size of approximately 400 Mb. The IMG files downloaded on the official Armbian website depend on the SBC used in this study. Orange Pi One and Orange Pi One Plus are the SBCs used in this study.
While installing the operating system, the user places the Win32DiskImager application on an 8GB SD card.
Following this step, the user connects to the SBC Orange Pi with PuTTY software. After installing the operating system on the SD card, the Orange Pi SBC is connected to the display to log into the SBC using the root identity.
As depicted in Figure 4 and Figure 5, the default passcode for the Orange Pi SBC is 1234. The Orange Pi SBC can be used once the configuration is complete.
Once the Orange Pi SBC is successfully logged in, the user can begin exploring its various functionalities and capabilities. The SBC provides a user-friendly interface that allows for easy navigation and customization.
Additionally, the Orange Pi SBC offers a wide range of applications and software that can be installed to enhance its performance and functionality. These applications can be accessed through the SBC's software center, which provides a convenient way to browse and install new software.
Fig 3. Cluster with Master and Slave
Fig 4. The PuTTY application connects Orange Pi devices.
Using the Foster method [18], here are the steps to configure parallel computing on Master and subordinate SBCs:
ο· Foster's method for parallel computing performs partitioning stages in its first phase. The method achieves this by partitioning and disseminating patient information to several processors.
Therefore, under optimal conditions, the SBC (Single Board Computer) can analyze up to N/p data, where N represents the quantity of data and p represents the number of SBCs.
ο· In a parallel design, the second step involves determining communication between components to ensure optimal performance. Sharing data from the Master SBC to several Slave SBCs involves communication. This communication is collective communication between the Master SBC and all existing Slave SBCs.
ο· Agglomeration involves the third process, or grouping tasks into larger tasks to improve performance and simplify programming.
ο· To improve the performance of the SBC and reduce the interaction between SBCs, researcher need to do process mapping. SBC capability refers to the average percentage of time that an SBC takes to execute a task, solve a problem, and provide a solution to its resolution.
Fig 5. Armbian Operating System on Orange Pi One
E. Gaussian Filter on Cluster
Gaussian Filter is a filter or operator used in image processing to reduce noise or noise and smooth or smooth out images by averaging adjacent pixels with a weighted average. This filter accepts the name of a Gaussian function that calculates each pixel's weighted weight or value for the average calculation.
πΊ
π(π₯, π¦) =
12ππ2
ππ₯π
βπ₯2+π¦2
2π2
(1)
[
1 2 1 2 4 2 1 2 1 ]
Kernel 3x3
[
1 1 2 1 1 1 2 4 2 1 2 4 8 4 2 1 2 4 2 1 1 1 2 1 1]
Kernel 5x5
[
1 1 2 2 2 1 1 1 2 2 4 2 2 1 2 2 4 8 4 2 2 2 4 8 16 8 4 2 2 2 4 8 4 2 2 1 2 2 4 2 2 1 1 1 2 2 2 1 1]
Kernel 7x7
III. RESULT AND DISCUSSION
In this section, researcher discuss the research process undertaken and the results obtained from the research.
Building upon the discussion in the previous chapter, the research process commenced with the design of a cluster computing system for digital image processing using the Message Passing Interface (MPI). The design presented in this chapter will elucidate the design process and the outcomes derived from it.
The design process discussed in this chapter began with device configuration, followed by the installation of the operating system. Subsequently, the Message Passing Interface was installed on the operating system, followed by the installation of SSH keys on the operating system.
In the final stage, the operating system was replicated on each slave for the formation of a cluster of computers. In the very last stage, the IP addresses of each device were configured to facilitate the utilization of the cluster computers.
A. Parallel Computing Design
The design employed in this research utilizes the Beowulf Cluster concept, which comprises various small-scale cluster nodes. These nodes consist of relatively affordable computers running Linux-based operating systems. The primary objective of a Beowulf
Cluster is to create a cost-effective parallel processing supercomputer compared to conventional supercomputers. In this research, a Beowulf Cluster utilizes a Linux-based operating system, with the master node controlling the other nodes through the use of the Message Passing Interface (MPI).
Several stages are discussed in this subsection.
However, before delving into those stages, it's important to highlight the hardware components used, as previously detailed in the preceding chapter. These components include an 8 GB SD card for storing the operating system used in this research, a router used for initially identifying hostnames and IP addresses on the single-board computers, UTP cables with RJ45 connectors for interconnecting the devices, a laptop serving as hardware cluster control, the software PuTTY used for implementing secure shell connections and telnet for Windows and Unix operating systems, the Armbian operating system, which is a lightweight Debian and Ubuntu-based platform designed for single-board computers, and the win32diskimager software used to read Armbian operating system images and install them on the SD card.
The design steps discussed in the preceding chapter consist of hardware configuration, followed by operating system installation, MPI implementation, duplication of the operating system for distribution to other nodes, configuration of IP addresses on each device, and the installation of secure shell connections. These steps form the foundational framework of cluster computing design.
Fig 6. Using Putty to Access Master Node and Slave in port 22
Fig 7. Parallel computing requirements are checked by running a script
After accurately designing the hardware, the next step is to identify the device address by examining the DHCP server on the router. Once the address is obtained, connect the device using the SSH protocol on port 22, as shown in Figure 6. Once connected through SSH, the user can configure the device settings and perform various administrative tasks. It is recommended to ensure the device's security by changing default passwords, enabling encryption, and implementing access control measures. This can help prevent unauthorized access and protect sensitive information.
Each device must then be configured to ensure the master device can execute SSH without a password on every slave and that the master device can ping the connection using the slave hostname. The MPI version employed in each device matches that on the master node. To verify the parallel devices, a bash script was used. The script's results are showcased in Figure 7, and Table 1 displays the device addresses utilized in the study.
To further optimize the parallel computing performance, it is recommended to fine-tune the network settings, such as adjusting the buffer size and enabling network acceleration techniques like RDMA.
Additionally, it is crucial to monitor the network traffic and performance during the execution of parallel applications to identify any potential bottlenecks or issues. This can be achieved by using tools like network analyzers and performance monitoring software.
TABLEI
TABLE OF PARALLEL HARDWARE IDENTITY
Hostname IP Address MPI Version
master-slave 10.10.10.100 4.1.4
slave-1 10.10.10.101 4.1.4
slave-2 10.10.10.102 4.1.4
slave-3 10.10.10.103 4.1.4
B. Parallel Computing Analysis
This study used three analyses to evaluate the cluster design results. First, cluster performance testing is conducted by testing a single processor and multiple processors. Then, the message-passing interface is tested by using a packet internet ger on each device and establishing an SSH connection without authentication from each device. The last test involves digital image processing, specifically the Gaussian Filter, using a single processor and four processors for comparison. To complete this research, the efficiency of resource usage in the cluster was tested by comparing the execution times on a single processor and four processors. In addition, the performance of the cluster in digital image processing using the Gaussian Filter method was analyzed. These analyses provide a better understanding of a cluster's performance and efficiency.
To further evaluate the performance of the cluster, a scalability test will be conducted by increasing the number of processors used and observing their impact on execution time. Furthermore, the impact of different image sizes on cluster performance during digital image processing tasks is analyzed. These additional tests provide valuable insights into the capabilities of clusters and their potential for efficiently handling larger workloads.
The performance of a single-board computer can be evaluated through a two-part experiment comparing single-processor and parallel-processor processing. In the various steps of this experiment, the number of operations was increased to 1000, 2000, 4000, 8000, and 16000. Experiments showed that using parallel processors significantly improves the performance of single-board computers (SBCs) compared to single processors, especially for larger workloads.
Fig 8. Comparison of Single and Parallel Processor Performance
Performing an analysis involves conducting a network test using a packet Internet ger on each processor, followed by gaining root access to each node through a Secure Socket Shell (SSH). It is important to note that during this testing phase, the SSH operates without passwords on each node, which has an impact on the subsequent MPI performance, as illustrated in Figure 7.
The results obtained from processing multiple images with a Gaussian filter demonstrated a significant difference in the processing speed. Specifically, images with a file size under 100 megabytes exhibit faster processing times when using a single processor, while images exceeding 100 megabytes show improved efficiency when using a parallel processor.
The use of parallel computing techniques or processors allows an image to be divided into smaller sections and processed concurrently, significantly reducing the overall processing time. This approach is particularly beneficial when dealing with large datasets or complex image-analysis tasks that require substantial computational resources. By leveraging the power of multiple processors, parallel processing takes advantage of the inherent parallelism present in image-processing algorithms, resulting in a faster and more efficient analysis. In addition, parallel computing techniques can be used to distribute the computational workload across multiple machines, further increasing the speed and scalability of image-processing tasks.
IV. CONCLUSIONS
The performance of the parallel implementation was assessed using speedup and efficiency metrics, which are crucial for determining the effectiveness of the approach.
The ratio of the time required for serial implementation to the time required for parallel implementation serves as the basis for calculating speedup. The efficiency of parallel implementation is defined as the ratio of the speedup to the number of SBCs used in the cluster. The test results show that the parallel implementation of the Gaussian filter on the Orange Pi SBC cluster can significantly improve speed and efficiency compared to the serial implementation. The speedup increases with the number of SBCs used in the cluster, with a maximum speedup of 2.1 times faster than the serial implementation when using four SBCs. The efficiency also increased with the number of SBCs used in the cluster, reaching up to 53.4% efficiency when using four SBCs. These findings suggest that using a cluster of Orange Pi SBCs can significantly enhance the Gaussian filter performance. Parallel implementation allows for the faster processing of image data, ultimately reducing the time required for filtering. Furthermore, the increase in efficiency implies that the cluster effectively utilizes available computational resources, making it a cost- effective solution for image-processing tasks.
e-ISSN(Online): 2460-8122 REFERENCE
[1] Saleh, M. A., Ameen, Z. S., Altrjman, C., & Al-Turjman, F.
(2022). Computer-Vision-Based Statue Detection with Gaussian Smoothing Filter and EfficientDet. Sustainability (Switzerland), 14(18). https://doi.org/10.3390/su141811413.
[2] Li, P., Wang, H., Yu, M., & Li, Y. (2021). Overview of Image Smoothing Algorithms. Journal of Physics: Conference Series, 1883(1). https://doi.org/10.1088/1742-6596/1883/1/012024 [3] Gedraite, E. S., & Hadad, M. (2011). Investigation on the Effect
of a Gaussian Blur in Image Filtering and Segmentation.
[4] Singh, S., kaur, P., & kaur, K. (2015). Parallel computing in digital image processing. IJARCCE, 183β186.
https://doi.org/10.17148/ijarcce.2015.4139
[5] Ariza, J., & Baez, H. (2022). Understanding the role of single- board computers in engineering and computer science education:
A systematic literature review. In Computer Applications in Engineering Education (Vol. 30, Issue 1, pp. 304β329). John Wiley and Sons Inc. https://doi.org/10.1002/cae.22439 [6] Turton, P., & Turton, T. F. (2014). Pibrain - A cost-effective
supercomputer for educational use. IET Conference Publications, 2014(CP649), 2β5. https://doi.org/10.1049/cp.2014.1121 [7] Moradifar, M., & Shahbahrami, A. (2020). Performance
Improvement of Gaussian Filter using SIMD Technology. In 2020 International Conference on Machine Vision and Image Processing (MVIP).
[8] Ramadan, Z. M. (2019). Effect of kernel size on Wiener and Gaussian image filtering. Telkomnika (Telecommunication Computing Electronics and Control), 17(3), 1455β1460.
https://doi.org/10.12928/TELKOMNIKA.v17i3.11192 [9] Serik, M., Karelkhan, N., Kultan, J., & Zulpykhar, Z. (2019).
Setting up and implementation of the parallel computing cluster in higher education. International Journal of Emerging Technologies in Learning, 14(6), 4β17.
https://doi.org/10.3991/ijet.v14i06.9736
[10] Deveci, M., Trott, C., & Rajamanickam, S. (2018). Multithreaded sparse matrix-matrix multiplication for many-core and GPU
[11] architectures. Parallel Computing.
https://doi.org/10.1016/j.parco.2018.06.009
[12] Moradifar, M., & Shahbahrami, A. (2020). Performance Improvement of Gaussian Filter using SIMD Technology. In 2020 International Conference on Machine Vision and Image Processing (MVIP).
[13] Zou, Z., Chen, K., Shi, Z., Guo, Y., & Ye, J. (2023). Object Detection in 20 Years: A Survey. Proceedings of the IEEE, 1β20.
https://doi.org/10.1109/jproc.2023.3238524
[14] Doucet, K., & Zhang, J. (2017). Learning cluster computing by creating a raspberry Pi cluster. Proceedings of the SouthEast
Conference, ACMSE 2017, 191β194.
https://doi.org/10.1145/3077286.3077324
[15] Mubarik, M., Raza, A., Rashid, H., Zainuddin, A., & Abd Latiff, Z. I. (2022). Automatic Monitoring and Control System for Different Water Levels in Interconnected Multiple Twin Tanks with Dry Run Protection Using Microprocessor Orange Pi. IEEE Symposium on Wireless Technology and Applications, ISWTA,
2022-August, 47β52.
https://doi.org/10.1109/ISWTA55313.2022.9942783
[16] Putu, I. B., Politeknik, W., & Denpasar, N. (2021). Rancang Bangun Media Storage Berbasis Armbian Menggunakan Orange- Pi dan Open media vault. PATRIA ARTHA Technological Journal
β’, 5(1).
[17] HuamanΓ, E. L., Condori, P., & Roman-Gonzalez, A. (2019).
Implementation of a Beowulf Cluster and Analysis of its Performance in Applications with Parallel Programming. In IJACSA) International Journal of Advanced Computer Science and Applications (Vol. 10, Issue 8). www.ijacsa.thesai.org [18] Sterling, T. (2002). Beowulf Cluster Computing with Linux (T.
Sterling, Ed.). The MIT Press.
[19] Ian Foster. (2003). Designing and Building Parallel Programs Ian Foster. http://www-unix.mcs.anl.gov/dbpp/text/book.html [20] Diwedi, D. v., & Sharma, S. J. (2019). Development of a Low
Cost Cluster Computer Using Raspberry Pi. Proceedings - 2018 IEEE Global Conference on Wireless Computing and
Networking, GCWCN 2018, 11β15.
https://doi.org/10.1109/GCWCN.2018.866864