[Haskell-cafe] Persistent Concurrent Data Structures

dokondr dokondr at gmail.com
Wed Nov 2 01:12:11 CET 2011


Thanks everybody for advice!
I'll try to clarify what I mean by persistence and concurrent access that
preserves "happens-before" relationship.
1) Persistence - imagine Haskell run-time executing in infinite physical
memory. My idea is to implement really huge,  "almost infinite memory" in
the cloud of one or another type. Nothing more nothing less, nothing
imperative, exactly the same environment that GHC runtime  works today, but
extended to huge virtual memory in the cloud.

2) Concurrent access that preserves "happens-before" relationship. Before
talking about transactions, I would use locking data structures in two
different ways:
- Optimistic lock - everybody can read and write / delete simultaneously,
system ensures only "happens-before" relationship. In other words Best
Effort Modification - you can try to modify data, but there is no guarantee
that  your modification will work.
- Pessimistic lock - when you get lock - structure is all yours  as long as
you held the lock - everybody else can only read, "happens-before"
relationship is ensured at all times.
About "happens-before" relationship:
http://en.wikipedia.org/wiki/Happened-before
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20111102/0cf8006a/attachment.htm>


More information about the Haskell-Cafe mailing list