Towards Fearless Distributed Computing

Moving from sequential programming to concurrent, distributed programming exposes the programmer to diverse new hazards. Here we list some of the dangers, and look at the results when they are eliminated by using "relentlessly reliable references". Preliminary experience suggests that, given such "r-r-refs", programming of distributed systems is "fearless", i.e., though the hazards of writing a concurrent program are different from those in writing a sequential program, they may not be enough greater to induce greater fear. The consequence is that programmers can confidently write programs in an intrinsically concurrent, distributed style, from the first day of the first prototype. We hypothesize that such programs will scale well, exploiting both multicore chips and multi-node computing systems naturally and reliably.

[1]  Alan H. Karp,et al.  Not one click for security? , 2009, SOUPS.

[2]  Edward A. Lee The problem with threads , 2006, Computer.

[3]  David A. Wagner,et al.  Verifiable functional purity in java , 2008, CCS.

[4]  Mark S. Miller,et al.  Causeway: a message-oriented distributed debugger , 2009 .

[5]  Marc Stiegler Emily: A High Performance Language for Enabling Secure Cooperation , 2007, Fifth International Conference on Creating, Connecting and Collaborating through Computing (C5 '07).

[6]  Mark S. Miller,et al.  Robust composition: towards a unified approach to access control and concurrency control , 2006 .

[7]  Mark S. Miller,et al.  Capability-Based Financial Instruments , 2000, Financial Cryptography.