DevLabs: STM.NET
About Software Transactional Memory
Software Transactional Memory (STM.NET) is a mechanism for efficient isolation of shared state. The programmer demarcates a region of code as operating within a transaction that is "atomic" and "isolated" from other transacted code running concurrently.
Transactional memory is considered a promising technology by the academic community and is repeatedly brought up as a welcome technology for the upcoming wave of applications which scale on modern multi-core hardware. The goal is to be able to exploit concurrency by using components written by experts and consumed by application programmers who can then compose together these components using STM. Transactional memory provides an easy-to-use mechanism to do this safely.
STM is not a 1:1 lock replacement and provides more functionality than critical sections, reader-writer locks, and other traditional synchronization methods. This functionality has overhead; the hope is that the scalability, productivity, and deadlock freedom gained by this mechanism outweigh the degradation in serial performance.
This is an experimental release of the .NET Framework that allows C# programmers to try out this technology, specifically a particular implementation of STM. We are interested in your feedback on your experience using this programming model. Is it valuable and easy-to-use? Does it provide enough functionality? Are you willing to pay with serial performance losses to gain greater scalability? Our implementation is integrated with the framework and tools, it has been extended to provide coexistence with locks, interoperate with traditional transactional technologies, and safely work with existing code.
See more DevLabs projects >
Feedback
Give feedback about STM.NET in the DevLabs Forums.
Support for VS 2010 / .NET 4 Beta 2?Just wondering when or if there will be an STM.NET drop that supports beta 2 of VS 2010 and .NET 4. As long as I have a VM for VS 2010 B2, it would b... moreSaturday, Oct 24 by Keith Hill
Installation of Crystal ReportI have Installed Visual Studio 6 and Crystal Report 2008. But I cannot use Crystal Report from with Visual Basic as it does not appear in the Add-in M... moreFriday, Oct 16 by Bauni Sanju
ETA for x64 SupportCan we get an ETA for x64 support? We 64-bit OS users aren't feeling the love :(.Thursday, Oct 1 by mike.strobel
AbortReexecExceptionHi,I try to do my first steps with STM. I used the small program below to test retries. Funny thing is that I always get a System.TransactionalMemory.... moreThursday, Sep 17 by Banjobeni