Slashdot Mirror


Autonomic Computing

pvcpie writes: "The New York Times has a story today about Autonomic Computing, which is described as "a biological metaphor suggesting a systemic approach to attaining a higher level of automation in computing;" and they published a paper (pdf) on the topic. Apparently there are already some universities signed up on Autonomic Computing projects, more info was available on the website and in the nyt article. It also appeared in CNET."

23 of 152 comments (clear)

  1. The future by micromoog · · Score: 5, Interesting
    This is absolutely the future of commercial computing. Each new release of each major vendor's flagship database product is increasingly self-tuning, and these systems generally run better than their manually-tuned predecessors (due in part to the shortage of skilled workers).

    The more that can be done automatically, the more of the IT staff's precious time can be dedicated to more complex tuning tasks, and/or new development. This will make IT more effective, not obsolete.

  2. Is there a life expectancy? by gmkeegan · · Score: 3, Interesting

    Using the human body as an analogous self-maintaining system, would there be a coresponding lifespan to such a system? A point that is reached when the body can no longer repair and regulate itself and it simply quits.

    For that matter would there be analogous doctors, hospitals and life support systems? How about gymnasiums for keeping in shape? (and I ask that last one only half-jokingly...)

    Gordon
    What do you think you are doing, Dave?

    1. Re:Is there a life expectancy? by XPulga · · Score: 3, Interesting
      The human body has a life expectancy because the processes (chemical reactions, physical stress over tissues) it suffers along its "maintenance" damages the "hardware".

      The computer's life-expectancy doesn't change much due to the self-tuning properties, but of course these self-tuning properties will stress more the machine (more usage of CPU, disk and I/O in general), and hardware fails after some time. It may take long, but it fails.

      Now consider a self tuning database system which includes a shelf of backup tapes and a robot arm to switch tapes (or CDs) as part of its maintenance. Moving parts add to the stress, which reduces "life expectancy".

      Just to add to the mess, human life expectancy is also related to environment conditions. Being hit by a meteor or burned in a fire is just as bad for a computer as it is for a human.

  3. Microsoft's "self-healing" server by Anonymous Coward · · Score: 4, Funny

    It reboots itself.

  4. Marketing alert by sbeitzel · · Score: 3

    Look out, guys, they're performing a paradigm shift!

    While I think that designing system components with feedback capabilities is a neat idea, remember that doing this in a safe way requires actual computer science. Or at least extensive modeling. It's cool, sure, but it's going to be a while.

    --
    Oh, go on, check out my job.
  5. Evolution proceeds towards what works... by bill_mcgonigle · · Score: 3, Insightful

    My high school biology teacher must've said a thousand times, "Evolution proceeds towards what works, not towards what is best."

    The body works so well because it's highly highly highly redundant at the cellular level, not because there is a brilliant master control program controlling the most efficient implementation. You can't even imagine a number as big as the number of hormone receptors in your body.

    That kind of duplication in a computer system costs real money, and while a noble goal, people don't spend money on reliable systems, they buy Windows.

    This is a terribly useful approach in the battlefield, and the right thing to do once bandwidth and computational power are practically unlimited, but we're still in the stage of computing where people just want more features, reliability be dammed. After all, Nimda follows an autonomic behavior.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
    1. Re:Evolution proceeds towards what works... by Snootch · · Score: 3, Insightful

      After all, Nimda follows an autonomic behavior.

      There's a lot to that, actually. In all of computing so far, virii are the only programs that effectively self-maintain. This is of course due to their unique environment - not just indifferent but positively hostile humans and sentries to evade and destroy.

      People make a lot of fuss about things like this, and doubtless IBM will make real advances here due to just their huge resources, but most of these concepts are not new. Ditto these new automated soldier-things the Army are developing. Yes, doing it in a more complex and mission-critical environment is far more prone to error (whereas when a virus fails to replicate, it's not the end of the world for it - there are another few million still going), but we are not looking at a paradigm shift here.

      Virus writer have a lot to teach us about self-maintaining and -tuning programs - while despising the destruction they cause, I can't help but admire their design prowess.

  6. Repackaging the future by nyjx · · Score: 5, Interesting
    Just to be cynical for once - this sounds like a "user centric" repackaging of a whole bunch of hard AI research: learning, reactive planning, goal driven behaviour and autonomous agent work in particular.

    In the end it turns out that the most complex problem arise in trying to coordinate a collection of "autonomic" (?) components. Distributed systems with unrully objects... This is what the autonomous agent community is mainly concerned with ( see the UMBC agents page or this very useful overview paper for example).

    Of course IBM pushing this it might mean a kick up rear for the academic to actually get some of this potentially cool stuff working. Chances are you never want the end user to know how it works anyway.

    --
    .sig
  7. single cell systems, etc. by Alien54 · · Score: 4, Insightful
    You need to remeber even a single cell has the equivalent of Autonomic functions that are used to keep going. It does not probbably do the equivalent of deciding "shall I digest food now?"

    This means that we would need modular units in a network, say, that would be autonomic. The desktop PCs would have to be autonomic before you could bet the network to truly be so.

    It would be a whole new way of computer design for software, and I doubts that some of the OSs out there would have code bases that could be viable in this regard.

    Note that you can do this sort of thing as an optical illusion. You can pretend that everything is doing all right, when in fact it is going to hell in a hand basket. The vaporware diagnostic that merely pretends everything is all right, or the repair that cause more damage than was present in the first place.

    But I think we have had enough of that over the past decade or two to know to avoid it. And, of course, the guilty have not been named because everyone knows who they are already.

    --
    "It is a greater offense to steal men's labor, than their clothes"
  8. Re:Hmmm... by saridder · · Score: 5, Informative

    A program/database is only only as good as the knowledge of the person who has input and wrote it. If a PC thinks that to wipe it's hard drive is the best way to fix itself, I'd blame the author who wrote the maintenance program. No expert would wipe a hard drive as a general fix for a PC, and would not write these instructions into the PC.

    In my opinion, part of a autonomous PC is to be self-sufficient, not act like a lemming and follow other PC's just to follow.

    Plus, just as human have a basic survial instinct to survive, I think you'd write this instinct into the PC as well and not have it destroy itself (unless it was doing major harm to its master, etc. Remember Asimov's rules for robots).

    Finally, I agree humans will never be replaced as the final decision maker in fixing and running PC's, servers, networks, etc., but when I was a sys admin, I'd have killed for PC's to be smart enough to do some of the basic, mundane, man-hour, labourious tasks such as upgrading Service Packs if I told them all to do it, install programs, etc. Then I could have done more fun stuff. Plus when I had to fix a problem, people weren't glad to see me, because I was only there when something went wrong. Granted they were happy someone was there to fix the problem, but all would have preferred that there was no problem in the first place (PC fixed itself).

    --
    --- RFC 1149 Compliant.
  9. Remember that one ST:TNG... by callmegracie · · Score: 4, Insightful
    ...where the Enterprise came upon the race that had built very complex, self-sustaining technology and were able to devote themselves to "higher pursuits", like art and music, but who were unable to fix the problems that eventually developed because there was no one left who remembered how everything worked?

    sorry for the run-on, but that was my immediate thought when i read Paul Horn's statement that the creation of "computer systems and software that can respond to changes in the digital environment, so the systems can adapt, heal themselves and protect themselves" is the only thing which will reduce the need for "constant human maintenance, fixing and debugging of computer systems." freeing humans for higher pursuits sounds good, but is probably only likely in a utopia. Horn goes on to say "The only way to get efficiency gains in information technology is to take some of the people out." This trend sounds like the steel industry - we'll have more cost efficient processes in providing IT services, but all those educated in that field will end up working at mc donald's.

    so what happens when we all forget exactly how this "autonomic software" regulates itself? i guess this is the final word in proving the importance of documentation! : ) ** begging for a flamebait mod** &nbsp&nbsp or we could skip the documentation and just kidnap the children of visiting alien starships when we eventually start dying of radiation poisoning from our super-self-configuring systems.

    the infamous penn state stalker server!

    --
    p.l.u.r.
  10. We can already do this by MarkusH · · Score: 4, Informative

    "The only way to get efficiency gains in information technology is to take some of the people out."


    They're called managers.

  11. Yeah, but.... by BMazurek · · Score: 4, Funny
    Apparently there are already some universities signed up on Autonomic Computing projects

    Yeah...but does the University know about it? :-)

  12. Some academic thoughts... by drnomad · · Score: 4, Insightful
    Reading books about Fuzzy Logic, Artificial Life and so on, I played a mind game, designing this "software" few years ago (and many others have I'm sure!).


    The problems I discovered were:

    * The building blocks of the software itself, are human optimized algorithms and datastructures;

    * In order to improve human optimized algorithmns (meta-optimization?), one could develop some form of trial and error optimization algorithmn, but this would complicate things even more (it's hard to determine whether the searchdirection makes any sense); designing such algorithmn is very hard, because, how long do we search before we give up? This is like the chess game, certain move may look silly in the first place, but it could be a very good move in the end...

    * If the program is to optimize smart, it will need to use *known* optimizations, and be unable to improve human optimized algorithmns... Introducing the factor of meta-optimization gives the problem of CPU-time distribution: how much CPU time may content optimization take, and how much time may met-optimization take??

    * If only known algorithmns are used, the program is bound to a limited level of complexities. Meaning that: lot's of human comprehension has high complexity, which is yet not very well understood by science; the "Perfect Human Interface" is likely to fail in this area - it's the area the user (again) needs to adapt to the machine.


    But if these guys actually succeed in their quest... brilliant!!

  13. Reacting to Complexity We Didn't Need by scruffy · · Score: 3, Insightful
    I think a lot of the complexity we have is superfluous. Do we really need 1 GB of MS Super-Duper-Word to write a few lines of text? We bring too much complexity upon ourselves by our demand for more features and prettier interfaces.

    Anyway, the idea of Autonomic Computing is hardly new (consider plug-and-play and autoinstallers). The really, really hard part of it is to impose autonomic computing on a system that was not designed for it. It is very difficult to make a complex system "simple" without redesigning the complex system.

  14. Re:What virus writers have to teach.... by Snootch · · Score: 4, Interesting

    It seems, you never looked at the code of virus programs. They are not self-maintaining or seld-tuning. Most of the time, they are even written very badly and tend to crash in unknown environments.

    Actually, I have, and I know that many are very amateurish, but you come across the occasional gem - I once found a very cunning polymorphic macro virus lurking round. Funnily enough, those ones are the ones that tend to do the least damage - correlation?

  15. Open the door Hal. by AbandonAllHope · · Score: 3, Insightful

    In reading this article I'm beinning to wonder if AI is going to arrive not in the form of software implementation, but in the form of a computer that's "autonomic". Think about it, the article discusses a computer that is "self healing" with no need for human maintinence. I would imagine such a system would also need limited regenitive capabilities in case hardware was damaged on a physical level, this might fall under the bracket of self replication. Think about the amount of information these machines would be handling and "autonomicly" distributing themselves.
    Even limited self replication coupled with the ability to process information so rapidly and powerfully seems like borderline sentience to me. What happens when you attempt to replace an autonomic router and the computer as a whole deceides thats really something you shouldn't do, because the router is so useful. Can this be coded around or avoided altogether? The people that develop this technology are going to have to be weary of creating something that cares more about its own processes than the user trying to make use of them.

    --
    Abandon All Hope, Ye Who Enter Here
  16. Barnum science by Alomex · · Score: 3, Insightful

    Every so often what is a reasonable, modestly interesting idea gets high high-jacked by the snake oil peddlers in whose hands it becomes the solution to the world problems.

    The popular press quickly grasps on to it, as these magic bullets increase the circulation of OMNI and Scientific American. Eventually the politicians hear about them and allot untold amounts of money to these efforts.

    After 5-10 years nothing much comes out of this, and the snake oil peddlers move on to another area.

    Among the thusly overinflated areas we have:

    - AI
    - neural networks
    - expert systems
    - nanotechnology
    - chaos theory
    - e-commerce
    - parallel computing
    - distributed computing
    - complexity (a la Santa Fe Institute) theory
    - logic programming

    the latest two additions are

    - the semantic web
    - autonomic systems

    /.ers are well advised to apply a healthy dose
    of skepticism to any such magic bullet claim.

  17. Finally, somebody gets it. by Animats · · Score: 3, Interesting
    But the Slashdot crowd won't like it, because the UNIX/Linux crowd is clueless in this area.

    • You should never have to tell the computer something it already knows.
      That was in the original Apple "Inside Macintosh".
    • Everything must be plug and play.
      The hardware side is reasonably close on this. All the newer interfaces (USB, IEEE-1394, PCI, PCMCIA) have identity info on all devices. And it's been that way for a few years now. It's time to pull the plug on the old stuff and insist that everything autoconfigure.
    • All derived state must be checkable and regenerable.
      This is key. And again, Apple almost had it right, once. The original Apple model was that the system had two main repositories of system state - the Desktop file, and application preferences. The Desktop file could be regenerated if needed (and had to be, due to lousy database design), and application preferences were cosmetic only - you could delete preferences at any time, and just went back to the defaults.
      Apple never faced up to checkability, though. And it hurt them, because they were running an unprotected OS with a tendency to trash its internal data structures.
    • Software installation needs to go away. Read Cooper's "The Inmates are Running the Asylum" on this. I can't improve on what he writes. Installing an application should be viewed more like docking a peripheral and less like blithering all over configuration files.

      • Broken things must not contaminate other things.
        It's unacceptable to ever get bad data from a disk. Reported errors, yes; undetected errors, no. Everything must have error checking. Memory parity must always be on. (And ECC ought to be standard.)
  18. Re:There is no shortage by Bobo+the+Space+Chimp · · Score: 3, Interesting

    Actually, it's all supply and demand. Programming, engineering, and medical are common fields yet the pay is good.

    Art is a fairly rare field, and the pay generally sucks. Acting, music too. Sucks, unless you bedome popular, then you become a natural monopoly on "you" and your pay skyrockets.

    --
    I am for the complete Trantorization of Earth.
  19. Recursive Composition and Paramterization by KidSock · · Score: 3, Informative


    It tells your heart how fast to beat, checks your blood sugar and oxygen levels, and controls your pupils so the right amount of light reaches your ...

    There's an OO principle called dimeter which advocates as few dependancies as possible between objects. This sounds like a lot of hooks all over the place which is not a model of simplicity. It would be better for "it" to step out of the way and let each object adjust itself based on its surroundings just as in natural systems. Nature has a tremendous advantage over computers. It is far more efficient because everything is happening literally in parallel. Computers can really only do a very limited number of things at a time although sometimes the user perceives concurrencey due to very rapid time-slicing.

    As a result, programmers are forced to make tremendous compermises given the comparatively limited medium with which they have to work. It will take well established techniques and objective analysis to determine the be way to utilize bits on silica.

    Over the years I have recognised one principle that transcends this issue -- the issue of dealing with complexity. Oversimply it is Recursive Composition. This "pattern" or OO construct as it is sometimes referred to does not have a Class or particular set of relationships between objects. It's completely arbitrary. The idea, is to recursively delegate the responsibilty of another part of the system to yet another module. At the leaves of this tree you have the primative operations and at the root you have one simple instruction for triggering a potentially very complex cascade of instructions. Thus you have reduced the complexity of the overall system. The key difference between this and just another group of functions calling one another (and thus target to reduceing complexity of programs and in real-life systems) is parameterization.

    As a simple example, imagine trying to encode or decode a database file. The database file has a header, a record list, and data chunks. Like this one on PalmOS PDB files. If one were to apply the principle of Recursive Composition the API for this PDB codec would be, at the top level, PDB_decode(char *src). At the next level down you have operations like Hdr_decode(char *src) and Record_decode(char *src). At the leaves you have dec_uint32be(char *src) to decode an unsigned 32 bit integer in Big Endian byte order.

    If you can parameterize cleaning exactly what is required to perfrom a task and delegate it to another module you have broken the problem into at least two smaller problems which reduces the order of complexity. Simple! ;-P

  20. about 30 years behind the times by mj6798 · · Score: 3, Interesting
    Biological metaphors like that were the inspiration and motivation behind Smalltalk and similar systems (read the original papers). It didn't work out that way.

    Homeostatsis and self-regulation are not properties that you implement once in some abstract data type and that henceforth works for everything, or that require breakthrough new technology, they are design goals that you need to take into account when you design each and every part of a system. Biological organisms have been forced from day one to deal with these issues. The reason real software systems don't do this is not that people don't know how to, it's that software developers don't bother and aren't trained to do it, and that they can get away with it because there are always smart humans around to help it.

    So, next time you write a new piece of software, think about how you can make it more self adapting and less reliant on numerous environment variables and other arguments supplied by the user. The pathsearch library is a simple example of this.

  21. Security? by Michael+Woodhams · · Score: 3, Insightful

    More networking + more devices + more subtle, automatic behaviour of devices - human oversight = many more security holes.

    --
    Quattuor res in hoc mundo sanctae sunt: libri, liberi, libertas et liberalitas.