A man with his Fingers in many millions of pies

Graham Morrison and Ben Everard meet the man responsible for more ‘pie’ puns than anyone else in the world – Eben Upton.

Image

“ The Raspberry Pi is still the best platform out there, and we’re making it better. ”

At the time of writing, over five million Raspberry Pis have been sold. That’s the same as the number of ZX Spectrums sold in the 80s. And like the Spectrum, the Pi is likely to have a far-reaching legacy, helping the next generation of games designers and computer scientists find their feet.

Countless numbers of people have helped make this happen, but Eben Upton has been there from the beginning. He’s the founder and the CEO of the Raspberry Pi Foundation, and he’s still shaping every aspect of the Raspberry Pi, from its hardware to the software. We met Eben shortly before the launch of the model 2. He told us about the effort they’ve put into making the Pi better and how a chance conversation with the boss of Google shaped the Pi’s future.

When did you start work on the recently launched Model 2?

Eben Upton: When we launched the B+, we already had Pi 2 silicon – this was the start of May last year (2014). And so the last bits of B+ design were done in the knowledge of the pin out on the [Broadcom] BCM2836 [the quad-core ARMv7 CPU on the Raspberry Pi 2]. It was designed so that, probably, we’d be able to squeeze Pi 2 into the same footprint.

Was that part of the motivation behind the B+ redesign?

EU: Not really. It was something we’d always wanted to do.

With only a nine months gap for sales of the then new B+?

EU: Yeah. B+ was a bit late. We wanted to do the rev. 3, which became B+. Ideally, it would have been good to do that six months to a year earlier than we did, but we just didn’t have any engineering time, partly because we were involved in some silicon work for BCM2836. We had limited resources and they didn’t quite stack up in order to get B+ out. Any less time on the market may have been a bit embarrassing, but B+ has had a solid six and a half months, which is alright.

How do you anticipate demand for the Model 2?

EU: Today is 20 January (the model 2 went on sale 14 days later), there are 10–20,000 in existence today. Sony will be building 20,000 a day at the end of the month, so there will be between 100 and 200 thousand on 2 February.

That will be in the past by the time this comes out, so you can say, “It’s gone brilliantly!”

EU: It’s gone brilliantly! Nothing went wrong. Everything’s great and everyone was very happy [much laughter]. We’ll see. I think people will be excited.

We’ve had sequential best months over the last few months. All of our last three months have been in the top five months we’ve ever had, in terms of volume. It feels like we’re going out on a high. It’s still a great platform. It’s still the best out there and we’re just making it better.

Image

By the time you read this the Pi’s sales figures will probably be some way in excess of the five million milestone.

Do you have any indication of where those 200,000 will go?

EU: Less than you’d think really. We know that maybe a third are going to industrial customers now – these kind of big batches that fall into a hole and disappear. People are using them as industrial controllers, people are prototyping other products. That happens a lot. Then the rest, it’s a split between the hobbyists and education. It’s pretty close, I think, to a third, a third and a third: industrial, hobbyist then education. You’ve got people who are buying them for themselves, to use as their own media centre, in the hobbyist sector, and then you’ve got the industrial sector who are buying and integrating them in a sense and selling them to people.

Has there been much traction with the Compute module?

EU: We’ve sold a lot of dev kits but not a lot of Compute modules, which is probably what we expected. I think the designing cycles proved to be longer than we were expecting, so we haven’t had any volume Compute module customers. With the exception of a few things like Slice (a media player using the Compute module), where we’ve had a few thousand. But we haven’t seen those 100,000 orders yet. I think it just takes a while to design anything and you could only buy those in June 2014.

When you say you think it’s about one third education, is that almost exclusively UK?

EU: No, we’ve got a lot of stuff in North America, quite a lot of stuff in Germany. The UK is leading the way – we are the first large-population country to have a decent computing curriculum (Estonia beat us). But a lot of the sales aren’t curriculum for the class – parents buy them for their kids, clubs buying them, grandparents, that sort of thing.

And the model 2 still has the Ethernet connection going through the USB?

EU: We’ve taken the long road to get here. People have been shouting at us for two years “Why don’t you go get one of those ARMv7 (non-Broadcom) chips you can get for £5 in China?” The reason is that I’m not a great fan of them. And also it would just break compatibility with the Pi, and it wouldn’t be a Raspberry Pi: it would be another computer, with a Raspberry Pi logo on. We’ve taken this long road of getting an SoC which has better ARM performance but is otherwise identical to any Pi device, in order the bring the community with us. So we avoid ending up either supporting two platforms or, more likely given the number of people we have, ditching support for the old platform. So we are going to keep supporting Raspberry Pi 1 for at least a couple of years. And we’re likely to keep on using Raspbian instead of upstream moving to regular ARM Debian. We’re going to benchmark it and find out. What I suspect we’ll find is there’ll be a few libraries that pose big performance improvements, and we’ll swap those out dynamically.

Is that for the original Pi as well? We’re assuming the video decoding stuff in the original Pi was more suitable for a set-top box or something you’d put under a TV, whereas ARM since then has been used in so many smartphones.

EU: The SoC has been used in mobiles, set-top boxes and obviously Raspberry Pi, so it’s a versatile little beastie.

Have you been as involved in the Raspberry Pi 2 design as the original?

EU: Yeah. The hardware design for this was done by James Adams, who’s our designer. He designed the B+ and the A+. The design for the original hardware was done by Pete Lomas. So it’s been good to be involved, good fun.

Is this the kind of release cadence we can expect to see from the Foundation in future?

EU: What, three years? Let’s see, where does that take us to? 2018. Yes, I do think we’ll probably want something else by 2018. Yeah, I think that’s about right. That gives us three years at $35. That’s the lovely thing about this – it gets us into the PC world. It gets us into the entry level PC. It’s the kind of device you could give to your gran. We have people here that are using them as their second machine at home.

Are there any new use cases that you think the Pi 2 will fit into with the extra power?

EU: The desktop is a good use case, running multi-threaded apps.

You said this Pi 2 has been in development for two years. At what point during Pi 1 development did you realise you needed to start designing Pi 2?

EU: It was about six months in that we became aware. We sort of stumbled on this thing, so towards the end of 2012 we were like, “OK, how do we get a platform going now?”

Or what the environment might be like in two years time?

EU: Yeah, or what will be relevant to us, what sort of price trajectories of the components would be and seeing what we could fit in – quite early on. I had a really good conversation with Eric Schmidt [executive chairman of Google] in January – so, exactly two years ago. We’d had all these ideas about doing a more expensive model, because there were lots of small board computers that cost around $50, $60, $70, right?

We were really starting to see things at $60–70, because now there was a profusion of $50–70 machines, and I think we can take credit for catalysing that development. We were thinking we could do something really great at $60 and I happened to mention it to Eric. He said, “So what are you going to do next?” I told Eric we’d been looking at making a more expensive model.

Eric said “Don’t be an idiot!” or words to that effect. “That’s completely insane – see if you can make a free computer.” Because obviously I’m patting myself on the back, thinking, “Yeah, you know, I made this $25 computer – then he resoundingly refused to pat me on the back and slagged me off for it being too expensive.”

Did you understand what he said instantly?

EU: Yes. I went back to the office and I cancelled every investigation into a faster machine. That afternoon. Because it was the right thing to do and as soon as someone says it to you, particularly someone like that who you’re not going to question really. You kind of think, this guy obviously knows what he’s doing, he’s got the biggest brain on the planet. I went back to the office and cancelled everything. Every investigation we had into a higher performance, incompatible, more expensive device.

So the two outcomes of that one conversation are this thing [Eben picks up the Raspberry Pi 2] and the A+. A+ is the ‘can we make it cheaper’, ’can we sacrifice anything’, though of course we’re not really sacrificing anything. I think without that conversation, the A+ might have been a $25 machine with half a gig of RAM. We might have ended up there instead. So the sacrifice in some sense is a bit more RAM – that was one outcome of that conversation. The other was the Pi v2, and they both took about two years.

Image

The Raspbery Pi isn’t just about the hardware – the chap on the right here is Ben Nuttall, part of the Foundation’s education team.

Has it surprised you that no one has come along and tried to create something cheaper?

EU: Yeah, it is surprising, I think. It’s surprising to me but it is tough to do. It’s difficult and it’s hard to do at scale. I think you can make these things for this sort of price – and you’ve seen one or two people manage while making sacrifices, often using a less good SoC. But Sony will be building 20,000 units a day, at peak, of the Model 2, and it’s really hard to do that.

So it’s that combination of cheapness and availability. There have always been small working computers. But often they weren’t available. They were a lovely idea but you just couldn’t buy them. They were not in stock – you had to wait for the next delivery, or for the next batch of 1,000 units to be made.

You can build a business around [Raspberry Pi] because you can depend on them existing – like with the Model B, we still build Model Bs – these guys have sold tens of thousands, probably, we’ve built new (old) Model Bs after the launch of the new Model B+, not just selling our old stock, but building tens of thousands of Model Bs to supply industrial customers who built a business around the Model B and they haven’t been able to transition to the B+ yet. And I think the same thing may happen with the B+ – we’ve sold a couple of hundred thousand B+s.

Despite Moore’s law, our computers don’t feel any faster than they did 20 years ago. Even an old Raspberry Pi has millions of cycles per second to use.

EU: It’s got a lot to do with Parkinson’s law too – work expands to the time available. So this is kind of the CPU version of Parkinson’s law. One of the things we’ve done with the Pi is refuse to accept that 700 million cycles-per-second in the processor is slow. I just won’t accept it. And people kept saying, “It’s such a slow processor.” and I’m saying “It can do 700 million things a second! Your high-definition screen has only got two million pixels. You can do 350 things to each pixel on your screen every second. How is that slow?” I don’t believe it, and [the Pi] has even got vector operations, and the FP [floating point processor] has even got multimedia accelerations, MMX-like operations. So I just refuse to believe that they’re slow.

We’ve spent so much money on open source software. We’ve spent so much money on the WebKit browser engine and Libav [for multimedia playback] and Squeak [an open implementation of the Smalltalk programming language] and PyPi [the Python Package Index] and KICAD [software for designing electronic circuits], LibreOffice, even. You look at these packages and you think well, I just refuse to believe that this should be slow. And you go through and you find out why. This is the thing no one ever does. Everyone has just been mesmerised. You could just sit on your arse and in two years time, everything will be twice as fast, and that’s coming to an end. So we’re kind of like the future. This increase in performance is not available to us any more.

But also, it hasn’t succeeded. Our desktops and our laptops are still slow.

EU: I’ve got a BBC Micro on my desk because I do word processing on my BBC Micro. I hit the button and it’s on. If I set the jumpers right I can even configure it to boot into a word processor in one second. Obviously we’ve gained a lot. But from a strict usability point of view it’s really surprising how much everything hasn’t got any better.

It’s one of the reasons why I like to ship RiscOS, because although RiscOS isn’t a modern operating system and it lacks lots of things, it does show you what you get if you took an OS from the mid-90s and don’t add any crap to it in the form of features people don’t need. And the answer is blindingly fast.

So what we’ve done with Pi 1, we’ve gone through everything. We’ve found out why it’s slow. We found out why the web browser was slow. And then we went through and we laboriously turned on features, because actually WebKit has got lots of great features, because it will run on mobile phones, but none of those features are turned on in any of the desktop versions. So we went through and we turned all of those on, plumbed in the video accelerators. We just did that work.

You’ve got WebKit and Cairo; we went through and we found every pixmap call they made and then we made sure they used the fastpath mode and made sure that all of them hit fastpaths rather than the generic and very slow CPU compositor format. Same with Libav – all your codecs and transport streams, remapped.

We’ve put two man years into Squeak and Scratch. Two man years on Pixman and Libav. Four man years on the web browser.

That’s a huge amount of effort to put in when you could have just doubled the CPU speed!

EU: Absolutely! There’s a factor of two improvement from all the optimisations we’ve made. It’s worth going back on the Pi and running an old image – go and run an image from March 2012. It’s amazing, the performance difference. It’s amazing how much of a difference non-optimised memory copy makes.

And you don’t have to abandon all that optimisation work with the new model?

EU: You don’t abandon that. We would have had to abandon it if we’d moved to a different SoC. So you’ve got that factor of two in the attention to detail. Some of that stuff will be ARMv6 specific, so we’ve got to go back and do that for ARMv7, so there is more work to do, but the nice thing having done it with ARMv6 is that we’ve now got a shopping list.

We know what attention to detail actually looks like – it looks like writing all of these functions and we’ll just go back and say, for each of those functions is there already an ARMv7 version? If there’s already an ARMv7 version, do we like it? If we don’t like it let’s rewrite it. If there isn’t one, can we use the ARMv6 function that we already wrote? If we can’t use it, then use the ARMv7 version. We now have a shopping list, a kind of handle-turning exercise that will make this platform better over the next six months.