[From the last episode: We looked at multicoreDescribes a computer chip that has more than one CPU on it. processorsA computer chip that does computing work for a computer. It may do general work (like in your home computer) or it may do specialized work (like some of the processors in your smartphone)., which use more than one CPUStands for "central processing unit." Basically, it's a microprocessor - the main one in the computer. Things get a bit more complicated because, these days, there may be more than one microprocessor. But you can safely think of all of them together as the CPU..]
We’ve now seen two different ways in which computing can be split up and run on multiple engines at the same time. Those engines can be in different computers or next to each other on the same chipAn electronic device made on a piece of silicon. These days, it could also involve a mechanical chip, but, to the outside world, everything looks electronic. The chip is usually in some kind of package; that package might contain multiple chips. "Integrated circuit," and "IC" mean the same thing, but refer only to electronic chips, not mechanical chips.. Or both.
So let’s put these into a specific IoTThe Internet of Things. A broad term covering many different applications where "things" are interconnected through the internet. context. Where are we likely to find the need for this kind of capability?
The Edge: Less Computing
Let me start by saying that there’s a big move to do more and more at the edgeThis term is slightly confusing because, in different contexts, in means slightly different things. In general, when talking about networks, it refers to that part of the network where devices (computers, printers, etc.) are connected. That's in contrast to the core, which is the middle of the network where lots of traffic gets moved around. instead of the cloudA generic phrase referring to large numbers of computers located somewhere far away and accessed over the internet. For the IoT, computing may be local, done in the same system or building, or in the cloud, with data shipped up to the cloud and then the result shipped back down.. Doing so reduces the amount of communication needed with the cloud – and it makes it possible for you to do more things without requiring a connectionThis refers to some kind of electrical connection. It might be through a network cable, a cable connection, a wireless connection, or a phone - just to name some options. The connection might be to the internet or to some other local device. (if the company you bought your device from designed it to work without a connection). So what I’m going to say here may evolve over time.
But, for now, not a lot of computing happens at the edge. It depends partly on the price of the device and whether or not the device will be battery-powered. The cheaper the device, the less computing you can afford to do. And battery-powered devices need to be much stingier with energy, and so their capabilities may also be limited.
We saw before that we’ll use smaller processors at the edge. That trend continues with the number of CPUs used. Your IoT device will likely not have hardwareIn this context, "hardware" refers to functions in an IoT device that are built into a silicon chip or some other dedicated component. It's distinct from "software," which refers to instructions running on a processor. multi-threading, and it’s extremely unlikely to use a true multicore processor. It just doesn’t have enough work to do.
Almost by definition, you won’t be doing distributed computingA way of breaking up calculations and letting more than one computer work on different pieces at the same time in order to speed up the solution. – for the tasks that the device does by itself. The fact that it might send some tasks to the cloud is sort of a form of distributed computing since it’s using more than one computer to do something. But, in the simplest sense, an IoT device will do all of its own computing with a single, simple CPU.
The Cloud: Distributed by Definition
At the other extreme, we have the cloud. And the cloud is a computer farmA collection of computers that are interconnected so that they can share and distribute work. For our purposes, it’s the same as a data center, but the focus is on the collection of computers. – or more than one. By definition, that means that the cloud-computing tasks have more than one computer available. But part of that is because the cloud isn’t just dealing with communication and computing for your device; it’s handing lots of different tasks for different clients at the same time.
So what about for your specific task? Yes, when you go into the cloud, you may have a choice of computers to work on your task, but, once the cloud (in the form, for example, of a load balancer) has picked the computer it’s going to use, can that computer handle the task by itself or does it need other computers to help complete the task?
And the answer is, “It depends.” Most of the simple tasks can be done on one machineIn our context, a machine is anything that isn't human (or living). That includes electronic equipment like computers and phones.. But if the task involves, for example, AIA broad term for technology that acts more human-like than a typical machine, especially when it comes to "thinking." Machine learning is one approach to AI. algorithmsA way of calculating something, typically as a step-by-step recipe. A familiar one to all of us is how we do long division on paper: that's an algorithm. Algorithms abound in the IoT., they may need some help. As we’ll see in a future post, the way work is done in the cloud may also be split between multiple serversA computer with a dedicated purpose. Older familiar examples are print servers (a computer that controls local printing) and file servers (a computer used for storing files centrally). More modern examples are web servers (the computers that handle your web requests when you use your browser) or application servers (computers dedicated to handling the computing needs of a specific application). Servers are often powerful, expensive machines since they have to handle a heavy load.. The bottom line here is that multiple computer are available if a task requires them.
Between the Edge and the Cloud
We’ve seen that there are computing resources literally between the edge and the cloud. One might be your smart-home gatewayA piece of electronic network equipment that takes a local network and gives it access to the internet. Your cable modem, for instance, might act as a gateway.. Or your cable modemA piece of network equipment that converts data into a format that can be transmitted. Old modems sent the data on a phone line; modern cable modems send the data across a cable connection. It stands for "modulator/demodulator.". There are routersAn electronic box that helps steer data on a network. For instance, you may have one in your home connecting your phone and computer and other devices to each other and to the internet. The data itself has information about where it's being sent; the router uses that information to send it in the right direction. At a really basic level, you can think of a router and a switch as being the same thing. If you want to get more technical, a switch creates a local subnetwork, and the router connects multiple subnetworks (or multiple networks). between your home and the cloud. All of these devices do some kind of computing. For routers and other boxes whose sole purpose is to get your message to or from the cloud, they have specialized processors – which are likely to be multicore – to handle the vast volume of networkA collection of items like computers, printers, phones, and other electronic items that are connected together by switches and routers. A network allows the connected devices to talk to each other electronically. The internet is an example of an extremely large network. Your home network, if you have one, is an example of a small local network. trafficRefers to any kind of electronic message -- email, web request, streaming video, or anything else -- that travels over a network..
But some of these devices – like the gateway – may also have the capability of doing more app-related computing. If the box is in your home, dealing only with your devices, then there’s a good chance that it won’t need multi-threading or multicore processors to handle the load – assuming that it’s using other resources to take care of basic communication stuff. Once you start moving out of your home and into the internet, where the boxes are dealing with more than just you, they may need more help.
In these cases, multi-threading and multicore are easier ways to go, since you can put them in a single box. You can imagine that going from one box to needing multiple boxes for distributed computing would be a huge step if you don’t already have a farm of these boxes available to share the load. So that’s much less likely outside the cloud.
Leave a Reply