User loginNavigation |
Parallel/DistributedConcurrent RevisionsConcurrent Revisions is a Microsoft Research project doing interesting work in making concurrent programming scalable and easier to reason about. These papers work have been mentioned a number of times here on LtU, but none of them seem to have been officially posted as stories. Concurrent Revisions are a distributed version control-like abstraction [1] for concurrently mutable state that requires clients to specify merge functions that make fork-join deterministic, and so make concurrent programs inherently composable. The library provide default merge behaviour for various familiar objects like numbers and lists, and it seems somewhat straightforward to provide a merge function for many other object types. They've also extended the work to seamlessly integrate incremental and parallel computation [2] in a fairly intuitive fashion, in my opinion. Their latest work [3] extends these concurrent revisions to distributed scenarios with disconnected operations, which operate much like distributed version control works with source code, with guarantees of eventual consistency. All in all, a very promising approach, and deserving of wider coverage. [1] Sebastian Burckhardt and Daan Leijen, Semantics of Concurrent Revisions, in European Symposium on Programming (ESOP'11), Springer Verlag, Saarbrucken, Germany, March 2011 By naasking at 2013-03-18 13:29 | Implementation | OOP | Parallel/Distributed | 13 comments | other blogs | 9024 reads
Visi.ioVisi.io comes from David Pollak and aims at revolutionizing building tablet apps, but the main attraction now seems to be in exploring the way data flow and cloud computing can be integrated. The screencast is somewhat underwhelming but at least convinces me that there is a working prototype (I haven't looked further than the website as yet). The vision document has some nice ideas. Visi.io came up recently in the discussion of the future of spreadsheets. By Ehud Lamm at 2012-10-27 09:36 | Functional | Logic/Declarative | Parallel/Distributed | 2 comments | other blogs | 9972 reads
Milner Symposium 2012The Milner Symposium 2012 was held in Edinburgh this April in memory of the late Robin Milner.
The programme consisted of academic talks by colleagues and past students. The talks and slides are available online. I particularly liked the interleaving of the personal and human narrative underlying the scientific journey. A particularly good example is Joachim Parrow's talk on the origins of the pi calculus. Of particular interest to LtU members is the panel on the future of functional programming languages, consisting of Phil Wadler, Xavier Leroy, David MacQueen, Martin Odersky, Simon Peyton-Jones, and Don Syme. By Ohad Kammar at 2012-10-16 17:31 | Functional | General | History | Parallel/Distributed | Semantics | Theory | 3 comments | other blogs | 10669 reads
The Trouble with ErlangTony Arcieri, author of the Reia Ruby-like language for the Erlang BEAM platform, wrote a piece in July, The Trouble with Erlang (or Erlang is a ghetto), bringing together a long laundry list of complaints about Erlang and the concepts behind it, and arguing at the end that Clojure now provides a better basis for parallel programming in practice. While the complaints include many points about syntax, data types, and the like, the heart of the critique is two-fold: first, that Erlang has terrible problems managing memory and does not scale as advertised, and that these failures partly follow from "Erlang hat[ing] state. It especially hates shared state." He points to the Goetz and Click argument in Concurrency Revolution From a Hardware Perspective (2010) that local state is compatible with the Actors model. He further argues that SSA as it is used in Erlang is less safe than local state. By Charles Stewart at 2011-09-09 08:50 | Critiques | Parallel/Distributed | 32 comments | other blogs | 13944 reads
OpaOpa is a new member in the family of languages aiming to make web programming transparent by automatically generating client-side Javascript and handling communication and session control. Opa is written in OCaml. A hierarchical database and web server are integrated with the language. The distribution model is based on a notion of a session, a construct roughly comparable to process definitions in the join-calculus or to concurrent objects in a number of formalisms. A good place to start is here. And here you can find several example programs with accompanying source code. By Ehud Lamm at 2011-08-25 16:29 | Functional | Parallel/Distributed | 66 comments | other blogs | 37906 reads
Memory Models: A Case for Rethinking Parallel Languages and Hardware, CACM, August 2010Memory Models: A Case for Rethinking Parallel Languages and Hardware by Sarita V. Adve and Hans-J. Boehm This is a pre-print of the actual version.
By Z-Bo at 2011-02-27 06:22 | Critiques | History | Implementation | Parallel/Distributed | 19 comments | other blogs | 13488 reads
Concurrent Pattern CalculusConcurrent Pattern Calculus by Thomas Given-Wilson, Daniele Gorla, and Barry Jay:
Barry Jay's Pattern Calculus has been discussed a few times here before. I've always been impressed with the pattern calculus' expressive power for computing over arbitrary structure. The pattern calculus supports new forms of polymorphism, which he termed "path polymorphism" and "pattern polymorphism", which are difficult to provide in other calculi. The closest I can think of would be a compiler-provided generalized fold over any user-defined structure. This work extends the pattern calculus to the concurrent setting by adding constructs for parallel composition, name restriction and replication, and argues convincingly for its greater expressiveness as compared to other concurrent calculi. He addresses some of the obvious concerns for symmetric information flow of the unification operation. By naasking at 2011-01-25 03:19 | Functional | Logic/Declarative | Parallel/Distributed | Theory | 1 comment | other blogs | 6140 reads
Language Virtualization for Heterogeneous Parallel ComputingHassan Chafi, Zach DeVito, Adriaan Moors, Tiark Rompf, Arvind Sujeeth, Pat Hanrahan, Martin Odersky, and Kunle Olukotun describe an approach to parallel DSLs that is a hybrid between external DSLs and internal DSLs in Language Virtualization for Heterogeneous Parallel Computing.
While the motivation of the paper is parallelization the proposed design looks like LINQ expression trees dialed to 11. By James Iry at 2011-01-11 15:42 | General | Implementation | Meta-Programming | Parallel/Distributed | 2 comments | other blogs | 7382 reads
Scala Team Wins ERC Grant
This may yet lead to very interesting developments. By Ehud Lamm at 2011-01-10 15:13 | Parallel/Distributed | Scala | 25 comments | other blogs | 11152 reads
Stressed by Distributed Programming? Well, CALM Down.in Consistency Analysis in Bloom: a CALM and Collected Approach Peter Alvaro, Neil Conway, Joseph M. Hellerstein, William R. Marczak of UC, Berkeley say
|
Browse archivesActive forum topics |
Recent comments
21 min 33 sec ago
1 hour 21 min ago
1 hour 57 min ago
6 hours 15 min ago
7 hours 40 min ago
8 hours 16 min ago
10 hours 21 min ago
11 hours 15 min ago
12 hours 57 min ago
13 hours 4 min ago