Helping Computers Help Themselves
Jim Posner writes "The IT world's heavy hitters--IBM, Sun, Microsoft, and HP--want computers to solve their own problems.....If you're being chased by a big snarling dog, you don't have to worry about adjusting your heart rate or releasing a precise amount of adrenaline. Your body automatically does it all, thanks to the autonomic nervous system, the master-control for involuntary functions from breathing and blood flow to salivation and digestion." I'd just be happy with a few intelligent daemons to watch my back, like when a program runs amuck and fills up the process list.
Because it means they want to make us obsolete to increase the margins of rich idiots. And it won't save that much money, in the long run, from well run companies.
When I first came to this company, we had something like 20 IT employees. Through "attrition" (read: fire X, Y quits) we're down to 4. Every time somebody left, the remaining folks would write a script to automate what the other guy spent most of the day doing...watching servers for spikes and resetting them, etc.
Did it save us from hiring new people? Our HR department will tell you it did, but it's untrue. The fact is the turnaround time for IT requests has become abyssmal. Adding new segments to our network takes much much longer -- to the point that a new code base for email took 2 people six months to analyze deployment options and deploy, and only took me three weeks to write.
Customers are leaving, siting huge turn arounds for new features and fixes, and we're blaming it on our support dept. Support is fine -- they get requests to us fast. Deployment...well, it could take weeks even to get cosmetic changes through.
Can you imagine the additional testing you'd have to perform before changing a truly autonomous server? And how can you be sure that the self healing server is really healthy, or just not noticing the problem?
Das no like-y. Bad medicine.
Hey freaks: now you're ju
and more money for rich CEOs.
Let us control the machines, what the hell are we going to do once they control themselves?
If you use Linux, please help development of Autopac
Okay, Realplayer adds an entry to my registry to start it's damn autoupdate thing every time I run it.
From my point of view, that is a problem.
From the point of view of those [expletive deleted] at real networks, the "problem" seems to be that I've found a way to disable their unfettered access to my system for whatever under heaven they want to do.
Now, you say, what does this have to do with server farms and data clusters?
In the present day - not much. Such things require a level of expertise to run such that sleaze of this kind is rare (albeit not unheard of.)
In the near future, when 1 billion people (according to the article) are working at computers? Well, the article implies that this great growth in the computer aided labor sector (term I just made up) will NOT be accompanied by an equal upsurge in available expertise.
Therefore, a lot of people will be running high-economic impact computer-whatevers without the background to comparison shop, or the technical knowhow to disable corporate flack. In fact, this is already happening.
I worry that "intelligently self regulate" will become "intelligently install our software and make sure you pay whatever we decide it is worth" in short order. While they're at it, they'll charge you for the software to police you. Peachy keen.
The good and new comes from no quarter where it is looked for, and is always something different from what is expected.
what a bad way to provide a quote from the story
...."
"If you're being chased by a big snarling dog, you don't have to worry about adjusting your heart rate or releasing a precise amount of adrenaline.
I was expecting the article to be on "Super Computers used in medicine" when I read that.
This would have been a better quote:
"...hope is that the constant and costly intervention of database and network administrators trying to figure out what must be done will soon be a thing of the past"
Siggy Say, Siggy Do
Andrew
... the master-control for involuntary functions...
Maybe it's just me, but when you hear "master-control" and "computer" together, don't you just picture this?
J
Making computers "heal" themselves would save millions of dollars in tech support.
But first we need to get humans to fix the operating systems before computers can take over. *cough*Windows*cough*
Bugs are just features that have been fixed.
Huh!
Guess it's about time I upgraded, then...
Obliteracy: Words with explosions
I hope they do better than they did with self-correcting compilers. I remember those monsters when I first got into programming. They would introduce more problems than they would attempt to fix. So don't fix my computers problems, just tell me you think somethings wrong and I'll decide.
When confronted by big, snarling dogs, I'd much prefer intelligent demons to daemons. After all, you need something equally big and scary.
This made me look fore more info on this guy (Robert Morris), here is an interview. He seems like a good guy in good position.
Why not ask an AI (Chatterbox Challenge 2001 & 2002 Winner) if it thinks the AI research has come to a level that it's good enough to control a computer? I mean, who's better to answer the question than an AI?
*conversation below*
Me: What do you think about artificial intelligence?
Talk-Bot: I think you're asking the wrong person.
Me: I thought you were the best person to ask.
Talk-Bot: It amazes me sometimes what some people think.
Me: Would you be able to control a computer, like the brain control my body?
Talk-Bot: I could but that doesn't mean I would.
After carefully analyzing the answers from an artificial intelligence, I have come to the conclusion that AI's aren't ready to control computers and their software just yet. Perhaps not because they aren't advanced enough, but because they don't "feel like it". This is of course calming news for system administrators and the likes.
Beware: In C++, your friends can see your privates!
All the negative reactions here come from IT workers, who want their job places secured. But you see, as one previous reply pointed out, it's just replacing the monkeys. Imagine you current job. How much of it could be automised? Maybe not in the current configuration, but what if we had more standards (like XML, like standard hardware, ...).
This is going to happen, so the best thing to do is to climb up the ladder, and try to be ahead of it. It may be a lot of work in the beginning, but it could reduce work (and costs) in the end. This is similar to HP + (Compaq + Digital) who are reducing their server line from three types to one. It will cut in our flesh now, but it will allow us to grow as a whole.
It's life, my friends, don't think you're immune for it.
Teenagers these days don't have as much sex as they want each other to think they do.
ulimit: ulimit [-SHacdflmnpstuv] [limit]
Ulimit provides control over the resources available to processes started by the shell, on systems that allow such control. If an option is given, it is interpreted as follows:
-S use the `soft' resource limit
-H use the `hard' resource limit
-a all current limits are reported
-c the maximum size of core files created
-d the maximum size of a process's data segment
-f the maximum size of files created by the shell
-l the maximum size a process may lock into memory
-m the maximum resident set size
-n the maximum number of open file descriptors
-p the pipe buffer size
-s the maximum stack size
-t the maximum amount of cpu time in seconds
-u the maximum number of user processes
-v the size of virtual memory
If LIMIT is given, it is the new value of the specified resource. Otherwise, the current value of the specified resource is printed. If no option is given, then -f is assumed. Values are in 1024-byte increments, except for -t, which is in seconds, -p, which is in increments of 512 bytes, and -u, which is an unscaled number of processes.
Interesting stuff, until you realize that most of the problems that we would want our computers to help themselves solve are undecidable. So in general a program can't tell if another program has gone on the fritz.
They will never let everything be free, they will be richer and we will be jobless.
If you use Linux, please help development of Autopac
There are many ways in which your human body fails. As we've mentioned on slashdot before, it's not really that efficient -- we spend anywhere from 6-10 hours a day (25-40% of the day) recharging and regrouping. If, as a SysAdmin, your network was down for that percentage, would you still have your job? I doubt it...
Also, it fails to protect your body from attacks, we have an endoskeleton, if you look at an ant or any other insect which can take out animals many times it's size, you will notice that they have exoskeletons. It's kind of like having your network security inside the network, leaving some of the network wide open. We all know that exploits will bring down a network that's even partially open.
One more point about our body, it gets sick often, some more than others, and some worse than others. I, for example, have diabetes and I have an insulin pump to inject insulin since my body attacked a part of itself for some reason as of yet unknown. It's something like your OS deleting your TCP/IP capabilities, it leaves you stranded.
Now, I'm sure there are many biology people who will point out that our bodies are amazing feats of detail, etc. etc. That may be true, but I still don't see how that makes it a good blueprint for technology that we create. Remember, it is only with technology that our infant mortality rate is not 40% or whatever ridiculous number it was in the 19th century.
This is my digital signature. 10011011001
It took how many generations to get the autonomic nervous system to where it is today? And still we have autoimmune disorders and responses like sepsis. I just hope my computer doesn't destroy itself hunting down a virus...
How about a word processor that will automatically correct me when I type "the" instead of "the"? I mean THE. THE THE THE. T-E-H, there. Oh wait, they already have that, and it's the most annoying feature ever. When you get computer that think they know what's best for you, bad things are going to happen. Even with something as simple as TEH. Imagine if it was advanced things like too many processes, think how much of an obscure problem it would be for a novice user to track down when they really do want too many processes? Anyway, I think it's a bad idea.
Take the human body's allergic reactions, for instance. Your body may react to something that's really not harmful, but it thinks it's protecting you. The unintended effect of the reaction can range from a mild annoyance to death.
In nature, other life forms have evolved to take advantage of your autonomous reactions, and I'm sure we will see this in the computer world as well. Wait until some script kiddie figures out that he can crash your server (or at least eat up CPU cycles) by sending it a signal that makes an autonomous daemon overreact in trying to do its job. The problem will be discovered, exploited, patched (but not on MS boxes) and a new exploit will be found. Circle of life and all that, I suppose.
Still, I think borrowing ideas from mother nature for the evolution of computers is the right way to go. After all, she's had millions of years to work on the problem through trial and error. We can build on that research and perhaps improve upon it, at which point we'll probably start looking at how to control our own evolution. Just remember to never write a daemon that prevents you from pulling the plug.
Although it's ostensibly about "self healing", it seems the largest portion of the page was about databases that self-optimize their queries. They make a big deal about Microsoft having stuff like that out, and that IBM has some big thing coming soon (LEO).
AFAIK, the free and open-source PostgreSQL also has similar technology built in.
*YAWN*
Come back when there's something to read, eh?
I have no problem with your religion until you decide it's reason to deprive others of the truth.
Oooh, and a hover board, they said I could have a hover board, where is it, dammit?
see for yourself
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
I can imagine circumstances like this happening inadvertantly due to program or kernel bugs, but isn't this a rare occurance unless you've executed a deliberate fork bomb?
That's what it does. It waits for you to fill up your memory before it starts using the disk as memory.
What do you do when you need to run a CAD program on a system with low memory? Do you need a daemon ouside the box to talk you into not starting and using that app?
All this seems to be is increasing userfriendliness by limiting you to what you can do. I'd rather see a blue screen due to my evil memory editing in debug.
The article also touches automatic database tuning depending on the actual use of the database. I look forward to a database which automatically modifies the schema when it finds that a parent table always joins with a child table with referential constraints.
IBM has previously introduced self-healing servers that essentially are able to detect that something has gone awfully wrong and therefore reboots. It may not be an elegant solution, but if it works the customer is happy.
All this is part of an evolution in software, or a "next step" in software implementation. The steps are:
Examples:
Out of diskspace when you download your email. The email program should find some spare diskspace somewhere on another partition or extend the current partition.
foo-1.7 requires bar-1.2. rpm should automatically downloads bar-1.2. Preferrably from a computer on the same lan that already has bar-1.2
A node in a cluster is overloaded. The cluster software should move applications/services to another node.
A HTTP server is using too much bandwidth. It should automaticall service images with less quality (and therefore use less bandwidth)
I look forward to it. It would allow me to let the computers monitor themselves and fix most problems without pestering me. And then I could use my time for something much more interesting than looking in /var/log/*, restarting failed applications, etc.
That would be a start anyway.
And this "organic"self-repair Zen gestalt type of system is a bunch if crap. If it really worked, there would be no cyrrhosis, no adult-onset diabetes, no emphesima, etcera...
Living systems reproduce asexually or breed because everything more complex than an algal mat is incapable of surviving for very long.
We'd do better do better than what passes for intelligence and self-repair onm homo sapiens sapiens.
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
The article is quite definitely outdated. The system they are referring to is known as an 'Expert System'. These systems are developed to learn facts about a given subject based on a set of predefined rules. The rules also react to facts and can initiate actions when a certain fact becomes true or known. More advenced systems are even capable of creating new rules, or modifying old ones based on the facts in their knowledge base. The medical community is probably in the lead in this field as they struggle to provide a reliable system that will accurately diagnose a patient, freeing up the doctor's valuable time for the actual treatment. One of the key requirements for an expert system is that it should be able to explain in detail how it reached a certain conclusion or action. IBM is simply trying to build something that will become an expert on troubleshooting. It should be noted that NASA has been working on this for years in order to provide more reliable satelites that are capable of conducting simple repairs and reconfiguration to react to the many mishaps that occur 50+ miles above the techs.
My 2 cents
I've dirtied my hands writing poetry, for the sake of seduction; that is, for the sake of a useful cause. --Dostoevsky
Your body automatically does it all
If our bodies worked the way we wanted, things would be very different. First, you'd get a huge boost of adrenaline so you could outrun the dog. Also, although your heart would speed up, you'd have no risk of a heart attack or other complications from overexerting yourself. You wouldn't get tired. And you'd be equipped with built in weapons for annihilating hostile canines.
You'd also never have to worry about getting nervous trying to talk to that new cutie at work, acne wouldn't exist, and we all be our ideal weight.
Our bodies, at best, make fair attempts at adjusting to situations, but they blow it as often as they get it right. Frankly, if our computers become as reliable as our bodies, I'm going to invest in pencils.
Think of all the terrible things that would happen if computers had the ability to make life or death decisions!!!!!
But, at least for now, this effort is really aimed at the hardware. Today we can see the beginnings of self-healing hardware in place. Some enterprise systems can already phone home when they have a HARDWARE problem, and let the support folks know that there is a problem. And with systems like Sun's SunFire x800 series servers, the sys admin can dynamically reconfigure the system to de-allocated bad CPU's or memory, I/O boards can be removed hot, etc. So, the next logical step is for the server to de-allocate the CPU that failed itself, and send an alert, probably via SNMP, to the sys admin. By doing it dynamically the server keeps running, albeit with a reduced work capacity. Even better would be to have "spare" CPU boards in the box that could be immediately allocated to replace the failed board. All of this is possible today, with human intervention. The point is to get the system to be able to do it without human intervention.
On the software side, I think it will take a bit longer. Some things, like database optimizers, possibly can be done right now. But, my observations (I'm not a DBA) of the database world indicate that most database optimizers aren't truly self-tuning/healing. Instead they can tune or heal for known conditions and make assumptions about how you want your database optimized. Most real DBA's hate this and have to spend extra time shutting off the self-optimizing functions and then performing their own optimization for their own real world scenario.
In my universe I'm perfectly normal, it's not my fault you don't live in my universe.
They don't even know enough about how biology works yet. Consider the following gaps:
1. There is no cure for a good many harmful viruses. Even dumb machines catch man-made viri. More complex ones are going to need HMO's?
2. No safe appitite supressent discovered yet dispite the fact that many people are naturally thin.
3. Cancer seems as elusive as ever, and may be simple but unreversable darwinian entropy of single cells evolving independent of the collective.
4. Way too little about how the brain works
Finally, biology often depends on trial-and-ERROR to adjust and correct itself. Do you really want your database "practicing" some new technique on the CEO's anual report?
If you mirror something you don't understand, don't complain to me when it barfs.
Table-ized A.I.
This is already happening. Here are some of the results:
Theory: Common DLLs would be updated with new DLLs when new programs came out, so that old ones would automatically benefit from the new code.
Result: DLL hell
Theory: Office2k and newer stuff with Windows installer 'tech'. Install on demand, restore file associations/missing files/shortcuts every time you run the program.
Result: Nobody, not you, not MS, not the computer, at any time knows what's installed on the PC. Every time you try to remove a deskop/quicklaunch/start menu shortcut or a file association, the application will think for 2min then ask you to find the CD and let it look at that for another 2 min.
What's next? The computer smells you coming, sprouts legs and runs away?
The last reliable lifeform-like program available for computers was a virus.
Just in:
"As part of Longhorn, Allchin said customers can expect to see new features for intelligent auto configuration, such as BIOSes and firmware that can be "automatically updated in a seamless way." Also, Allchin said Longhorn will include new functionality for server resiliency, such as self-healing characteristics, a more componentized architecture, and additional monitoring services with filters that can "dynamically" flow out to servers. "
Right on target there, Microsoft!
Beware: In C++, your friends can see your privates!
Seriously, let's figure out how to write software in the first place, then figure out how to do all the whiz-bang stuff.
I really think that software quality has stagnated, where funding nearly always stops short of allowing proper design and quality controls.
Who at Microsoft and IBM are going to ensure that the super-self-healing code can heal itself and in a usefully wide variety of situations?
Once such abstraction reaches a new threshold, how many people will be left around the world who can diagnose a real problem when it occurs?
I've seen repeatedly that higher abstraction does not always result in a better system. I know many "software engineers" who can't even determine that basic network issues or OS contentions are "breaking" their software. All they care about are their nifty buzzword-compliant IDEs with code highlighting. Once the population finally degrades to where nearly everyone is like this, what then?
Healthcare article at Kuro5hin
This is why compilers are bad -- they just mean fewer jobs for programmers, since a programmer can now write code in less than half the time. burn all compilers!
10 PRINT CHR$(205.5+RND(1)); : GOTO 10