-----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.