In a way, the industrial sector is in the same situation as the telecom sector a few years ago. Then, with the rise of mobile Internet, the increased data usage from a large number of end-points increased the need for time-critical processing in the radio base stations. This processing needed to take place close to the antennas, not in the mobile core network or in the cloud, because of the very strict latency requirements. As a consequence, the base stations had to be boosted with more processing power.
Now, industrial IoT faces the same challenge when smart factories, smart power grids, and many other smart industrial applications drastically increase both the number of end-points and the amount of data that need to be processed and transported, often within strict time limits. Just like in the telecoms, much of the data from smart industrial equipment needs to be processed at the network edge, either close to the location of the equipment or in the device itself. Latency requirements, network bandwidth limitations, and autonomously operating devices are all factors contributing to the need for high-performance edge processing.
In telecoms, the solution was to add more CPU cores to each processing unit. Today, a DU (Digital Unit) will typically contain multicore processors with 24 cores or more. Multicore processors have the advantage of providing added performance while being efficient when it comes to power consumption and footprint. Computing platforms for industrial equipment must now evolve the same way: from single- and dual-core processors to devices with 8 cores or more.
Multi-core solves the problem from a hardware perspective; however the real challenge is to create runtime solutions that scales performance and determinism over many cores. Most operating systems, including Linux, fail to scale properly because of various factors such as memory contention and resource conflicts that cause non-deterministic jitter in the OS kernel.
In some cases there are workarounds for the basic real-time issues Linux and other operating systems face on multi- and many-core processors. (See here an infographic showing 3 ways to give Linux real-time characteristics)
There are also alternative runtimes which scale linearly, while keeping real-time characteristics, such as low latency and low jitter, even when running in SMP configurations on devices with many cores (there is a video explaining it here). This has so far been the most successful way to leverage multicore capabilities for baseband processing applications in the telecoms.
What to do?
If you work in industrial digitization, there is a lot to learn by studying how the DUs in the radio access networks evolved. You should take into account the growing need for data processing in industrial devices and in the edge tier to future-proof the products you are designing today. You need to prepare your platforms for massive multicore processing, and understand how real-time issues and multicore scaling can bridge the gap between the processing power of the multicore hardware platform and the applications that run on it.
Footnote: There are more similarities and connections between IoT and telecom. Connecting devices with each other, with edge servers, and with the cloud requires networking and telecommunications. The next generation of mobile networks, 5G, will play an important role in connecting industrial equipment and many trials are already being conducted in this area. But how industrial equipment and the mobile networks will connect and interact is another topic for another blog post.