[Haskell-cafe] About adding msync and anonymous mapping (virtual allocation) API to mmap package

YueCompl compl.yue at icloud.com
Mon Nov 15 11:10:53 UTC 2021


Dear Gracjan Polak, and Cafe for wider attention,

I'm using the great [mmap](https://hackage.haskell.org/package/mmap <https://hackage.haskell.org/package/mmap>) package, and now I need 2 more features closely related to its existing features:

- API to perform `msync` so as for:
  - A long running process to checkpoint the persistence of modifications
  - Parallel readers to see other writer's modification with cache coherence, i.e. invalidate cache as notified
- API to do anonymous mmap-ping for volatile (virtual) memory allocation

I expect the coding work to be trivial and intend to do it myself, however it's better to ask your opinion meanwhile I experiment with the ideas.

Would you like to accept such features into [mmap] package?
How do you think about details of such features?

For the background of my needs: I'm working on a shared immutable heap implementation, persistency will be provided by disk backed storage servers, parallel work horse servers will build heap contents in rather coarse grained fashion, first as volatile heaps in one's private memory, then publish into shared storage with bulk writing, so all servers will be able to mmap such public heaps into their own memory address space, with kernel pages as cache shared by all processes on a same physical node.

I hope it's okay to ask in the Cafe list at the same time, as I also anticipate more feedbacks/opinions from the list with broader expertise, will much appreciate!

Thanks with best regards,
Compl

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20211115/f02e3671/attachment.html>


More information about the Haskell-Cafe mailing list