Ming the Mechanic:
Self-repairing computers

The NewsLog of Flemming Funch
 Self-repairing computers2003-06-04 18:43
by Flemming Funch

Scientific American has an article about self-repairing computers. Sounded promising, but instead it illustrates how we're in dire need of a paradigm change in computer design. The thinking of the researches mentioned in the article is that reboots usually fix things, but it takes too long, so we need micro-reboots, where smaller portions of the system can be rebooted by themselves. Well, sure, that's maybe a good thing, but if that's the best we can look forward to in terms of fault-tolerant computers, that is incredibly lame. Then Microsoft can come up with a micro-reinstall that will reinstall parts of your system several times each second.

What would be more interesting would be to rethink the way we do most of our technology. Most devices we use have single points of failure, and we've somehow ended up designing our software in a similar fashion. Your computer is full of tiny little copper wires, and a great many of them would cause the computer to stop functioning if you cut even one of them. The answer, if you send it to repair, would be that you'll buy a new motherboard. Even if you don't break anything, but you just cut power for 1/10 second, your computer will go down. And as far as the software goes, a misplaced comma, or a zero that should be a one, that's often enough for bringing down the whole thing. It just seems so primitive.

Compare with organic life forms. Look at anything that is alive and you'll find that it is self-repairing and extremely fault-tolerant. Most animals will keep going even with missing limbs, wounded, being fed crap, and in unfamiliar circumstances. The only thing that will bring an oganism down is some kind of systemic failure. Not just losing a few million cells, but a bunch of big things at the same time that will sabotage how the whole thing coordinates its activities.

Why can't I have technology like that? Why can't I use programs like that? Stuff that keeps working, even with heavy damage. Well, as a programmer I can of course start answering that. We don't know how to do that. We know how to do it on a small scale. We can make servers that have multiple hot-swappable power supplies. We can with some effort set up mirrored servers that will take over for each other. We can set up battery backed power supplies that take over when the power goes. And in software we can divide the functionality into "objects" that each will check and double-check everything, and try to recover from problems. But it isn't any pervasive philosophy, and it is built on a fragile foundation. If we are concerned about something needing to always be up, we might put in two or three or a certain component. But even when that mostly works, it is a very feeble attempt of fault-tolerance. Nature's way seems to be to have thousands or millions of independent but cooperating units, each having a knowledge of what needs to be done, but each going about it slightly differently.

Translated to the software world, does that mean we ought to write all programs as a large number of independnet agents or objects or even viruses, that somehow work together in getting things done? Or would neural networks do the trick? I wish I knew.

[< Back] [Ming the Mechanic]



6 Jun 2003 @ 20:53 by bushman : Nanites
They will come up with what will be called a Nanite cube, it will connect to hardware via a cell phone type device. It will be a 6x6x6 cube with trillions of Nanites, they group up and will act like DNA strands within the cube, each individual cube is link to each other, they will be sold like pets.  

6 Jun 2003 @ 21:12 by ming : Nanites
Heheh, as long as comes when I call, and it doesn't crap on the lawn, I'm all for it.  

20 Jun 2003 @ 08:38 by cat @ : machine evolution
We need a robot that can manufacture copies of itself and repair itself. Of course this is easier said than done. Building up to it seems to be the quest. Basically we need a machine that through its actions become self aware. By constantly repeating the same tasks on itself and its environment it will gradually evolve. Look at the horse. Its basic activity was survival until it reached a point where it became useful to man. It evolved from just taking care of itself. I've been trying to do something along these lines. Basically the machine has determine its own design through trial and error.  

19 Dec 2014 @ 16:59 by Angel @ : KHGpCgXiZA
Fixed-term parliaments shuold be the norm not the exceptionAND with proportional representation by Single Transferable Vote. . We have them in Scotland the Scottish Parliament term is four years Westminster shuold play the game' and play fair! No PM shuold be allowed to manipulate election dates to suit his/herself or the party for which they stand. furthermore, if a party leader is elected as PM for the full term of Parliament, he shuold stay the course after all, he/she is elected on their own agenda and party manifesto. Jumping ship' shuold not be allowed. I agree with Neale about a mandate the UK has not granted Gordon Brown a mandate that was given to Tony Blair. The Labour Party needs to get its own house in order before it starts to dictate what other parties shuold be doing.  

23 Dec 2014 @ 10:24 by Carli @ : RgvJXctOfIcGUvYB
Until I found this I thguoht I'd have to spend the day inside.  

Other stories in
2007-12-26 21:19: LeWeb3
2007-07-04 23:14: Orbo free energy
2007-06-28 22:03: Wide-angle Immersive Stereoscope
2007-06-24 16:51: Spy box
2007-06-14 01:00: Photosynth
2007-04-25 14:01: Open source hardware
2007-03-22 16:33: The Air Car
2007-03-09 23:44: Web 2.0
2007-02-07 16:09: Talkr
2007-01-12 00:15: Open Source Desktop Fabricator

[< Back] [Ming the Mechanic] [PermaLink]? 

Link to this article as: http://ming.tv/flemming2.php/__show_article/_a000010-000822.htm
Main Page: ming.tv