editor's blog
Subscribe Now

Embedded in the Cloud

This is a special one that’s going out to my home boy Jim Turley, who has a special relationship with Cloud Computing. He has a way of poking holes in one of the current darling of technology that is kind of undeniably persuasive. He makes you want to shout, as he shouts, “Testify!” even for me, who has been somewhat more optimistic about the possibilities of the cloud – and I’ve even worked for a company with a cloud-computing model (who has since pulled out of the cloud). (And I always like the emperor-has-no-clothes shouters – when they’re right, or partly right, anyway…)

Most of our cloud discussions have had to do with design tools. You know, using the cloud for peak usage and such. Which, as Jim has pointed out, feels very much like a trip back to the 70s and 80s. We have also talked about content in the cloud. But here’s a new one, as tossed out in a Wind River keynote at this week’s Multicore DevCon in Santa Clara: distributing your embedded code over the cloud. No, not like sending it to people: literally distributed computing – part of your software on your system, part in the cloud running an RTOS.

Yeah, you saw that right: real time.

Here’s the crux of what makes this remotely feasible: latency has dropped dramatically. Actually, there are two kinds of latency. The first I’ll call spin-up latency, and that’s the time it takes to get a system going. Back when I was involved in this, it took a good five minutes or so to get a machine ready to run. That meant that, from a farm standpoint, in order to give users reasonable response, you always had to have an idle machine warmed up ready to allocate. Once it got allocated, then you needed to spin another one up. Waiting five minutes would be totally unacceptable to a user.

This spin-up time is apparently much lower these days; no machines need to idle in the background like trucks at a truck stop while the driver grabs a sloppy joe.

Then there’s simple communication latency during operation. And this has also gotten much better, apparently. This, aided by technologies like KVM (kernel-based virtual machine), is making it feasible, or potentially feasible in the not-too-distant future, to run real-time functions in the cloud. Seriously.

This seems, well, surprising, but, then again, there are lots of things I wouldn’t have believed possible that I now take for granted, so perhaps I’m just an old codger. The other thing, of course, is that you have to convince your customer that your system won’t have any issues with ¾ of its code running in the cloud. Would love to see the safety-critical folks approve that one!

I will be watching with riveted attention to see how this plays out.

Hey Jim, waddaya think? Have we finally found a use for the cloud that you like?

(Heck, not just Jim – what do the rest of you think?)

Leave a Reply

featured blogs
Jul 20, 2018
https://youtu.be/KwrfcMtbMDM Coming from CDNLive Japan (camera Asushi Tanaka) Monday: Nicolas's Recipe for Digital Marketing in EDA Tuesday: Embargoed announcement Wednesday: Trends, Technologies, and Regulation in China's Auto Market Thursday: Breakfast Bytes Guide...
Jul 19, 2018
In the footer of Samtec.com, we'€™ve always made it easy to contact us by phone, email, or live chat (even fax back in the day!). To continue to progress this theme, you'€™ll now find a new helpful tool in the footer area of Samtec.com. This tool will match you up with yo...
Jul 16, 2018
Each instance of an Achronix Speedcore eFPGA in your ASIC or SoC design must be configured after the system powers up because Speedcore eFPGAs employ nonvolatile SRAM technology to store the eFPGA'€™s configuration bits. Each Speedcore instance contains its own FPGA configu...
Jul 12, 2018
A single failure of a machine due to heat can bring down an entire assembly line to halt. At the printed circuit board level, we designers need to provide the most robust solutions to keep the wheels...