[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