Posted in Mark J. Foster


OLPC Laptop Physical Design

In October 2006, Mark J. Foster, Vice President, Engineering and Chief Architect of One Laptop Per Child and a leading computer portables expert, presented OLPC technology at the Stanford EE Computer Systems Colloquium. Specifically, EE380. The Electrical Engineering Department's, Computer Systems Curriculum

Due to its length, the transcript of his speech was divided into three parts. Below is Part 3 of Mr. Foster's speech. Please continue to Part 1 and Part 2 for the full transcript.


Mark: Now, we're going to shift gears a little bit. As we're putting this system together, I want to talk about some of the stuff that happens in the real world, and what I'm going to do is talk about a pair of ASICs that I didn't know I was going to create or have to create. Instead we're going to talk about as we're marching through the program, we have these various things happen, and they led to the creation of ASICs and this happened twice, and I'll discuss this process and both of these with you and let you see what it's really like working on systems like this. So first thing is, we needed a faster storage interface.

As it turns out, the GX2's nand flash controller, our primary storage that we store everything, is too slow. We wanted it to be fast, and so, that's tough, because it's highly integrated within the Southbridge chip that comes with the CPU. The second thing is, at the end of march was my first countries meeting, when we had all the countries representative in the room, and we went through and described the machine and the one question that really jumped out was, how can we do some storage expansion? We want to have the ability to get more content.

And our first answer was absolutely and still is the wireless mesh. The combination of the school's server having storage that's easily accessible from your machine, provides a convenient repository. And we're providing tools in fact for backup and other means of managing your content. But at the same time, what if you're not in range of that school server? They wanted some ability to get more storage.

And the final thing is, the camera. No, we did not originally have a camera. But as they went through their UI thing, the UI experiments, they learned something that I thought was very compelling. Imagine the situation, you're illiterate. You can talk, but you can't read or write. This may be because you're three, or it may be because you haven't been properly educated.

Whatever the reason, and now suddenly the OLPC machines arrives. And the scenario is, as you open up that notebook, it guides you through the process of setting it up, taking your picture, and because the wireless mesh automatically configures itself, the first experience you have when you open up this machine, are the pictures of your friends, in your village starting to appear around you. And it was really like why don't we stop arguing about the cost when I got that through my head. We had to do it cheaply though. How do you do this inexpensively? This is hard because this is not an inexpensive option. We created a little device we call CAFE. Camera and flash enabler.

It's a bus-mastering PC interface, high performance NAND flash controller, it also adds a secure digital slot and it has the camera interface. And interestingly enough, this part is in SVGA form right now, all three of the sub-systems are running, and this happened in about ten weeks. Very very fast, and one of the reasons, because we've got some great partners who believe in the project, who presented this to them, they kind of went gulp, and they made it a priority, and they made it happen. And again, that list of sponsors, I want to thank them profoundly, they let us do things that a lot of companies can't do, we certainly can hit schedules that a lot of companies can't hit. And that part is going to be here in ASIC form in December.

This one was even worse. The very first week that I joined OLPC, I saw Mary Lou's panel, and realized wait a minute. How do I talk to those pixels which are in different locations? In other words, if the first pixel on the first scan line is red, and the first pixel on the next scan line is green, and the first pixel on the next scan line is blue, oh my gosh. Now you start thinking about those image perimeters, to blip onto the screen or trying to do video, ouch, tough, tricky. That pixel pattern I showed you with the colored stripes, is physical. That's the way the pixels are laid out. So that was tough.

And the second one was even more serious. Much more serious. Power consumption. We know we're going to have human power input. We know we want to hit two watts. And the numbers came in from the first motherboard, best results, and they were too high. Way too high. And what did we do? This was literally the first week I was at OLPC, and it was in Taiwan. That's when I went through that list of 315 CPUs trying to find something that might solve the problem. I couldn't, it didn't exist. Well, what we wound up doing was this. A device called DCON - Display Controller. This is very architecturally interesting I think for a few things.

First it uses a much more inexpensive interface for the panel. Conventional panels, hi-res panels, 1200X900 panels and up, use what's called LVDS - Low Voltage Differential Signaling. Fine interface and it works great, but it's expensive and it burns a lot of power it's fundamentally analog interface. So what we do is, instead we're using what is called DETTL, a proprietary interface, but it's like DDR ram, it's double edged TTL, meaning you're double parking sending data on the rising and falling edge of the clock. Nice thing about it is it's much less expensive, much lower power consumption than conventional PC interfaces.

Panel compatibility. OK we can fix that too. The other thing that this ASIC does is it descrambles the color. It automatically makes it look like a compatible panel, taking in 24 bit data and automatically selecting which color information is appropriate based on the mode that we're running in, so it runs in both mono and color mode. It does antialiasing, and here's the really cool part, it also has self-refresh capability. What does that mean? This is what makes DCON fun. This is what a normal system looks like with a geode. [picture of architecture] Nothing terribly complicated. Ram, CPU, Display. Talks directly to it, no problem.

Not good for power. It's not normal, you would think, that adding parts is the way to save power, but it certainly is here. Here's what DCON does. We inject it between the CPU and the display, and it's got a little tiny ram on it. And what's happening is we are enabling the panel to look as though it has memory. So what actually happens is we load individual video frames into the DCON, it does all this magic processing stuff and takes the bare minimum number of bits needed to drive the panel, and sticks them into it's own little frame buffer, that little one megabyte ram on the side. Then we bring down this DCON load signal and the panel continues to run. What do we do in the mean time? Turn the system off. And you don't even know that we're doing it.

Power management is really really important. It is our top priority. Has anybody read Robert Hamline? [sp] He's my favorite science fiction author. Does anyone know what TANSTAAFL stands for? There ain't no such thing as a free lunch. I love that line because it's true in so many situations. What's very neat about power management, is it's one of the few things that can prove that statement wrong. Because if you do power management right, it is a free lunch. Systems get lighter, last longer, need less power. So hard, and DCON though is really a big trick of it. If you're not familiar with suspend to ram, hopefully you are. A lot of notebooks are suspend to ram. You close them, they go to sleep, you open them up, they wake up. The other way to do it of course is hibernate mode, where your running off the hard disk. We don't have a hard disk, so it's not appropriate for this machine anyway. So we want the ability to suspend to ram quickly.

Really quickly. Normal notebooks it varies, seconds to ten seconds in that range to go through the suspend resume cycle. We want to do it in 100 milliseconds. Not easy. A lot of software going on there. That's exactly what's happening, so what happens is, we load that frame, that video frame into the DCON that I mentioned. The system within seconds of you're stopping typing, goes to sleep. It depends on system activity of course, if you're computing PI or something, it will stay awake for you, but the majority of the time, it will go to sleep. You won't know. The screen is still running. And the instant you type, from having extremely fast resume, the system is immediately back awake and working. This is hard. A really hard problem. It goes all the way up and down the kernel stack, it involves lots of changes, it involves device drivers, but by doing this we completely change the economics of the device from a power perspective, we change the power budget and that's how we're going to hit our target power consumption of two watts average in e-book mode.

[question from audience]: What's the power consumption of turning the system off and on?

Mark: Again, it depends on the system condition, but this chip will make the difference on the average power consumption of two watts and about five watts.

[question from audience]: What is the peak power of it?

Mark: If we turn everything on, turn the sound all the way up, load in all the USB ports, we can get it up to almost 15 watts, but it would be really really hard. But again, that's another order of magnitude compared to where PCs are today. Again, size for the environment. Some architecture is really fun, I'm going to completely do it aside. What I actually did with the time was probably, Intel as well, and [xx] . Anyway, we did the world's fastest single enclosure general purpose computer system.

It was really neat. From the computer architecture perspective, we loved it. It was one of the first blade type servers. It was really fun, but you know what, That's our traditional computer architecture and I realize I'm probably pretty far out there for a lot of you guys who are really concentrating on the computing end. But there's something that is so cool about creating a device that is so appropriate for kids, and putting it in their hands and I hope that you don't get overly myopic in your study of computing and I encourage you to look at other disciplines as well. Because there's some really neat stuff to do, and it's certainly satisfying.

[question from audience]: If you're computing time, but you're not doing any more user input, does it stop refreshing the screen then just do this loop up here, unless it has to refresh it's screen?

Mark: We're modifying the x-window system manager, which automatically has a task list, it knows what it wants to do. It's already been modified in fact, so that as you are using the system, when it needs to do tasks for the screen, it automatically brings this DCON mode signal active, performs the write though into the frame buffer, and then goes away again. We're even smart enough to know that if you're continually updating the screen, we don't even bother sticking it in the frame buffer. Which is really nice, in fact, when you're done is when it's necessary to quickly write it to the frame buffer, and then continue to refresh it on the screen, so yeah it's got some fairly nice marks [xx].

[question from audience]: [inaudible voice]

Mark: Yes, in fact the DETTL interface absolutely saves energy as well. No questions about it.

Finally let's talk about system software, and software in general. Bloat ware, this is a problem, and I'm not focusing on a company, I'm not focusing on anything in particular, I'm talking about a general situation that exists in the world today. Power management I mentioned is one of the two things that can disprove TANSTAAFL, and the other thing is efficiency. Folks don't spend much time on it these days. Sadly, we are, because you know what, if we put in the effort to really tune, really profile, improve the speed, we don't have to spend as much money on the CPU, we don't need as much ram, we get our power consumption down to the point where human power is actually possible. And so an enormous amount of energy is going into just that.

[question from audience]: Are we going to be able to download arbitrary software and install it? Because installing minesweeper would totally destroy that.

Mark: Well, exactly. There are multiple things there. We are not going to rule what people do, it is not our intention to dictate anything, and we're going to be wide open with an important exception. We're going to be one of the most attractive hacker targets ever created. There will probably be more of this machine as a hit than every single machine that's ever been created, and they're all connected via wireless. ouch. What do we do? What we're doing is a lot. we're doing a lot of work in fact on, improving system security. So we actually have a bios that you can not write to no matter how hard you try, unless you have a signed image to replace it. And all of our software in fact is going to be signed. Now does this mean we're restricting what people can run? No it doesn't but it does mean there's a step you need to go through to have your software verified if you will. to check to make sure it's not just a virus before we give you a signing key.

[question from audience]: use verisign.

Mark: tricky tricky, we don't solve all those problems, we have a world of folks that are buying them that are going to help us. What we're trying to do is provide the infrastructure to make it possible. We don't claim to be the sensors, We aren't going to be, believe me, that's not our job. Always tricky. The only way to do it is test you have some reasonable degree of certainty and it's going to wind up being a committee for each country, what ever it is, but we can't solve every social problem. We don't claim we can. We know that this is not going to solve all the world's problems, but it's going to give a lot of kids a chance, that they wouldn't have had any other way. And there are areas that are tough, these are really discussions for philosophy class, and there we have to work and provide the tools, hope that the governments do the right thing, advise where we can, but it's not our decisions. We can't do that.

But certainly the secured bios is important, a very important thing, it prevents the disaster virus scenario that you see, and again, this is all developed from open source projects, so you guys can check this out as well if you go to our development mailing list you can see this occurring, you see the discussions, you'll see the attempts we make when it wasn't secure enough when we get some really vice folks trying to break it, trying to figure out ways around it, we keep iterating until we get it right. Looks pretty good right now.

[question from audience]: When I think of Linux, I think of security. And do you provide any development with that for kids who are more advanced and write their own programs?

Mark: Yes, we will provide tools for kids to write their own programs of course. Naturally anyone could write programs for the machine. The trick is if you want to go in and replace the kernel, there's an extra step you want to take, if you want to replace the bios, there's even more of a step you want to take. So it kind of rings in all security models, but this will be extremely open. Let's give you some examples. First of all, you'll see at the bottom, the "SUGAR" user environment. This is a completely new user interface. We're not running Gnome, We're not running anything you're familiar with, this is new, and it's totally targeted at kids.

It's very friendly, it's very approachable, and it's powerful. And programming is a big piece of what we're doing. A lot of the interface and structure is written in Python, everything can be scripted with all kinds of friendly front-ends around it to make it easier. And inclusion of languages like LOGO. A lot of this is totally so easy guys I haven’t had a chance to play with these but there have been some actually really cool work done to make very approachable systems for kids. LOGO is one, it's terrific. And in fact it's really neat, I've seen the demo where they've got it running in normal web browsers so anyone can come in and browse to a site and you've got LOGO. It's fun to play and it's very easy and you immediately begin learning programming concepts.

[question from audience]: [inaudible voice]

Mark: Yes yes, and there's also E-toys, and this one has an even stranger, this is small-talk, and then squeak dialect that is evolved to E-toys, and it's a really cool environment for kids. It's very simple, and you imagine, writing your own little game, and you can write it in a sharing way. One of the things I really haven't mentioned a lot about yet is collaboration. This whole user environment, what we're wrapping around it is the ability to share everywhere. So multiple people together can be running a document. Multiple kids together can be working on one picture. And this is available to any application because it's a system service.

And the interface that's used, is a journal. So everything you have is in a journal, and it's tagged, and it has incredibly nice search capabilities built in. So this very very easy way is a great model for learning. It's a journal of all the things you've done, and the system automatically logs everything you do. And as it gets older, the detail starts to get less. So you have a history of the things you created, who you worked with, and who you've chatted with, and it's all there for you. And that's how you organize all your information. It's a really neat little model. In fact, you can actually run it, if anyone wants to get into Linux, you can go check out our little development community, you'll see that regular daily builds are available from Red Hat that contain this image, and it's really getting cool.

[question from audience]: can you maintain when you've only got half a gig of flash in the machine?

Mark: Yeah it's obviously, there's a management question there, and we make sure that we provide the tools for kids to be able to make their decision. The thing that's really interesting is, it's sort of equivalent to a garbage collector, in filtering out as time goes on, the amount of detail kind of decreases. You have a very fine granulary, lots of detail up front. As you go older, only more significant, more infrequent episodes are stored. And again, it ultimately, we can't do AI, we have some nice defaults and the tools for kids to help themselves. Everything about this, we're not peddling to dumb kids.

We don't think kids are dumb, we think they're smart. We want to give them a very approachable environment, but beneath it, you've got access to the knowledge. We want to drive them deeper into the system, this is all open source for a reason, we want them to modify the code, we want them to get in and learn more. Software is one of the best opportunities that these kids could get. Because it doesn't need a lot of infrastructure, you need a machine, you need the tools. We provide those tools, and you don't need to have a big investment other than time. So absolutely, developing software skills is crucial, and we're trying to make sure we make it possible.

[question from audience]: This BYP you haven't mentioned, but it seems to me that in many of these villages where these machines are going to be, there is no other way to communicate with the market for the goods that are here, and find out what the price is for yams this week.

Mark: Exactly correct. Obviously in most of the world, the cell phone is certainly serving an important role, but you bet. A lot of these locations, there's no way. There's no cellular infrastructure either and you're right, that's why BYP is on the list.

[same person from audience]: I mean the kid is going to have to fight with his mom and dad.

Mark: Wouldn't surprise me. That's the whole thing. How you communicate in these environments, and a lot of them today is runners. There's just no infrastructure, there aren't telephones, there aren't cell phones, and so every time we think we've got it nailed, we make sure we talk to the country and make sure we ask about any feature, because you just can't appreciate how different it is in a lot of these places, and how tough these kids have had it, and it increases the number of problems we have to solve of course, but that's what's appropriate for the solution.

[question from audience]: Where are you going to get all this educational content?

Mark: Oh boy, we need to have some of the content people talk to you, We've got several folks, in fact, the founder of wikipedia is an OLPC employee, and many many others, that's just a start. We're talking to content people all over. The ongoing challenge of expanding that content is going to be not an OLPC activity. We're providing authoring tools, guidance, how to write e-books, search facilities, distribution means, but the reality is, it's going to come from the educators that are there today. We're trying to provide the tools and enable them, to provide some example content, reference content, etc. But a lot of it's going to come from the developing community for this machine. It's a big issue, and I'm not trying to belittle it. It's a big one.

[question from audience]: Is there an OLPC wiki?

Mark: Oh yes, laptop.org is the OLPC wiki. Everything we do is a wiki.

[question from audience]: Just real quick, reparability? What if something does break on the hardware? What are the options?

Mark: It will depend completely on the country. It depends on how they want to handle it. In general the response has been, the country will have primary responsibility for service. We will obviously supply them with spare parts, and training, obviously they will have the equivalent of a service center. But to be honest, we think an awful lot of it will end up being done by the kids. The older kids helping the younger kids, etc. etc. And this may sound goofy, but remember this is going to be a major major element in these kids' lives. You snap the bumpers off, you get access to the inner system, there's one board, there aren't lots of connectors and pc cables like most systems, this is much much parser in that sense than most systems.

[question from audience]: How long are you hoping this will last?

Mark: five years. Our target is five years. Beyond that would be great, but MTBF, battery target, we're really shooting for five years.

[question from audience]: This is a great educational experiment, and you're going to be able to get researchers looking at the data that these kids are developing and find out what really works to teach kids content.

Mark: Absolutely. Yeah we've got in fact in each of the countries, and in many of the countries that aren't our launch countries, one of the most intriguing sources of content are Christian universities. All over, the national universities are jumping on this big time, and offering significant resources to help find new content, to help tailor it to the machine, and we're trying to push to, we're listening trying to find new ways of expressing content. A really intriguing little science experiment somebody has done, for example, something that really hooks kids, then yeah, we want to stick it on the machine, it's reference examples to help guide others to follow these redirections, that other folks are coming up with. Again, we are largely a coordinator for content, we are not trying to claim we can author all the world's content or even stretch the imagination. Or even publish it all, that's not the goal. We're going to provide the tools and the techniques that make it possible.

[question from audience]: So, suppose we have all the kids wired up, you have a whole classroom, 30, 40, maybe even 100 kids and one teacher. Does the teacher have any technology? Because if they're technologically illiterate, how are they going to grade, interact? It seems that would be an impediment to OLPC.

Mark: And without being derogatory in the least, that is literally a great question for sociology class. It's an enormous issue. How do we change a culture? One of the reasons again we're back to that million units, why? You need to hit critical mass. You need to ensure that you've got the volume to support the investment to help change curriculum. To help teach teachers. And it is not going to change immediately overnight. You're right, that's a really tough problem. Fortunately, as we've experienced, kids are bright. When Nicholas gave those machines to the Cambodian kids, it was the neatest thing. None of them had gameboys, or cell phones, or anything else, and they latched into these systems and were successful, learning like crazy. Something that they had not even had a metaphor for previously. So, ultimately we believe in kids, is the only answer we can give you and it will take time.


Do note that due to its length, the transcript of Mark J. Foster's speech was divided into three parts. Above is Part 3 of Mr. Foster's speech. Please continue to Part 1 and Part 2 for the full transcript.

Tags: | | | | | | |

Comments

Typos: SVGA -> FPGA (this part is in FPGA form now)

Robert Hamline [sp] => Robert Heinlein

We don't claim to be the sensors => the censors

much much parser => much much sparser