Is the Internet of Things really something that will impact system design, or is it just a new spin on an old problem?
Over the past few months, and especially at DAC, I have been struck by the amount of interest in IoT and its impact on semiconductor design. In this post I will look at how IoT impacts the life of system designers — and explore if it really changes anything.
Important source of semiconductor growth
IoT is clearly important to investors, semiconductor makers, IP and EDA because it expands the available market. While estimates vary on the exact impact it will have on unit shipments, the consensus is that it results in billions of new semiconductor units.
If you want to get the interest of an investor, IoT is a good place to start, but does it really impact design?
What is IoT really about?
My simplistic view of IoT is that it represents a redistribution of the intelligence in a system. IoT endpoints have just enough connectivity and processing power to collect, process and communicate data back to the network. Additionally endpoints provide control functions to react to the application logic. Application logic is moved into the cloud, where data from multiple sources is used to obtain new insights making application logic more powerful.
From a design perspective moving application logic to the cloud reduces power requirements for the endpoint, and allows an application to evolve without needing to constantly change the embedded firmware.
Endpoints become narrowly focused communications and data processing engines.
The start of a new cycle
Systems design is constantly going through cycles of one sort or another — for example, the move from standard components to application-specific — and then back to standard components once the capabilities of those parts catch up.
As a communications system designer, IoT feels similar to the pre-smartphone days of fixed and mobile networks. In those days the endpoints had just enough intelligence to capture voice and feed it to the network. All application logic was in the exchange. With the initial move to smartphones and an IP-based network, processing for non-voice applications was moved into the endpoints, which became powerful processing nodes in their own right.
Even before IoT, application intelligence began to move from the devices back into what we know as the cloud. Look at how many apps on your smartphone cannot be used in the absence of a data connection, and compare that to a few years ago. In many ways your smart device, while more powerful than ever, is really not that smart. It’s just a collection of sensors feeding into the network. IoT accelerates this migration and changes the endpoint requirements.
So what, if anything, does it really mean for (system) design?
For systems design, IoT already is having a huge impact. The separation of application logic and data processing opens up a new set of design possibilities. System design is no longer about what can be achieved with limited processing power or within packaging constraints. It’s about the data that is needed to implement your system in a distributed manner, and how to collect that data with low-cost, low-power endpoints.
Life for the endpoint designer gets more complicated. Security becomes more important than ever as each endpoint represents an access point into the distributed system. Any weakness will be exploited and used to gain control or expose sensitive data.
First and foremost the endpoint design needs to focus on communication and security, then on the raw data processing requirements in the cheapest form possible.
The end of complex SoCs?
IoT does not replace existing systems or the need for complex SoCs. The need for new and more powerful SoCs will only grow in the years to come. Instead, IoT represents a new generation of the distributed applications that may seem familiar to systems and telecommunications designers.