Disorderly Distributed Programming with Bloom
Speaker(s) : Neil CONWAY, UC Berkeley
Modern distributed systems often employ weak consistency because it avoids the availability and latency costs of protocols for achieving strong consistency. However, writing correct distributed programs using weak consistency is difficult because programmers cannot rely on a global ordering of events. At UC Berkeley, we have been working on programming languages and analysis techniques that are intended to simplify distributed programming without the benefit of strong consistency. We argue that distributed programs should be "disorderly" by default -- while most programs require some degree of ordering, the use and placement of ordering constructs should be an explicit design decision. Moreover, the language should help the programmer to use order effectively, and only when necessary.
These ideas are embodied in Bloom (www.bloom-lang.net), a language for distributed programming under development at UC Berkeley. This talk will review our recent work on distributed programming using join semilattices and monotone functions, and also highlight several areas of ongoing research.