Benchmarking: Ubuntu 9.04 i386 vs LPIA on Eee PC 1000
The other week Ubuntu 9.04 Jaunty was officially released, to my great enjoyment! Of course, I’d already been running it for a while on my ASUS Eee PC 1000. The one issue I had with it was that the Ubuntu Netbook Remix Alpha that I downloaded was for i386, and the Eee runs an Intel Atom processor (it was compatible, but not the same). I had assumed that once 9.04 was officially released, they’d put out a LPIA (Low Power Intel Atom) optimized version of the aforementioned remix.
I downloaded the Netbook Remix on release day, but didn’t notice until a few days later that the download was for i386. The image file name was “ubuntu-9.04-netbook-remix-i386.img”. I thought this was extremely odd since the UNR download page says ‘What do I need to install Ubuntu Netbook Remix?’ and then ‘An Intel Atom processor’. Very strange indeed. So I went and asked about it on the Ubuntu Forums. As it turns out I was not the only one that noticed this little “issue”. Later I also found a bug report for this problem and the reply from one of the mucky mucks of Ubuntu stated:
i386 was a safer bet for the first release of UNR, also having an i386 and a lpia version double the QA time; however we will consider this idea for 9.10, there are some issues with lpia still.
So…. No LPIA version for the first official release of UNR. Granted there was a UNR for 8.10, but it was sort of hacked together after the fact. I can accept that. After all Ubuntu doesn’t release for a ton of platforms like Debian does. But the question came up in the forum thread, is LPIA optimized code really necessary? Some claimed that LPIA gave them an hour more of battery time, other claimed it was crap. This, of course, hearkens back to the early days of x86 versus x64 operating systems. In fact I found an article about 32bit versus 64bit on 9.04 which I ended up using as a base for my own series of tests.
I installed Ubuntu 9.04 Alternate i386 and Ubuntu 9.04 Alternate LPIA on my Eee PC 1000, both with the most minimal installs. I then proceeded to run the following tests:
- Convert an Album of MP3’s into Ogg Vorbis
- Bunzip2 the Linux 18.104.22.168 kernel tarball
- Untar the kernel
- Compile the Kernel
- Bzip2 a 400+mb ISO of Wikipeida
uname -a : Linux happyfeet 2.6.28-11-generic #42-Ubuntu SMP Fri Apr 17 01:57:59 UTC 2009 i686 GNU/Linux
dir2ogg : 9mn 45s
bunzip2 : 0mn 54s
tar -xf : 1mn 51s
make : 196m 18s
bzip2 : 7m 6s
uname -a : Linux happyfeet 2.6.28-11-lpia #42-Ubuntu SMP Fri Apr 17 01:56:10 UTC 2009 i686 GNU/Linux
dir2ogg : 9mn 58s
bunzip2 : 1mn 1s
tar -xf : 1mn 28s
make : 163mn 12s
bzip2 : 7mn 16s
dir2ogg: LPIA was 3% Slower
bunzip2: LPIA was 12% Slower
tar -xf: LPIA was 21% Faster
make: LPIA was 17% Faster
bzip2: LPIA was 3% Slower
The test was fairly inconclusive. With the exception of compiling the kernel (which took 30minutes less on LPIA), the difference in times between i386 and LPIA were statistically insignificant (for dir2ogg and bzip2). Frankly the tar -xf and bunzip2 tests took so little time that any minor flux on the machine (say a cron job) could easily skew the test in either direction. The kernel compile was, in my book, significantly faster. I think LPIA is worthy of a trial run on my Eee. Of course I noticed, as the bug stated, that there are a few issues. For example the wireless did not work out of the box like it did with the i386 Alpha I previously installed. This may be a quick & easy fix, but so far I haven’t had the time nor energy to actually fiddle with the machine.
For those that are interested, after the jump I’ve got more details on exactly what commands I executed for the tests
==Detailed Test Information==
=== Operating System Install ===
Both i386 and LPIA installs were done from their respective alternate ISO’s. Both times I reformatted /dev/sda (8GB SSD) with EXT4 which would later become /. /home was kept on /dev/sdb1 (32GB SSD) which was maintained between each re-install. During the installs I selected all the same options and selected NO additional components to be installed, not even a graphical environment. Thus, everything was done from the CLI after a standard boot.
=== Commands Executed ===
apt-get install gcc dir2ogg bzip2 make libncurses5-dev
time dir2ogg -r -q 5 ./DJ_Champion_-_Chill_Em_All/
time bunzip2 linux-22.214.171.124.tar.bz2
time tar -xf linux-126.96.36.199.tar
time bzip2 kiwix-0.5.iso
=== Test Files ===
A copy of 188.8.131.52 was downloaded before the tests began. Same with kiwix-0.5.iso. I made a copy of both files for each test, so there would be no chance of difference from re-downloading. The MP3’s were 11 tracks totaling 65MB, the OGG copies were deleted between each test (as dir2ogg leaves the original MP3’s alone). All other related test files (including the bzip’d ISO, and the uncompressed kernel) were deleted between tests.