Playing with distcc

I have been thinking of what to do with the number of computer boards that I have sitting at home with me. I have a number of VIA low-power systems that are just sitting on the shelf. I’ve used one for the file-server and another for playing with virtual servers. There are still a number of these boards and I thought that it might be fun to play with some sort of cluster. However, fun it may be to play with a cluster, there has to be some sort of reason to build it.

Computing clusters are sometimes built to facilitate certain computational tasks by taking some load off the work machine. Rendering 3D graphics is fairly compute intensive and some people have built home clusters as mini render-farms. However, I don’t do any graphics work. Another operation that often consumes a lot of compute cycles is software compilation. While I don’t do a lot of kernel compilations, I was interested to investigate this since it was something fairly commonly done on Linux compute clusters.

So, I decided to install distcc and experiment with it. This tool is extremely simple to use as it can masquerade as regular GCC while shipping off the work to remote computers. All that is needed on these remote computers is a copy of distcc and GCC. Setting it up took all of 5 minutes and then it was ready to run. I started a kernel compile and saw the compilation tasks spawning on the remote computers. Voila. It’s just that simple. Cross compilations are not a problem either, which would probably help when I want to compile programmes for embedded processors.

Talking about embedded processors, I do quite a bit of chip design work and chip simulations are notoriously compute intensive. However, the simulators that I use are all single threaded and would not benefit much from a compute cluster. Hold on. It may not be useful for running single threaded simulations on multiple compute systems, it is certainly possible to run multiple simulation operations on multiple compute systems. This would be very useful for collecting performance data. Useful.

However, as these compute clusters would be rarely used, it may be helpful to build them as on-demand machines that can be turned on when needed. Time to toy with that instead.

PS: I love having a bunch of computers to play with. Woo hoo!

Published by

Shawn Tan

Chip Doctor, Chartered/Professional Engineer, Entrepreneur, Law Graduate.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s