Vous pouvez vous abonner à nos annonces de séminaires http://gallium.inria.fr/seminaires/ S E M I N A I R E __ / _` _ / / o /| /| __ __ __ __ _ _ / ) __) / / / / / /\/| ----- / |/ | / )(_ / / ) ) ) __) (___/ (_/ (_ (_ / (__/ / | / | (__/ __)(_ (__/ (_/ (_/ I N R I A - Rocquencourt Salle de réunion du bâtiment 16 Mardi 14 décembre, 14h30 ------------- Claudio Russo ------------- Microsoft Research ======================== A Scalable Joins Library ======================== Polyphonic C\#, C_\omega, the Joins concurrency library and Concurrent Basic are past MSR Cambridge projects that extend .NET languages with declarative, high-level message passing constructs, derived from Fournet and Gonthier's join calculus. The existing implementations, though sophisticated, are lock-based and the abstractions come at some cost: programs with high rates of contention do not scale to large number of processors. We now have a new implementation of the Joins library that uses ideas from fine-grained concurrency and non-blocking data structures to achieve much better scalability. The algorithm is simple and gives promising results. We validated our scalability results experimentally on declarative, high-level renditions of six classic coordination problems. Our new library scales significantly better than the lock based one. In addition, we scale competitively with bespoke solutions, though we occasionally suffer from higher constant-time overheads. This talk will give an overview of the core algorithm; describe the benchmarks and touch on some optimizations and extensions. The basic ideas should be of interest to anyone considering a parallel, shared-memory implementation of join patterns. This is joint work with Aaron Turon from Northeastern University.