Cette page appartient aux archives web de l'EPFL et n'est plus tenue à jour.
This page belongs to EPFL's web archive and is no longer updated.

Concurrency Paradigms: A Comparison in Scala

Mohsen Lesani presented today a talk on his concurrency project using scala. He gave a great introduction on the different  concurrency control mechanisms:

  • Locks
  • STM
  • Actors
  • Wait-free algorithms

To compare them he implemented two different problems: Bank account transfer and Producer & Consumer. The former shows a clear isolation problem while the later poses a signaling issue. With these simple problems we can already see that there is no silver bullet in concurrent programming, i.e. no single technique can easily implement both problems and yield good performance at the same time.

For me it was interesting to discover that STMs lack signaling capabilities, after the presentation I talked to Mohsen and proposed that the signaling could maybe be done at the end of an atomic block (although I don't know how a thread could wait inside an atomic region).

You can see the presentation below.

Posted by Daniel Tralamazza on Wednesday 4 February 2009 at 15:31