The Test and Initialization

Obviously, we want to benchmark a few things on our XBOX cluster, but we need some points of reference. To do that, we took a few systems that we had around the lab of various cost and power, and configured them with SUSE Linux 9.1. All of our benchmarks are run without X running, since we want to minimize the load on the systems. Below is a breakdown of several of the systems that we are looking at to compare our XBOX on a desktop level.

Various Cheap Desktops
Desktop XBOX Linux Cluster Sempron 2200+ Celeron 2.0GHz
Processor PIII 733MHz 128K L2 Sempron 2200+ Celeron 2.0GHz
Motherboard NVIDIA MCPX X3 MSI K7N2G ASROCK P4I45GV R5
Hard Drive Seagate 5400RPM 8GB Seagate 5400RPM 8GB
RAM 64MB Shared PC3200 256MB PC2100
Operating System Xebian 1.03.2
SUSE 9.1
SUSE 9.1
Kernel 2.4.26 (Xebian)
2.6.4 (SUSE)
2.6.4
Compiler linux:~ # gcc -v Reading specs from /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/specs Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --enable-languages=c,c++,f77,objc,java,ada --disable-checking --libdir=/usr/lib64 --enable-libgcj --with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib64 --with-system-zlib --enable-shared --enable-__cxa_atexit x86_64-suse-linux Thread model: posix gcc version 3.3.3 (SuSE Linux)
Cost $210 (including mod chip) $287 $277

As you can see, it's pretty difficult to get a cheap AMD or Celeron system in the fray (cost includes case, CPU, motherboard, memory, hard drive, DVD Player and cooling). All configurations use integrated video. The Semprons and Celerons are going to be much faster than our 733MHz XBOX, although the footprints on the Sempron and Celeron setups are pretty terrible - they take up the full space of a mid-ATX case. The XBOX is also the significantly quieter solution. Unfortunately, the XBOX has very little memory and when we fire X, the XBOX is really going to take a hit in performance.

As you may notice, we are still running SUSE 9.1 instead of 9.2; we haven't had the chance to validate and update 9.2 yet, and our server benchmarks were already done on SUSE 9.1 configurations with GCC 3.3.3.

Various Performance Configurations
Desktop XBOX Linux Cluster Dual Opteron 250 Dual Xeon 3.6GHz
Processor (8) PIII 733MHz 128K L2 (2) Opteron 250 (2) Xeon 3.6GHz
Motherboard NVIDIA MCPX X3 Tyan K8W SuperMicro X6DA8-G2
Hard Drive (8) Seagate 5400RPM 10GB Seagate 120GB 7200RPM IDE 8MB Cache
RAM 64MB Shared PC2100 4GB DDR-400 4GB DDR2-400
Operating System SUSE 9.1 SUSE 9.1 SUSE 9.1
Kernel 2.6.4 2.6.4
Compiler linux:~ # gcc -v Reading specs from /usr/lib64/gcc-lib/x86_64-suse-linux/3.3.3/specs Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --enable-languages=c,c++,f77,objc,java,ada --disable-checking --libdir=/usr/lib64 --enable-libgcj --with-gxx-include-dir=/usr/include/g++ --with-slibdir=/lib64 --with-system-zlib --enable-shared --enable-__cxa_atexit x86_64-suse-linux Thread model: posix gcc version 3.3.3 (SuSE Linux)
Cost $1680 (included mod chips) ›$4000 ›$4000

Our XBOX cluster costs considerably less than a performance workstation or server. The machines listed above were actually tested back in August, so we used the same OS and compiler setup from August. The eight-node XBOX cluster comes in at less than half that of the Opteron or Xeon setup, but of course, cannot offer us 64-bit capabilities amount other things.

Installing SUSE on the XBOX for the first time was not a simple task. The problem is that that the 8GB hard drives shipped with each XBOX is "locked" (you may read more about this here) so that it may only be booted by its own XBOX. There is an old, hacky guide that details how to get the normal XBOX hard drive to boot on a PC so that we can cross-install an operating system. The basic jist of the article follows:
  • Leave the hard drive connected via the IDE and power cable to the XBOX and boot the Microsoft BIOS
  • Boot the PC, but pause the installer before the Linux kernel loads
  • Hot swap the hard drive from the XBOX to the PC (dangerous)
  • Install Linux near the end of the hard drive
  • Disconnect IDE cable, reboot PC
  • Connect IDE cable before kernel initializes, then continue with installation and configuration of the OS
  • Power down PC and XBOX, then reconnect the hard drive to the XBOX as usual
This very simple hack exploits the fact that even though the XBOX has a 10GB hard drive, it pretends that only a 8GB drive is installed. We can do pretty much anything that we want on the last 2GB of the drive without the Microsoft BIOS giving us a hard time. Now that you have read all that, be aware that hard drive swapping is the hard way; SmartXX to the rescue.



In the SmartXX OS, we actually have a tool to unlock the hard drive completely (or lock it back up later). This saved us a ton of work and we simply unlocked all of the 10GB hard drives shipped with our system. Thanks, SmartXX!

Advantages and Drawbacks of the Design Desktop Performance
Comments Locked

30 Comments

View All Comments

  • TimPope - Thursday, May 12, 2005 - link

    not bad information but i would have liked to see some kind of real world performance using openmosix.. a single x box on its own as a pc is slow but stick 2-4 together using open mosix could make a reasonably good machine and still be pretty cheap
  • Halz - Wednesday, November 17, 2004 - link

    The rule followed in the article for the -j option, "number of proccessors + 1", overlooked the logical proccessors of the Xeon's Hyperthreading.. -j should have then been something around 5 instead of 3
  • Halz - Wednesday, November 17, 2004 - link

    Simply compiling on the Opteron and Xeon with the same number of threads as the full cluster would have illustraighted a difference.

    More testing should have gone into finding how many threads was the ideal number for the given platforms.
  • artifex - Saturday, November 13, 2004 - link

    Aikouka, can't you just use one of those "HD Loader" type programs WITHOUT a modchip?
    I'd be all for modding my PS/2 if I thought I could actually do something useful with it, like stream audio/video from a PC or a ReplayTV or something.
  • KristopherKubicki - Saturday, November 13, 2004 - link

    Halz: what should it have been?

    Kristopher
  • Aikouka - Thursday, November 11, 2004 - link

    23, yes, you can still do just about anything. I know with the software mod that I use, I've been having problems getting the original MS Dash to load up, but I've gotten around that using other programs for the original dashboard's functionality (dvd etc).

    You know, you can also replace the HDD with just a software mod, and it's not that hard. So, if you don't want to hardware mod and want more space, you can still put in a bigger HDD. As much as some people don't like the XBOX, in my opinion, it's probably the best console to mod.

    24, 2) Modchips also allow hdd loading if you have the PS2 HDD (using HDDLoader.) Also, it lets the warez'ers download and play games on the PS2 that they don't really own.
  • artifex - Thursday, November 11, 2004 - link

    1) what we really need is a usb-based tv tuner that actually works. That would be excellent for adding functionality both to XBoxen as cheap PVRs (though I'd still just use XBMC to stream from my ReplayTV, most of the time), but also would be great for iMacs. I'm sure if someone came up with a decent open architecture design, the community would come up with drivers for both types of systems.

    2) what are modchips for PS2s useful for, other than playing import games? Especially with the new PS2s having no drive (is there still a header on the new board style to add one back?)

    3) did I miss the obligatory dnetc test? You gotta do that, you know.
  • Booty - Thursday, November 11, 2004 - link

    I don't even own an Xbox, but reading this article has me reaching for my wallet...

    But first, I want to get this straight - I can mod the Xbox and still use XLink, right? I doubt I'd get a Live subscription anyway, but it'd be nice to have that option possible.

    Ideally I'd like to throw a bigger hard drive in there and then run XBMC, without losing the normal XBox capabilities.

    So if I can do that, I'm goin' to the store this weekend... :)
  • Halz - Thursday, November 11, 2004 - link

    The compile options for the Opteron and Xeon were starving the CPUs; the number of jobs (-j) was no where near optimal.
  • Halz - Thursday, November 11, 2004 - link

Log in

Don't have an account? Sign up now