How much computing power is enough?

Computing power has increased exponentially over the last decades. You now have more processing power in your pocket calculator than in the first rocket to the moon! And yet we are always looking to the newer faster model that will make our tasks just a little bit easier. Ironically, along with increased speed comes applications with more sophisticated user interfaces and bloated feature sets, with a net gain in increased performance of nearly zero.

Typically when worked in an embedded environment, processing power, memory and storage are finite and tend to be on the low side. In recent years however, with the advent of low power micro computers such as the raspberry pi the line between computer and embedded device has become more blurred.

Answering the question "is this enough power for my needs?" obviously depends on the type of service you plan to offer - if its an embedded HD video solution chances are more is better. But if you need to build a home automation controller, data logger or other device that does not require high processing power then you are left with a choice of plenty of low to mid range MCUs that fit the description nicely. Using a non-Linux custom operating system does not mean your device can't have all the bells and whistles of a more powerful one - it may just do the same thing a little more slowly. A web interface with embedded scripting language may produce a page in 1 second rather than in 20ms on a raspberry pi, but if this is a task that is performed intermittently such as checking a graph or logging in once a day, it may not justify the complexity and resources of a higher power processor.

As an example of what can be achieved with limited resources, the Wattmon device runs on a pic32mx processor with 512k of Flash and 128k of RAM. This executes a customised FreeRTOS based system with Ethernet, USB host support for 3G data cards, microSD storage, and a PHP compatible scripting language. The embedded web server can handle up to 7 concurrent connections, and the scripting engine can run several scripts simultaneously in a preemptive multitasking environment. Does it work as quickly as a Linux based processor with 1GB of RAM? No. But it does work well and serves up web pages at a very decent speed, has real computing power, and runs on less than two watts including the Ethernet hardware, making it a low cost computing platform for remote monitoring and control.

This is just one example of many that can be found on the Internet that push the limits of embedded platform and show what can be done with limited resources. So next time you ask yourself whether bigger and faster is better, remember that sometimes it just isn't necessary.

Comments | Add yours
  • No comments found
Add comment