Intel Software Showcase
Matt: We’re hearing a lot about the Internet of Things (IoT) these days. What do you consider to be its distinguishing features? James: First of all it’s an explosion of innovation in the devices that one can build, but what fuels it is the enormous computing power that anything can access because of its connection to the Internet. So the ‘things’ that make up the IoT don’t need to be massive computers. Instead they can be the most itty-bitty little things, and it’s their connection to other computers that gives them the power. So it’s a logical extension of where we’ve been going for a long time, but suddenly a lot of things are clicking in place. Intel gets to help through our processor technology and design capabilities which allow us to build things like our Quark processor line: very small but extraordinarily powerful compute devices that can be embedded in things that are as small as buttons. Matt: What are the distinguishing features of Quark? James: I love it from an engineering standpoint because when I talk about the Xeon Phi the distinguishing characteristic is the drive for parallelism, but with Quark it’s about extremely low power consumption. It’s a capable and compatible device, in that it’s still an x86 architecture, but designed to consume the minimum of power. IoT devices need to run on very small batteries for a very long time, so our engineers need to reduce power consumption as much as possible, but from a system perspective the device still needs connectivity – it still needs to talk to the outside world. Furthermore it would be nice if you didn’t have to plug in a cable, which is why Intel is so excited about wireless power. So Quark is all about maintaining a small size and low power consumption, while retaining x86 compatibility which means you can use software tools that are already available. Our Atom processors are very low power too, but they are a little different in that they have the functionality you need for a phone or a tablet, which can be a bit more generous with battery power. After all, in a phone a large part of the weight comes from the battery, and the battery occupies almost half the interior space. We offer three ‘maker’ boards built around the Quark processor. The Galileo is the biggest and conforms to the Arduino specification. The Edison is also Arduino compatible but about as big as an SD memory card. Then there is the Curie, due for release later this year, which is the size of a button. With Quark you are looking at things that are so tiny, and batteries that are so tiny, and you want them to stay powered a long time. People think reducing power is just about making things consume less power when they’re on, but the secret is to turn them off as much as possible, keeping just small sections of the chip active so it knows when the rest of the chip needs to be turned back on. This is a different design problem because with phones it tends to be obvious when you want to use them, and with supercomputers they’re on all the time. With Quark we need to keep as much turned off as we can, except when we’re really sure it needs to be on, because the difference between consuming a little power or a lot of power may not be very much, but consuming no power at all can make a huge difference. Matt: How do you see these things communicating? Is there a TCP/IP stack in there? James: You are still going to want layered protocols, so you can route packets and so forth, but I would assume in general that communication will be wireless, through perhaps Bluetooth or 802.11. Of course the challenge will also be to keep the communication circuitry low power as well, so we’ll see evolutions in the wireless protocols that demand less and less power. Bluetooth is already designed to be pretty low power, but as we move to IoT I think we’ll put even more pressure on wireless protocols to cope with interference and other issues that arise as you reduce power consumption. It opens up interesting challenges, such as detecting signals that are below noise levels. Matt: You don’t necessarily want every device directly connected to the Internet. One model is to have a more powerful hub in a slightly remote location which talks directly to the devices, so anyone wanting access to them has to go through the hub. The hub can be more powerful, so it can deal with things like security, deciding who has access. James: Yes, IoT is another place where computer engineers need to be aware of parallelism, as it’s a distributed system. What you’ve described moves the security problem on the hub, which means the things themselves can be less complex. When I talk to professors about teaching the core concepts of parallelism, I tell them not to think of parallelism as just something you do on a supercomputer. Distributing your problem, doing parts of it here and parts of it there, brings up the usual issues of concurrency, such as race conditions and deadlocks. IoT is a massively parallel problem. I’m going to have little robots doing something here, and I’ve got a hub for security there, and I’ve got the cloud computer giving me face recognition and looking up Facebook entries: it’s an amazing application of parallel computing. And it’s not just for performance, as in supercomputers. Here parallelism is being used for a whole lot of reasons, such as your security example which simplifies the demand on the things themselves by distributing the problem. Matt: There’s also the question of whether you actually need real time data from the device all the time. James: Yes, if you can trust that you are always in touch with the devices, then the hub can just tell you when something changes, or when something bad happens. Matt: With regards to the IoT, what do you think are the main problems that need to be solved now – the main barriers against its full flourishing? James: I always think about programmers first, so for me, I just want to see these systems get easier and easier to program. People have amazing ideas about what they could build, and the simpler we can make it the more they can do. That excites me. Yes, there’s lots of technical challenges. Security is one of them, driving the power down, getting the right communication stacks; these are all interesting technical challenges, and I have a lot of faith in them being solved. I’m eager to see as many people as possible participate, which is why Intel has a programme to get a lot of Galileo boards into universities. Part of the reason is so we can learn by watching what they do with them. How successful is the programme? What are the challenges students have? What can we do better next time to make it more accessible to more students, so that it becomes intuitive enough for them to use their creative powers to do more with it? What excites me is that the Galileo and Edison boards are putting the excitement of computers back in the hands of more people. Matt: Are there any other technologies that Intel’s working on that relate to this area? James: Intel has the Quarks out on the edge, if you like, and we’ve got the servers, but we’re involved in a lot of other aspects too, such as how you connect everything together. You will continue to see Intel participating in the standards that cover such areas. As I said, wireless power is very interesting to Intel. When we first started talking about wireless power, people looked at us like we were really weird, as they were quite happy plugging a cable into their phone. I think they will like the idea of simply putting their phone somewhere to have it charge, but the real reason wireless power is so important to IoT is because, when you’ve got something the size of a button, then throwing it in a tray to recharge is much better than trying to figure out how to plug a cable in that’ll probably break the device if you put it in wrong. So Intel’s involved in a lot of the standards covering such areas, and of course as new protocols or wireless technologies come along they will get integrated into Quark, or into the cloud. There’s a lot of research in those areas. Ultimately we build some silicon for you to use, but we need to be involved in the standards, and we need software that works with the standards. It’s really cool to see our software tools being used for more than we imagined when we started producing our compilers and libraries and so forth. They were always designed for workstations and desktops, but now it’s up to supercomputers and down to Quarks. Support for the x86 architecture is important because it means programmers can use tools that are familiar to them if they want to work with the IoT. It’s a big boost for innovation. Matt: Do you see wireless power as something which can replace the battery, or more as a re-charge technology? James: Replacing the battery is not our vision right now. It’s a terrible thing for an electrical engineer to say ‘never’ but distance is still critical – the further you get from a source of radiated power the more the power dissipates. There are wild ideas about beaming power, and there are people looking at absorbing power from background noise, but there are lots of problems to be overcome. Never say never, but I think batteries are with us for the time being. Getting batteries smaller and getting power to the device more often would obviously be a big boost, and people keep making breakthroughs. Batteries really are kind of annoying, after all. Matt: It’s a technology that doesn’t seem to have kept pace with everything else. James: It’s hard to keep pace with processors. We keep driving them so much faster and tinier so it’s not a surprise to me that almost nothing else keeps up!