This is an old revision of the document!
distributed systems
a computer science topic (mostly…)
reading
“Applying Mobile Code to Distributed Systems” > http://www.crema.unimi.it/mirror/scheme/thesis/
The Eight Fallacies of Distributed Computing
Essentially everyone, when they first build a distributed application, makes the following eight assumptions. All prove to be false in the long run and all cause big trouble and painful learning experiences.
- The network is reliable
- Latency is zero
- Bandwidth is infinite
- The network is secure
- Topology doesn't change
- There is one administrator
- Transport cost is zero
- The network is homogeneous
– Peter Deutsch
“A Note on Distributed Computing” > http://research.sun.com/techrep/1994/smli_tr-94-29.pdf
We argue that objects that interact in a distributed system need to be dealt with in ways that are intrinsically different from objects that interact in a single address space. These differences are required because distributed systems require that the programmer be aware of latency, have a dif- ferent model of memory access, and take into account issues of concurrency and partial failure.
soft
- ftsh, the fault tolerant shell → http://www.cse.nd.edu/~ccl/software/ftsh/
human driven
- see crowdsourcing
not-so-idle cycles
- “Berkeley Open Infrastructure for Network Computing” http://boinc.berkeley.edu/