Skip to content
/ ems Public
forked from mogill/ems

Extended Memory Semantics - Persistent shared object memory and parallelism for Node.js and Python

License

Notifications You must be signed in to change notification settings

homfen/ems

 
 

Repository files navigation

OSX | Linux | Node 4.1-14.x, Python2/3: Build Status npm version

Extended Memory Semantics (EMS)

EMS makes possible persistent shared memory parallelism between Node.js, Python, and C/C++.

Extended Memory Semantics (EMS) unifies synchronization and storage primitives to address several challenges of parallel programming:

  • Allows any number or kind of processes to share objects
  • Manages synchronization and object coherency
  • Implements persistence to non-volatile memory and secondary storage
  • Provides dynamic load-balancing between processes
  • May substitute or complement other forms of parallelism

original package

ems

updates:

add TypedArray support.

// node.js
const img = new Uint8Array(1920*1080*4);
shared.writeEF('img', img);

// python
img = shared.readFE('img')
print(len(img))

build

// node.js
npm run build

// python
sudo make clean_py3
sudo make py3

About

Extended Memory Semantics - Persistent shared object memory and parallelism for Node.js and Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 37.9%
  • C++ 34.3%
  • Python 15.3%
  • C 10.8%
  • Makefile 1.3%
  • Shell 0.4%