-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 26.04.2016 15:46, Ashish Negi wrote:
> Nice.. I was going through the Readme.. but it looked complicated.
>  Can you write simple cases where this would be useful ?

First of all, one should try the Clojure STM first ofc. It also allows
to mark parts of transactions (like incrementing a counter) as
commutative and non-aborting. You only need to drop to eventual
consistency, when consistency becomes too expensive due to parallelism.
For in-memory datatypes, in contrast to CRDTs, there is no
availability problem (unless you would start considering CPU
failures). But there is the contention problem for the STM. The idea
behind the research is, that to avoid this, you start implementing
eventual consistent in-memory datastructures.

A made-up simple use case would be a global log of summarized
operations for a system with 100 CPUs running mostly agents for
example. In this scenario there is no consistency (or serializability)
anyway, but you would like a global log to track progress of the
system. You could use the add-only-bag in this case without slowing
down the agents. They will merge with the global log/bag from time to
time. While 100 CPU machines might sound a bit extreme, I think we are
approaching them soon. GPUs are already at over 1000 cores.

Should I add some more information somewhere to make it better
understandable?

Christian

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)

iQIcBAEBAgAGBQJXH9pwAAoJEICbLivqiPOFkigP/RRnLmHYhrYAAHtSQDu1UN4v
c3tS3zZqB5IgORUuCdcRi6rmm0DmeVTJXool3pELuWBsd/2NwpMxwHXnr72CsNgX
Jw7/73wq3/i9zTutaY6nRTaiUVg64N1zE8QqhJ/0oB8cSlPB/VuecP1Zc5Ie5rWW
TF0LJyyojr/PZg+OpnofZ2InI/EhgabV5hMmpxt1d0aIPqxtxMHXZTQ2A+cAqiHK
ZJncd8iFn4FMydaKTpVsjZegNIdHMH08KZVY1JdI91tf0YFQPwA/VD4c66j7hzBi
s058UurjqWFZedxe5Ic3eIbn6M0fwJMxzfjip91geJzvaSPG8RMifFDiBv5yOSLO
EIdM5yB515QJPla9moYESRvE/gace7mqI4QTOkpK1oVZAmO+Cjrpp/FrQUjgE0+Q
ObmqXJjfetFT8aaed+ZYrK0Kz1vfhNCuBDLvlKobK60j4i7rb+lm2nRfSLoPehLr
ibZ1aH/e0/BZ0fwuDHtiKYe0WdUL7DAheoHAnOeslDtdrrNJQxcGGmGIHbW0rEDx
YE4wKRkvF7DzjyvTHSVJ0ripsPcBGwPhYLAT+Abx6zniTOwBu6Y2qSEicX6vSiuz
BskbTughvbVyn09gF4co70jptYK9GguGHCBoHAyNx5jTY0FpNBoUR86lYVW+fPCa
NmLzLM8KD53dpMqF3zxS
=UoKO
-----END PGP SIGNATURE-----

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to