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/
Storm “a free and open source distributed realtime computation system. Storm makes it easy to reliably process unbounded streams of data, doing for realtime processing what Hadoop did for batch processing” http://storm-project.net/ and some rationale
human driven
- see crowdsourcing
not-so-idle cycles
- “Berkeley Open Infrastructure for Network Computing” http://boinc.berkeley.edu/