"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog

Friday, March 18, 2005

Distributed Build Architecture

Vincent Massol proposes a distributed build architecture using JavaSpaces...

I personally prefer this architecture over one where the orchestrator directly sends build requests to build agents as I find it more scalable and more flexible.
Yeah, and robust as well. Just watch for that place where the build agent does a 'read' for a request. It should be a 'take'. Before the take though it should 'write' it's intent to take perhaps including an estimated time of completion. Then if it fails, another process can monitor the results and restore the request if it suspects or detects the agent failed to complete.

If the request included an estimate of time to build then build agents can predict their loads and which requests they should accept. These estimates can come from actual builds and improve themselves over time. Many possibilities for coordinated processes to evolve on their own through "metadata".

Would you like such a distributed build system?
Actually I'd rather use tools that did not require such massive builds, but the idea applies generally to many kinds of transformation activities. This is an ideal example of services built using simple, general coordination mechanisms.

You can build *all* kinds of coordination patterns using the simple Linda-like vocabulary.

No comments:

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.