DeuceSTM 1.3
DeuceSTM 1.3 was finally released including major bug fixes and few enhancement. For more details see: www.deucestm.org
- Deuce is a powerful open source java support for software transactional memory(STM).
- Deuce lets you develop highly concurrent applications without worrying about concurrency.
- Deuce allows you to write your application as if it was a single threaded application while in fact it runs many threads.
- Deuce is an extensible framework, which allows developers to develop/extend their own STM algorithms.
Location:
www.deucestm.org
- Login or register to post comments
- 1140 reads
- Printer-friendly version
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)




Comments
Peter Veentjer replied on Mon, 2010/03/08 - 2:30pm
Congratulations with the new release guy.
Is there a feature list of what is added to the 1.3 release?
James Imber replied on Fri, 2010/03/12 - 12:31pm
A question: what is the performance like compared to simple synchronized method?
I've seen that you've pitched several different locking algorithmbut not the 'standard' thing.
I would love to see the exact same stuff done with synchronized and @Atomic with a variable number of threads.
Peter Veentjer replied on Sun, 2010/03/14 - 4:13pm
in response to: im-james
It depends on the situation how much overhead there is. If inside an atomic block only reads are done, the reads can be executed with the same performance as a volatile read, the writes are going to be a littlebit more expensive compared to a volatile write because it is very likely that multiple cas operations need to be executed for a commit.
Yesterday I fixed one of my manual instrumented references that is used in the Akka project and on a single thread I'm able to do 160M readonly get transactions/second (one volatile read is done without objects being created; transaction is completely inlined) and 12M set transactions/second (also inlining of transaction). Eventually this is going to be added to the instrumentation, but it shows the potential.
When more is done in a transaction the costs increase. And as long as there is no hardware support (accessable inside the jvm) it wil in most cases be slower.
I see stm's as a different programming model that is a hybrid between traditional databases (transactions and easy or programming) and traditional in memory concurrency control (performance, blocking operations, etc). So if stm is a good fit for project, it could be a great technology I expect (there still is a lot to be discovered).
Guy Korland replied on Tue, 2010/03/16 - 5:07pm
in response to: im-james
If you add -Dorg.deuce.transaction.global=true deuce will not add any code instrumentation but will add only a single global lock (synchronized).
See how to replace between the different algorithms:
Writing your own STM algorithm Guy