[erlang-questions] STM

Joe Armstrong <>
Thu Mar 5 09:07:24 CET 2009


I wrote the following a while back - it's a very simple implementation of
what I think is a transactional memory - as far as I can see this mirrors
what the hardware guys thinks is a transactional memory. It's just a simple
generalization of the good 'ol test and set.

http://armstrongonsoftware.blogspot.com/2006/09/pure-and-simple-transaction-memories.html


I actually think TMs are a bad idea - it's still shared state - and if
the TM fails
then everything gets screwed up. Adding a TM to a system changes the failure
characteristics of the system. A good goal of systems design is to
isolate things
as much as possible - A better approach is a DHT with a fault-tolerant
replicated store and transactions (like scalaris) - it has worse
latency but is highly scalable
and also offers transactions - what more could you want? (perhaps a TM
cache in front of scalaris :-)

/Joe Armstrong

2009/3/5 Tony Arcieri <>:
> On Tue, Mar 3, 2009 at 11:03 PM, Michael Truog <> wrote:
>>
>> Doesn't mnesia qualify with its support for transactions?
>
> That seems to be the general sentiment of the replies I'm getting here.
> Mnesia is certainly a transactional approach to dealing with shared state
> but I don't think that really qualifies it as an STM system.  I'm afraid if
> we try to delve any deeper it's just going to turn into a semantic argument
> about what STM actually means, so to those of you who think Mnesia is an STM
> system, I'm just going to say "Great!"
>
> --
> Tony Arcieri
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://www.erlang.org/mailman/listinfo/erlang-questions
>



More information about the erlang-questions mailing list