The Distributed Mac

by Chuck Toporek

According to the mostly reliable ThinkSecret, Apple is planning to build Qmaster into its line of Pro Apps, including Final Cut Pro, DVD Studio Pro, and the recently released Motion. Qmaster, which is already part of Shake, is used for distributing rendering tasks to other Macs on the network.

The whole idea behind distributed computing is to use spare processor time on other machines in a network to "share the load" of a particular task. The most famous distributed computing project to date is SETI@home, from the Space Sciences Laboratory at UC Berkeley. With over 4,979,107 registered users to date, SETI@home is an ingenious use of distributed computing, since it not only allows others to share the load, it also lowered the financial burden off of what could have been a very costly project. (In case you're not familiar with SETI@home, users download a client application that downloads and crunches on data collected from the Arecibo radiotelescope in the quest for extraterrestrial intelligence. The SETI@home application can run in the background or as a screensaver to process the data. Once it has finished processing a chunk, the results are sent back to UC Berkeley, another data chunk is downloaded, and the process starts over again.)

If you look at what Apple's done in the past, once they find a technology that seems to take off, they pursue it like a cheetah chasing down a gazelle. For example, Apple introduced Rendezvous as part of Jaguar, and look where that's propagated to: iChat AV, iTunes, iPhoto, and Safari (plus not to mention where others have used it, like SubEthaEdit).

Apple seems to be pushing the whole distributed computing thread (excuse the pun), what with Xcode doing distributed builds, Qmaster possibly spreading across the Pro App line, and Xgrid grabbing a lot of attention from the scitech market. If prior history counts for anything, it really makes me wonder, what's next?

Man, I can't wait until the WWDC (June 28 to July 2, 2004) to find out.

If the rumor is true and Qmaster makes its way into the Pro Apps, what's next for distributed computing on the Mac?


2004-05-10 13:06:38
Qmaster already there, sort of....
Just read your article about Qmaster coming to Final Cut Pro. I'd say that it's already got it's foot in the door. It has been part of FCP since v4.0, although the distributed option hasn't been something you can get at.

I just ran into it for the first time the other day when our video guy was trying to use the Compressor module of FCP on a new upgrade to FCP 4.5. He kept getting an error message that it couldn't connect to the background process.

Lots of digging later and it turned out that DNS and reverse-DNS weren't set up properly for his machine, and Qmaster wouldn't start up. Hmmmm... Why would software designed for a single-user machine need to know it's IP? Also, why would Compressor need to know your e-mail address and SMTP server? Putting these parts together, I drew the conclusion that it would soon be possible to have computers running Qmaster to which you could submit your encoding tasks, and receive an e-mail when they were done.

Who knows what will be released, but I thought I'd say that you are definitely on the right track. ;-)

2004-05-10 13:25:51
Try Folding@home for a distributed computing project
Hey everyone,

If you're interested in distributed computing and want to help cure disease, check out this site:

It's a much better use of time and processing power than SETI, IMHO.

It's available for virtually every OS there is. For the main project site, see:

2004-05-11 09:43:00
Try Folding@home for a distributed computing project
The folding@home client is also optimised for PPC and so it does use the vector processor in G4s and G5s, where as SETI is not. The SETI team refused to fork their code to optimise for any chipset and as such waste a large amount of potential resource.

Also note that if you have a dual processor box you have to run the folding client twice to take advantage of the second processor because it's not multithreaded - you do two work units at the same time.