mark nottingham

XGrid and BEEP

Tuesday, 23 March 2004

I just stumbled across Apple’s new preview of XGrid, their ad hoc clustering technology. It’s got lots of cool features, like discovery via Rendezvous (aka ZeroConf), a job control dashboard, and a bioinformatics demo app.

This will be invaluable in making Windows users even more jealous (if Expose isn’t enough), both at work and at conferences; based on the number of Apple logos I see around the office and in places like the W3C Tech Plenary, we should be able to get some impressive numbers on the demo screensaver. So, if you have a Mac, please install. It’ll be fun.

It’s also easy to anticipate a number of existing apps that could use this, like iMovie and iDVD (or is that pushing too many bits around?), and the compiler suite for builds (seeing as I’m doing a Fink update-all right now). Perhaps clustered CWM?

The most intriguing thing, though, popped up in the technology guide (PDF);

All network communication is handled via the BEEP protocol. BEEP is an IETF proposed standard (RFC 3080) for asynchronous, multiplexed, peer-to-peer communication (as opposed to the client-server HTTP). The Xgrid controller supports three custom BEEP profiles. The profiles that describe the protocols used to communicate between the agent, controller, and client are based on the exchange of XML-encoded property lists, and thus are fully standards-based and platform-neutral.

Wow, that’s cool. BEEP has started to gather a bit of dust, at least in some people’s minds, so it’s good to see it used in such a high-performance application where interop is also important.

It would be interesting to talk to the developer team about this, considering that the Grid folks are getting pretty heavy into SOAP. Did they consider and rule out Web services, and if so, what were the specific failings? Apple isn’t exactly heavily invested in WS, but they have implemented them.

Time to get the packet sniffer out…