GFD writes: "The EETimes has a story about a DARPA program to develop a new class of electronics and system architecture based on smart fabrics. Some of the more interesting challenges include networking protocols and fault tolerance. Routing between buttons? What happens if your CPU gets a rip??"
interesting related thing
by
WillWare
·
· Score: 5, Informative
Four or five years ago, some folks at MIT were
looking at similar things. They had a DARPA grant
to figure out how to program sloppily-networked
unreliable processors, and came up with a field
they called
amorphous computing.
They used an interesting set of conservative assumptions, so that their code could run on a wide range of hopefully-soon-to-be-cheap hardware:
Processors are too numerous to merit individual names. Any interaction between programmer and processors is a bulk operation; processors are never individually addressed. Think broadcast architecture.
Processors are unreliable. Any individual processor may fail at any time, or may be broken already at power-up.
No assumption of reliable geometry: processors have no a-priori knowledge of their physical location in the cloud.
Weak assumptions about connectivity: each processor is connected to N close neighbors, where the probability distribution of N is approximately known. Connections are unreliable and may be time-varying.
All processors are assumed to be manufactured with the same program in ROM. (This doesn't preclude the possibility of a distributed boot loader.)
Remarkably, many of these hardships can be overcome by clever programming, and some kinds of algorithms turn out to be idiomatic in this kind of programming model. Interesting stuff.
- Processors are too numerous to merit individual names. Any interaction between programmer and processors is a bulk operation; processors are never individually addressed. Think broadcast architecture.
- Processors are unreliable. Any individual processor may fail at any time, or may be broken already at power-up.
- No assumption of reliable geometry: processors have no a-priori knowledge of their physical location in the cloud.
- Weak assumptions about connectivity: each processor is connected to N close neighbors, where the probability distribution of N is approximately known. Connections are unreliable and may be time-varying.
- All processors are assumed to be manufactured with the same program in ROM. (This doesn't preclude the possibility of a distributed boot loader.)
Remarkably, many of these hardships can be overcome by clever programming, and some kinds of algorithms turn out to be idiomatic in this kind of programming model. Interesting stuff.WWJD for a Klondike Bar?