Distributed shared memory library for C++?

2019-02-13 06:53发布

I am writing a distributed application framework in C++. One of the requirements is the provision of distributed shared memory. Rather than write my own from scratch (and potentially re-invent the wheel), I thought I would see if there were any pre-existing Open source libraries - a quick google search did not yield anything to useful.

Does anyone on here have any experience of a good C++ DSM library that they can recommend?

Ideally, the library will support MRMW (Multiple readers/multiple writers), but I can make do with MRSW (Multiple readers, single writer) if need be. I am developing on Linux.

3条回答
趁早两清
2楼-- · 2019-02-13 07:36

Have you considered memcached ?

It is network distributed and it can be really fast.

It has bindings for lots of languages, you can access it from different OS and supports multiple writers multiple readers.

查看更多
我想做一个坏孩纸
3楼-- · 2019-02-13 07:42

Ace shared memory is for sharing on 1 platform.

Distributed Shared Memory is very much non-trivial as there are issues regarding transactionality to solve. To effectively use Distributed Shared Memory (even for a copy) you will find you need (among other things) distributed synchronization algorithms and protocols that need resiliency in the face of failure. (Shshooot! aint that always the way!)

Significant research papers have been written about these issues (see some of the chapter bibliographies of Taubenfield's book)

This is really a warning that "rolling your own" will be a significant project in and of itself.

查看更多
Rolldiameter
4楼-- · 2019-02-13 07:53

Try the ACE library, it has a lot of good stuff you'll like. They have a Shared_memory class in there but I'm not sure its a DSM - if not, they have plenty of other network/distributed stuff you might find interesting.

查看更多
登录 后发表回答