Shared Memory Arena


In short: It's an inter-process shared memory allocator.

Shared Memory Arena (shm-arena) is an application programming interface (API) library and utility programs for inter-process shared memory. It provides a dynamic shared memory allocator. It uses a name space to access shared memory segments between unrelated or related processes. Name strings are used in place of underlying virtual address numbers to access shared memory. This is analogous to the way name strings, called file names, are used to access regular computer files in place of the underlying inode numbers. The shm-arena API provides an interface similar to malloc to get named shared memory segments with two function parameters: size, and name. The underlying allocator class uses a structured shared memory arena file which will grow, or shrink, additional memory mappings automatically as more segments are requested from the malloc-like calls, or destroyed from free-like calls. It is the first of it's kind and is intended to be a standard.

  • The Shared Memory Arena library is thread safe.
  • Shared Memory Arena is LGPL free software.   lgpl image
  • C and C++ interface.
  • Provides named shared memory segments and named shared multi-queues, and there associated read-write locks.
  • The Shared Memory Arena scales to a large number of segments by using self balancing AVL trees.


SourceForge Links

hosted by Logo

Source Repository

To check-out the current source from the SourceForge Subversion repository run:

svn co shm_arena

Running this will create a directory, shm_arena/, which will have all the source files to Shared Memory Arena in it.

Shared Memory Arena version RC-0.0.25