STM is one of the promising concepts that aim to enable developers to write safe concurrent code. Several promising open source JVM-based implementations have appeared recently - (http://multiverse.codehaus.org/overview.html, http://code.google.com/p/deuce/, http://akkasource.org/). As an initial part of the assignment the existing options should be investigated in order to build a suitable STM strategy for the GPars project. A second part of the assignment would be to implement a Groovy wrapper around the chosen solution, integrating smoothly STM into Groovy and the GPars library as well as providing an intuitive API or a set of DSLs.
Assignment 2 -
The main focus of this assignment is to work on the already existing GPars dataflow concurrency implementation and further evolve it to encompass a full dataflow engine, with emphasis on intuitive and consistent API, high performance and smooth interoperability with the other GPars concepts.
All the GPars concurrency abstractions currently target single-box programming. An increasing demand for distributed concurrency has been observed among GPars users. Specifically, users would like to be able to distribute actors and agents on different boxes as well as allow dataflow channels to communicate across the network. As part of this assignment the contributor would:
- design GPars distributed abstractions as a seamless extension to the currently available single-box concepts
- choose the underlying networking technology
- build a robust implementation that would then be packaged as a GPars extension library
Assignment 3 - Document the GPars concurrency concepts