SOMns 0.2 Release with CSP, STM, Threads, and Fork/Join
Since SOMns is a pure research project, we aren’t usually doing releases for SOMns yet. However, we added many different concurrency abstractions since December and have plans for bigger changes. So, it seems like a good time to wrap up another step, and get it into a somewhat stable shape.
The result is SOMns v0.2, a release that adds support for communicating sequential processes, shared-memory multithreading, fork/join, and a toy STM. We also improved a variety of things under the hood.
Note, SOMns is still not meant for ‘users’. It is however a stable platform for concurrency research and student projects. If you’re interested to work with it, drop us a line, or check out the getting started guide.
0.2.0 – 2017-03-07 Extended Concurrency Support
Added basic support for shared-memory multithreading and fork/join
programming (PR #52)
- object model uses now a global safepoint to synchronize layout changes
- array strategies are not safe yet
Added Lee and Vacation benchmarks (PR #78)
Configuration flag for actor tracing, -atcfg=
example: -atcfg=mt:mp:pc turns off message timestamps, message parameters and promises
Added Validation benchmarks and a new Harness.
Added basic Communicating Sequential Processes support.
See PR #84.
Added CSP version of PingPong benchmark.
Added simple STM implementation. See
s.i.t.Transactionsand PR #81 for details.
Added breakpoints for channel operations in PR #99.
Optimize processing of common single messages by avoiding allocation and
use of object buffer (issue #90)
Turn writes to method arguments into errors. Before it was leading to
confusing setter sends and ‘message not understood’ errors.
Simplified AST inlining and use objects to represent variable info to improve
details displayed in debugger (PR #80).
Make instrumentation more robust by defining number of arguments of an
Added option to show methods after parsing in IGV with