Parallelization, virtualization, security for smart gateways and smart “things”
With billions of IoT devices being deployed and trillions of dollars at stake, it is very critical to make correct decisions when selecting the architecture of the tiny smart “thing” or the sensor edge node. This miniature connected edge sensor not only has to provide critical data but has to ensure that it is secure and all of this has to be provided at the lowest power, cost and area possible. The companion IoT gateway can help to offload some of this complex processing on the edge node with improved security, intelligence and more.
The primary components of IoT include the IoT edge nodes or “things”, to collect the sensor data, IoT gateways to collate all of the sensor data and interface with the cloud and/or other edge nodes, cloud for non-real time analytics and storage and finally mobile applications to render the analytics.
This post will specifically focus on the IoT nodes and gateways and how parallelization, security and virtualization can enhance the performance and security when using MIPS CPUs and microcontrollers.
These three aspects of parallelization, virtualization and security translate to multi-threading, hardware virtualization and OmniShield security respectively in the MIPS world. Let us understand each of these technologies, in brief, to set the stage before deep diving into IoT nodes/gateways.
OnmiShield enables next-generation SoC security. Unlike other solutions, that support a binary approach of only one secure zone and one non-secure zone, OmniShield security goes beyond to create multiple secure domains, where each secure/non-secure application or operating system can operate independently in its own separate environment.
It is hardware virtualization that enables processors to be OmniShield-ready and ensures that applications that need to be secure are effectively and reliably isolated from each other, as well as protected from non-secure applications.
Finally, MIPS multi-threading helps optimise the parallelism and complex implementations by making a single processor core appear to an SMP operating system like two separate cores. Furthermore, these two virtual processors could support multiple operating systems or a combination of an OS and a “bare metal” environment.
With that background, let us further understand of what IoT nodes and IoT gateways are comprised, and how we can apply these technologies.
The IoT nodes can be broadly categorised into the following three segments – smart sensor, smart voice processor and smart high-performance processor.
The smart sensor is the edge sensor node with very low cost and low power requirements that can last for a year to many years on an AA battery or a coin cell. It typically includes one micro-controller unit to implement all the functions in addition to the low-power connectivity and edge analytics. One other critical parameter for these billions of tiny sensors is security.
As shown in the diagram, the MIPS M-class microcontroller with hardware virtualization ensures secure isolation for connectivity stacks, embedded AI processing and sensor applications processing. Some of the popular connectivity technologies used include BLE, 802.15.4, 6LoWPAN, Thread, Zigbee or Wi-Fi and cellular technologies such as NB-IoT that promises up to 10 years of battery life on 2 x AA batteries, longer range and low cost. In some use cases, based on the connectivity technologies supported such as Wi-Fi and cellular technologies, the IoT node has the ability to directly connect and send messages and data to the cloud, while in others it interfaces via the IoT gateway. Some of the use cases for edge sensors include home security and automation, connected vehicles and fleet and asset management, shipping container monitoring, consumer devices such as smart fridge, smart washing machines, smart beverage fountains, smart pallets, and smart utility systems, among others.
A smart voice processor is a more advanced sensor node that adds voice capabilities to the edge node. This typically requires more processing and a CPU to meet these additional requirements for voice processing that can vary based on the number of microphones used. Some of the functions that need to be implemented on the processor include voice trigger for the processor to wake up and start decoding the voice command, adaptive beamforming to support multiple microphones, echo cancellation and noise cancellation to avoid any spurious detection in addition to the sensor functions.
All of these functions such as voice processing, connectivity processing, and artificial intelligence in addition to the sensor applications can be implemented and optimised on a secured multi-threaded MIPS interAptiv class of processors. Some of the popular voice triggers and services include Amazon’s Alexa, OK Google from Google, Siri from Apple, and Cortana from Microsoft. Alexa voice services are now integrated into all types of consumer devices that you can think of, ranging from fridges to TVs, to cars, in addition to speakers and smartphones.
Almost all of these devices are usually enabled by Wi-Fi or cellular technologies and work in conjunction with the cloud-enabled voice services.
Smart high-performance processors are well suited for processing-intensive applications such as smart connected cameras. This high-performance processor not only includes all the functionality of the smart voice processor but also includes a video accelerator, a dedicated analytics engine and ISP for camera support. Based on the performance requirements and the functions implemented on the edge processor, the system could include anything from a single high-performance processor core to two or four cores. The MIPS 64-bit I6400 processor is well-suited for such applications.
The IoT gateways are generally a good way to interface with the cloud or outside world in situations and use cases where it makes sense for the edge node to just be the dumb data gathering sensor node and offload the major chunk of the processing to its companion IoT gateway. This approach further reduces the cost, area and power requirements on the edge node. This approach also enables an increase in added intelligence, real-time analytics, aggregation of data, and advanced security at the edge. But, along with the increased performance and ease of use comes the complexity in implementation on the IoT gateway. As each sensor node does not necessarily use the same connectivity, communication protocol, security protocol or send the same size and form of data, all of this need to be abstracted at the IoT gateway. Handling so many different variables is not an easy task. As shown above, MIPS processors can handle this complex architecture of multiple connectivity technologies and IoT protocols efficiently and securely with its simultaneous multi-threading and hardware virtualization features.
To summarise, all of these processor categories described above, have the following components – a processor/microcontroller, connectivity module, some form of intelligence either embedded on the edge device and/or in the cloud and application-specific sensors and functions such as voice and video. The edge devices either connect directly to the cloud or via an IoT gateway. There is a MIPS processor class and features available to not only meet the application requirements but also the IoT critical requirements of security, low power and low cost.
To learn more, we recommend that you take a look at the wealth of documentation on parallelization/multi-threading; OmniShield security and hardware virtualization on the Imagination’s website, while some of the applications and use-cases for virtualization and multi-threading are described in several posts on our blog.