Article Preview
Top1. Introduction
Nowadays, IoT-based technologies (Internet of Things) become an indispensable part of our daily life (Khaydarova et al., 2020). Our dependence upon the Internet and the devices is increasing at a fast pace. Key communication technologies enabling to use IoT are WSN (Wireless Sensor Network), machine-to-machine (m2m) communication, human-machine interaction, web services, information systems, etc (Prasanna & Rao, 2012). Domain in taken IoT technology implementation has grown dramatically over the last decade. One of the most popular IoT applications is smart houses and home automation. Interconnected devices which may be controlled remotely, smart metering applications to save energy, water, and other resources are the state of art issues.
Constantly emerging modern IoT device management systems support more sophisticated deep-learning technologies making use of neural networks to capture and analyze the environments. Amazon Echo intended to comprehend and implement human voice commands is one of the examples (Tang et al., 2017). Deep learning applications for IoT devices often require pseudo-real-time functionality, such as security camera-based recognition tasks, requiring low latency to respond to target events: strangers in the house or unattended objects left in subway or airport (P. Zhang et al., 2017),(Cai et al., 2017).
Convolutional neural networks (CNNs) have been intensively researched and used in large-scale data processing due to their comparable classification accuracy (X. Zhang et al., 2018), (Song et al., 2017). However, executing CNN locally on mobile and embedded devices requires large computational resources and has great memory consumption that is not usually possible in IoT platforms. Moreover, by drastically increasing the number of devices connected to the Internet, the network latency increases.
CNN consumes a lot of computational resources and requires powerful computers (supercomputers) with the latest implementations of graphics processing unit (GPU). But supercomputers consume a lot of energy, are expensive and take a lot of space. Another option is to use common clusters which are still expensive. An alternative to common clusters (a number of interconnected desktop computers) is resource-constrained devices (RCDs) as single board computer (SBC) clusters. Interests in SBC computer clusters have grown dramatically since the first Raspberry Pi was released in 2012 (Basford et al., 2020). SBC clusters` domain is still being researched and developed. New, more powerful SBCs are emerging every year. One of such devices is RockPro64 (RockPro64, 2020) released in June 2018. The distributed computing domain requires fare scalability as well as cluster price optimization.
In this paper, we present a SBC cluster consisting of RockPro64 single board computers (RockPro64, 2020). We design the ROCK-CNN architecture for locally distributed convolutional neural network for RockPro64 cluster adaptive for resource-constrained devices. Deep learning use cases, such as dealing with images and time series data, are displayed.
-We organize this paper as follows: in section 2, related works on SBC clusters are presented; problem statement and development pipeline are described in section 3; section 4 is dedicated to the system architecture requirements and ROCK-CNN architecture description; we introduce two use-cases (face recognition, and time-series data) for distributed deep learning in a resource-constrained cluster in section 5; moreover, proposed algorithms for distributed face recognition and designed CNN model for time-series data are verified by testing a number of metrics to efficiency testing in section 6. Finally, discussion and results section is presented in section 7, conclusion is described in section 8.