|
|
|
Back to newsletter 041 contents | All Javva's articles
January 28. Man Vs. Machine. My guile and subtlety against the slavish evil unquestioning obedience that carries out every instruction given, regardless of the consequences. Yes, once again, I'm rolling my sleeves up for some performance tuning. I have been given access to one of our partner's testbed machines to run performance tests on their application. The machine has the ominous sounding name of "bob". I have, of course, immediately renamed it to something more in keeping with it's character: "Beelzebub". My first encounter gave me a flavor of what was to come. I introduced myself with a friendly "Hello Beelzebub". The response: a draconian "Hello not found". Clearly we were not going to be friends.
Next step, I tested my load test scripts, and added server-side monitoring. He squirmed, tried every trick in the book to get my tests to crash. One configuration parameter after another, one script adjustment after the next, one xml file change followed by yet another xml file change, slowly I ground down Beelzebub's resistance to my herculean effort. Until finally, chained and forced to obey, I had exerted full control over this mindless evil. Now, my daily "Hello Beelzebub" was welcomed with an obedient "Welcome Master" response.
But, of course, this was just the first of the battles to come, the war was not yet won. Beelzebub was only masquerading as obedient. In fact, he had moved resistance up one level to the application. Now, operating system and application were working in league against my efforts to tame them and, if anything, my task had become even harder. Memory bottlenecks pretended to be CPU bottlenecks. Network bottlenecks pretended to be contention problems. Contention bottlenecks hid themselves as if the world's greatest assassin was stalking them. Inefficient configurations faked themselves as I/O bottlenecks. Garbage collection fluttered through apparent improvements, only for me to discover long term memory management issues that were concealed, lying in wait to ambush me. Test followed test, as I battled with one bottleneck after another. Analysis followed analysis as Beelzebub did his best to conceal the critical information amongst the reams of data being generated. Slowly, with a configuration change here, a code change there, I started to make headway. Once elusive targets began to come into focus, starting to look attainable. Once again, Man was gaining ascendancy over Machine. To paraphrase Neil Armstrong, "One small step for a man, one machine's resistance squashed like a bug". Well, okay that was less a paraphrase and more a complete mangle. But you get the drift.
It's pretty clear to me that all those years of A.I. research has been fruitful. We now have sentient operating systems. Stupid, cruel, but sentient. How else is it possible for them to know just when to crash at the most annoying time? Why is it that you make changes to the system and, when your attention is on other things, those changes slowly seem to creep back to the original setup? Not that I want to make this personal. But "Ha ha, Beelzebub you lose".
BCNU
Back to newsletter 041 contents