Distributed Compiling

Distributed compiling was one of the original goals of this project from the beginning. We do not need to throw a real lot of computing power at gcc in order to compile something, but compiling some things (like GCC itself!), we can really benefit by using a lot of different jobs if hard drive and network IO do not slow us down. There happens to be a very excellent program called distcc that acts as a front end to run GCC over several machines at the same time. Since we installed distcc on our original cluster master before cloning it, we only need to jump start the daemon using our cluster_command.sh script.

Network IO could really hurt us here. Each slave machine can utilize the entire 100Mbps of network traffic, but our master might be uploading to more than one machine at a time. If we have to upload files to seven other machines on the cluster at once, we would be limited to only 1.7 megabytes (14.3 megabits) per second. It may make a lot more sense for us to run a separate dedicated PC with a gigabit Ethernet card as the master instead - at least for distcc. We will test both cases here to see how network IO affects our build.

Since there are eight machines on the cluster, we want to make sure that there are enough make jobs running to satisfy each processor on the node. Deciding the exact number of jobs under distcc is not an exact science, but fortunately, all of our machines are the same speed, so that will alleviate some headaches. We tried compiling GCC 3.4.2 on our cluster using distcc under 9 and 17 jobs.

# ./cluster_command.sh distccd  -daemon
# export DISTCC_HOSTS='master slave1 slave2 slave3 slave4 slave5 slave6 slave7'
# make  - j9 CC=distcc

Kernel 2.6.4 Compile (GCC 3.3.3)

We didn't really see the performance numbers that we were looking for here. We first anticipated poor performance on the XBOX cluster due to its small amounts of RAM. "In theory", if we can get our cluster to scale to 16 nodes without a huge performance hit, we would see very impressive compile scores. However, running 16 threads on a single user application does not occur that often, even with a large compile like GCC, since many things need to be made in order. A multi-user environment running hundreds of compiles at once would benefit from so many nodes; perhaps a community cross-compiling station. Just in case, the master XBOX cluster is not performing poorly due to the meager 100Mbps network card. We reconfigured the cluster to obey a different host with a gigabit Ethernet card. We ran the same command as above.

Kernel 2.6.4 Compile (GCC 3.3.3) (no master)

It looks like our cluster really didn't get too affected by the network IO after all. If we anticipate running more XBOXes, however, running the cluster from a dedicated master with at least one gigabit Ethernet card would be absolutely necessary.

A Beowulf Cluster (Con’t) Distributed Rendering
Comments Locked

30 Comments

View All Comments

  • Nepsir - Thursday, November 11, 2004 - link

    I was just wondering if you will do a test with mental ray on the cluster (I think you mentioned something about Mental Ray in the article). It would be really interesting to see the results of that since me and a couple of friends got modded X-Boxes and I have a 3dsMax6 license (Mental Ray is included).
  • gibson042 - Thursday, November 11, 2004 - link

    You might want to look at the "mini-cluster" project (http://www.mini-itx.com/projects/cluster/) when planning/designing/building your EPIA cluster. It's a 12-node (originally 6) cluster developed by Glen Gardner, and appears to be the same size or a little smaller than a stack of an equal number of XBOXes. Of course, the frame is custom built and the hardware is exposed to the world.
  • Aikouka - Thursday, November 11, 2004 - link

    I can say that I love having a modded xbox, because the capabilities are so much greater. As discussed earlier, a software mod can be a great way to do it (although it usually requires a game unless you want to take your HDD out, which is NOT a fun method unless you love swapping IDE cables.)

    It's also good to note that you should be careful when modding these or even make a backup of the hdd on your system, because things can go wrong, and if you like to fiddle with things, then your chances will be a lot higher. I know at one point I was stuck in error 16 and had to pull the HDD out and unlock it using the IDE swap method.

    Are there plans for an article on modding something such as the PS2? I just recently tried a no-solder modchip in the PS2, and it doesn't seem to be going along too well. Maybe it's time for a flip-top.
  • Scarceas - Thursday, November 11, 2004 - link

    "We crimped our own cabling as you can see in the image below."

    I'm still looking for the image, I know its there somewhere!
  • bleugh - Thursday, November 11, 2004 - link

    If anyone wants their xbox motherboards upgraded to 128 megabytes of memory, I can do it

    I'm UK based and use BRAND NEW samsung memory chips

    I can upgrade your existing motherboards, sell you ready upgraded boards, or even just the chips!

    if one of the anandtech team wants their xboxes upgraded i'll happily do it at cost, please contact me to discuss

    Dean
  • LotoBak - Thursday, November 11, 2004 - link

    First, XBox live banning....

    Basically this is how it used to work. When your on live it does a hash of your bios. A mod replaces your bios. If you bios is not the retail ms bios the serial (eeprom) is blacklisted. NOW since halo2 has been released it appears that MS has changed a while bunch of shit on us. Preliminary information indicates that MS is banning by hard drive serial+model numbers, xbox serial, and flagging the gamertag as 'potential pirate'. Thus to unban the xbox both a new hdd and eeprom are needed. Then you must cancel and create a new xbox live account. There are more details about how it all works but bottom line is we dont know how it works now. They can throw new stuff at us anytime now. Rumors are flying that hdd capacities are being scanned as well. For all intents and perposes xbox + modded xbox's do not mix.

    Yes there is a PS1 emu for xbox. That said xbox DVD drives do not read cd-r (or retail ps1 games) Therefor all games must be transfered to the xbox hdd in bin/cue or iso format

    When comparing mods remember, the mod contains no modded bios stuff. They are useless in them selves. You will need to aquire a modded bios for your xbox (online, free). What this means is that every mod can contain the same bios's. Therefor they all contain the same base features (mostly booting unsigned code). Hardware features and support is where you want to base your decision on. If you want cheap + no manufacterer support there are 10$ solutions around for you(enabled/disables with power button). If you want support with a mod with a few extra hardware features (2 bios's, external switch) that'll cost around 30-40. Fancy Shamcy lcd support, 8 bios banks, blah blah blah fancy external thing thoes are up to 75ish. But in the end they all allow you to run the same software on the xbox.

    if you want to learn read some beginner tutorials at http://tutorials.xbox-scene.com
  • Omega215D - Thursday, November 11, 2004 - link

    After seeing Halo 2, it makes me wonder if they really need Pixel Shader 2.0. Its pretty cool that I can play old games on the XBOx through emulators though but i wanna see when the next XBOX kicks off before spending $200.
  • ViRGE - Wednesday, November 10, 2004 - link

    #12, probably not. The Xbox's GPU is a GeForce 4 class GPU - the lack of Pixel Shader 2.0 features can really be limiting.
  • euph - Wednesday, November 10, 2004 - link

    is there any way to use the gpu for the pov-ray rendering?
  • ukDave - Wednesday, November 10, 2004 - link

    Little quote that sums up the SmartXX XBL saga:

    Q: just bought a Smart XX mod and I still don't know if i'll be able to play xbox live so please somebody tell me if i'll be able to play it.
    A: There is no easy way to answer this question. First of all, it all depends on circumstance. Have you upgraded your hard drive? Has your Xbox ever been banned before? And, for newbs, are you thinking about playing on live while using a bios from the chip.

    If you answered yes to any of these questions you've won a lifetime ban from Microsoft!


    Sleep time :) And i don't even use XBL :D

Log in

Don't have an account? Sign up now