The hardware aspect of robust computing systems is as critical as its software. This is because having optimum hardware not only supports software customizability but also results in high-performance levels of the edge computing system.
To know more about edge computing, read the first part of this series, Process Automation: Introduction to Edge Computing.
The edge computing device can come in various forms. It can be a Single Board Computer (SBC) or a System on Module (SoM) that is connected to a Baseboard.
An SBC is a computer with all its core functional blocks on a single circuit board. This means that with an SBC, you can get up at running with minimal external hardware. Usually, all you require is some flash memory, power input, a display, a keyboard, and a mouse.
On the other hand, SoMs require a baseboard or carrier board. The carrier board is responsible for powering the SoM and expanding the interfaces of the barebones SoM and providing the user with I/O like USB, display, audio, visual, debug interfaces, etc. This means the same SoM can be used with different carrier boards according to the end application. For example, if you had an application where you needed to use cameras, you would go for a Carrier Board that supported the CSI interface for cameras. Another example is an application that requires large data to be stored locally. For this, you would choose a carrier board that comes with Storage Expansion over the SDIO or PCIe interface.
Whether you work with an SBC or an SoM +Baseboard combo, these devices will have interfaces that will allow you to connect add-on modules or add-on boards. But, the star of the show on these is the System on Chip (SoC). Whichever features you want your edge device to haveshould be supported by the SoC or its interfaces.
The SoC includes mainly the CPU cores, the memory controller, internal buses, the Graphics Processing Unit (GPU), AI accelerators, storage controllers, display/audio controllers, audio video encoders, and decoders. An SoC also includes multiple peripherals for inter-board communication and expandability.
Although SBCs are convenient, unless they use the same form factor and interfaces, the upgradability of the system takes a hit. This is where SoMs come to the rescue. With SoMs, the vendors make an effort to ensure there is an upgrade route. This improves system longevity and helps future-proof your hardware investment.
Although SoMs improve your system upgradability, they come with a fixed System Memory (RAM) and on-board storage. Storage can be later expanded with some form of add-on storage, but you have to live with the RAM you get. Additionally, while choosing an SBC or SoM you should make sure that the networking interfaces are fast enough for application.
Hardware Accelerated AI
In recent years there has been a surge in the use of AI. AI applications can run on a CPU, but the architecture of a CPU is not well suited for AI computation. In order to accelerate AI tasks, SoC vendors and chip manufacturers have been coming up with AI accelerators.
Graphics Processing Unit
The use of a Graphics Processing Unit (GPU) as a hardware accelerator is now well-tested. GPUs are traditionally used for graphics and image processing. Because these tasks are massively parallelizable, they benefit immensely from running on a GPU. The architecture of a GPU is such that the decision-making capabilities are lower than a CPU, but because of the large number of cores in a GPU, they can be used to run a large number of parallel calculations. Tasks within AI applications are also massively parallelizable. Because of this, AI algorithms can be written to runoff the GPU for faster and more efficient processing.
Tensor Processing Unit
Google developed the application-specific integrated circuit (ASIC) called Tensor Processing Unit for Neural Network Machine Learning. They did so to meet the growing computational demands of neural networks. TPUs are mainly aimed at running Matrix Multiplication Operations. They use Systolic Arrays for computation, which maximize operational density and efficiency. Because of the Systolic Arrays, TPUs are much faster than CPUs and even GPUs at executing Matrix Multiplication operations.
Field Programmable Gate Array
Field Programmable Gate Array (FPGA) can also be used for AI applications. FPGAs are reprogrammable unlike CPUs, GPUs, and TPUs. This means that the chipset can be modified while it is deployed in the field. They can be designed to have large memory bandwidths, which reduces computation latency. Also, compared to GPUs FPGAs are highly efficient which makes them suitable for edge use.
All of these AI accelerators have sophisticated designs. But it is important to note that an equally sophisticated Software Development Kit is required to harness the hardware capabilities.