OLPC X0 Hardware Upgrade Impact


Isn't it great to hear the OLPC XO versions keep getting better and better?! It seems like they just keep coming out with new improved versions of the hardware to make them faster and more efficient. I'd think that, rather than adding more hardware improvements and increasing the price of the Children's Machine XO they'd be trying to wring out more on the software end. Its almost the same treadmill now that manufacturers go through with regular run-of-the-mill laptops. Will we have AMD providing a low power version of their Athlon or Opteron chip soon?

olpc screen in sunlight

The question I'm asking is, will any of the hardware improvements make a big difference to the performance of the X0 laptop compared with earlier builds? While the new processor they are using on the B3 build is a little faster, the speed improvement is nothing to write home about. The new processor architecture is better in several ways with probably the biggest single in the extra cache size on the chip. 128KBytes may not sound like much but its a big jump from the original Geode chips 32KBytes.

The increase in DRAM memory is going to allow a lot more to be going at at any one time. By giving the OLPC 256MBytes of memory the laptop should be able to handle both larger size applications and more simultaneous functions operating together. Usually, when using a hard drive on a standard computer, a swap space is set up on the drive to allow application memory use to be offloaded from the RAM but the XO does not use swap partitions.

By doubling the flash memory space from 512 MBytes to 1 Gigabyte is really giving the laptop some elbow room since the main application using us space is likely to be the journal that young users will be keeping. Its been reported that the journal will work like a First In - First Out system so once users reach the end of allocated space for the journal the oldest entries will drop off the end. I don't know about you but I don't relish the idea of pictures I took or notes I made suddenly just vanishing. At some point users would need to upload the journal contents to an XS Server or similar. Maybe the laptop users could use Google-space as an external memory cache with the right application and an internet connection.

So I guess in my mind the laptop may not run much quicker with the small clock speed increase but combined with all the other processor and memory improvements it may just make a difference. Several people that have actually played with the XO B1 and B2 versions have reported how slow they run not to mention the incredibly long start up time. I guess a lot of related problems will be fixed with the B3 build so I wait with bated breath to see future reports from users.

I wonder if current users of the One Laptop Per Child laptops will get a free upgrade from their old clunky models to newer ones. I'd certainly want a trade-in at least. I've got my hand up for an old B2 model. I don't mind some else's cast offs.

Related Entries


The LX-700 runs Python code up to 2-3 times faster than the GX, and includes a crypto accelerator. It's a _huge_ improvement, largely due to the extra cache.

Thanks for the information Ivan.
I knew the cache would make significant improvements in python code processing. It seems python is great for application build speed but is it the best choice for a linux box that is clock cycle challenged? Surely an interpreted language like python is only going to work well in an environment with plenty of horsepower.

Nokia is putting Python on their S60 series cell phones. While it's clearly not going to be displacing C or JITed Java in benchmarks anytime soon, it runs fine in constrained environments -- it was acceptable on the GX, and just about flies on our LX. And while our choice of Python heavily factored in the developer productivity increase and reduction in development cycle time, the kicker was the educational benefit that the language brings us, which non-interpreted languages simply can't provide.

Robert, looking at what we have done with TamTam, I think Python was clearly a good choice, We would be far behind in development if we were using only C...
The trick is you can code heavy CPU parts in C and it intergrates very well with Python.

How is a 25% increase in clock speed a small change?

Patrick, a 25% increase in clock speed does not equate to software operating 25% faster. Typically the clock speed must double to gain a noticable (significant) increase.
I'm sure there's a Moores Law equivalent covering that ;)

Ivan and Nat, Python does seem to be a good balance between efficiency and speed and I really am impressed with apps that people have produced using it. Of course I'd guess Python has only been used in end user applications and not in any core parts of the system.

>Patrick, a 25% increase in clock speed does not equate to software operating 25% faster.

Never said it did. A 25% increase in clock speed means that instructions are executed exactly 25% faster in the processor. However much time the processor is spending is reduced by exactly 20%.

Whether that's felt or not depends on the slice of time bottle-necked by the uP.

The School Server is designed to automatically, transparently, backup all user-created files. A child should (and hopefully, will) never lose a single file, through this system, even if their local flash storage runs out of space.

What's more, so long as the server is network accessible, the files will be able to show up seamlessly. Technology for the win, aye?

The boot up time is being improved (see yesterday's stable version), but I don't think it is a big issue for a laptop. Most iBook users I know only reboot after some hardware fix or upgrade and always put the machine to "sleep" otherwise.

Speaking on machines going to sleep, I havent seen anything in the Wiki that mentions a sleep mode. Does the laptop detect the screen closure and go into a suspend state? Or is it a button push option?