Friday, May 16, 2003

Tilting at Windmills

There's a lot of talk in the air about autonomic computing, mostly but not entirely coming from IBM. The idea, which is compelling, is that more computer functions should work the way our autonomic nervous system works; that is, without any conscious intervention.

Leaving aside the criticism that the inspiration seems to be just the name, not the biology, there's something that sort of bothers me about their implementation. I won't be able to fully explain this, maybe someone can help me out in a comment.

But think for a moment how windmills work. The wind blows and turns the blades, sure. But if the wind shifts direction, then the tail of the windmill brings the blades back into alignment. Let's deconstruct that in autonomic terms: the windmill adapted its state to the new environment, using the external change as both the power and the alignment for the internal change.

That is, the windmill used the wind to respond to the wind. The two things--the external force and the internal response--are actually the same.

Now how do IBM-style autonomic systems work? They've got a separate monitor process, and if it sees its sub-process misbehaving, runs an algorithm and decides what to do, then does it. So a flood of traffic to a web server sets a trigger, which in turn starts computation, and eventually the system is reconfigured. Not hardly as elegant.

I want a word, and eventually software, that captures the way windmills work.