A Beowulf Cluster

So far, we have played around a little bit with the idea of a stand-alone XBOX doing some neat things. But what if we want to actually make a high availability processing cluster across all of our Linux machines at once? This is the murkier world of XBOX PCs, distributed computing. There are a lot of really good documents detailing how to set up a secure, robust and stable Beowulf Cluster, but this isn't one of them. We only want to benchmark 8 XBOXes in parallel operation.

We started by finding a good location for our XBOX cluster to run. A few 2x4 wood boards stacked together on the lab floor were good enough for us, apparently. Just to get an idea of how big our cluster was going to be, we stacked the XBOXes up in two columns of four as you can see below. It is a good idea to have plenty of room on all 4 sides of your cluster so that you can easily check cabling and such.

Click to enlarge.

A 16 port gigabit switch provided us with network connectivity. Unfortunately, we are not actually using gigabit connectivity since the XBOX network devices only operate at 100Mbps. A 100Mbps switch usually runs for about $50, although it isn't wise to go too cheap on the largest bottleneck in the cluster. We crimped our own cabling as you can see in the image below. Even though we are just hacking a system together, keeping the cabling organized is very important since diagnosing a bad system will be nearly impossible if wires are all over the place.

The next step was actually placing the chip in each machine and removing the hard drive so that we could image it. Modifying each of the XBOXes took some time. It took us a few hours to get all of the mod chips in correctly and start up the SmartXX BIOS. By default, SmartXX does not boot to Linux, so we had to tell the BIOS after each chip was inserted.

Click to enlarge.

First, we installed Linux on the master XBOX machine. This machine will eventually become the master of the cluster, but we will use it as a template for the other machines before we clone the hard drive onto the other XBOXes. All of the programs that we planned on using, such as distcc, djohn, etc., were installed on this template machine.

We will need to identify each of our XBOXes in the hosts file. This will allow us to identify each machine without doing a DNS lookup on its alias. Our hosts file looks like this:

master# cat hosts
::1 localhost localhost master slave1 slave2 slave3

By using a hard drive blaster, we able to image all of our other XBOX hard drives in about an hour. Using Ghost or another drive imaging utility will work as well, but you can only do one or two drives at a time instead. If you are really desperate (or cheap), installing Linux on each machine manually works, but leaves the most room for error. Right now, we have eight XBOXes that are exactly identical in every respect. We need to designate one of these to be the master, so the first machine is booted up for a little bit of configuration. Dhcpd, the program that will assign IP addresses to each of our slave machines, was configured as such:

# dhcpd.conf

option domain-name "cluster";
option domain-name-servers;
option subnet-mask;

default-lease-time 3600;
max-lease-time 86400;
ddns-update-style none;

subnet netmask {
   option routers;

We really don't care which IP gets assigned to which machine; although, if we boot each XBOX in sequential order on the rack, their IP address will line up with their position in the boot sequence.

XBMC A Beowulf Cluster (Con’t)
Comments Locked


View All Comments

  • ukDave - Wednesday, November 10, 2004 - link

    Yes the xbox has a PS1 emulator, only one that i know of. Its called "PCSXbox". Good place for emulator info: http://xport.xbox-scene.com/ , obviosuly a subsection of xbox-scene.

    And before anyone asks, no there are none for the PS2 (nor will there ever be).
  • ukDave - Wednesday, November 10, 2004 - link

    I'm not 100% sure about the SmartXX, as i have the well known Xecuter 2.3b chip which has DIP switches mountable on the outsode of the xbox so that youc an disable it in order to play X-Box live and whatnot.

    From what i've just read over on the forums at xbox-scene, SmartXX is fully X-BoX Live compliant. You simply (as you say Kris) boot back into the MS BIOS. This can be done by turning the xbox on by pressing the EJECT button. To enable the modchip, turn on with the POWER button. (source: http://forums.xbox-scene.com/index.php?showtopic=3...

    SmartXX section of the forums: http://forums.xbox-scene.com/index.php?showforum=6...
  • ksherman - Wednesday, November 10, 2004 - link

    #3, you said there is mulators for n64 and down. Is there an emulator for PSone games? would love to be able to play FF7 again
  • KristopherKubicki - Wednesday, November 10, 2004 - link

    Jeff7181: I think with the SmartXX chip you can actually boot back into the normal MS BIOS and have no problems with X-Link and such. If you install Linux on the last 2 unpartitioned GB of your 10GB drive, your XBOX should basically have no idea that the machine is modded at all.

    LotoBak, ukDave, am I correct on that statement?

  • ukDave - Wednesday, November 10, 2004 - link

    Oh and Jeff, i believe many mod chips have the facility to simply turn them off with a flick of a switch, so you can continue to use XBOX Live. But as LotoBak says, there is the free X-Link service available too.
  • ukDave - Wednesday, November 10, 2004 - link

    http://www.xbox-scene.com is really the only place to go for XBOX related discussion, tutorials, really anything you need to know that isn't covered in this article.

    I bought a bodged XBOX mod from someone in the UK, got it professionally fixed and re-modded. It now has a 120GB disk for all my games, its connected to my LAN. With the excellent XBMC i can play literally any media file from any PC over the network, be it standard files such as MP3's or AVI's, or images such as .bins/cue's.

    Well worth looking into if you have an XBOX that is currently un-modded.

    Also, /me wants 8 XBOX's :D Although, those 'leccy costs, eek!
  • Jeff7181 - Wednesday, November 10, 2004 - link

    I've been thinking about modding mine to use to play video over the network... but I don't want to lose normal Xbox (and Xbox Live) functionality. Wish that was covered here, but I guess it's not really a "mod your Xbox" article as much as it's a "mod an Xbox to make a cheap PC" article.
  • LotoBak - Wednesday, November 10, 2004 - link

    Nice guys... besides your linking problem

    Knowing a little more about the xbox scene a few things your might consider...

    1) Mods go for as cheap as 10USD retail.
    2) Software exploiting the xbox is always an option which results in a 'free' modchip
    3) http://tutorials.xbox-scene.com to learn about most anything
    4) XBMC dvd menu support is comming!
    5) XBMC irc channel on irc.efnet.info #xbmc
    6) Online gaming is free through Xlink www.teamxlink.com
    7) Emulators for n64 and 'down' are available
    8) This is the cheapest htpc with 480p 720 and 1080i available
    9) xbmc supports many formats
    Audio : wav, aac, ac3, mp3, flac, ra, vorbis
    Video : ogg avi mkv rm, mov containers
    Codec : xivd, divx, mpeg2, mpeg1, quicktime, realvideo and realaudio (limited) and many others. The video engine is based apon mplayer open source project

    Networking :
    Shares :Supports ccx, samba (windows file sharing), and replaytv shares.
    Streaming : Supports a multitude of video and audio streaming formats. webradio is included which has a 'channel' browser for online shoutcast streams. There is also a apple movie trailer browser.

    Scripting :
    XBMC has python scripting language implimented so its open to many possibilities

    XBMC does have some rough edges but it is maturing quickly. If you are interested in contributing to the project check out www.xboxmediacenter.com and the 'XBMC' project on sourceforge

    Feel free to ask questions about xbox stuff here... ill watch it for a while
  • Marlin1975 - Wednesday, November 10, 2004 - link

  • Marlin1975 - Wednesday, November 10, 2004 - link

    Page 6 has HOME instead of page 7 link

Log in

Don't have an account? Sign up now