Coder Social home page Coder Social logo

apache / mnemonic Goto Github PK

View Code? Open in Web Editor NEW
116.0 25.0 69.0 3.11 MB

Apache Mnemonic - A non-volatile hybrid memory storage oriented library

Home Page: https://mnemonic.apache.org

License: Apache License 2.0

Shell 1.15% Python 0.89% Java 74.12% CMake 1.65% C 17.12% Scala 4.21% Dockerfile 0.56% Rust 0.29%
non-volatile apache apache-mnemonic java memory bigdata

mnemonic's Introduction

================================

CI

Apache Mnemonic is a non-volatile hybrid memory storage oriented library, it proposed a non-volatile/durable Java object model and durable computing service that bring several advantages to significantly improve the performance of massive real-time data processing/analytics. developers are able to use this library to design their cache-less and SerDe-less high performance applications.

Features:

  • In-place data storage on local non-volatile memory
  • Durable Object Model (DOM)
  • Durable Native Computing Model (DNCM)
  • Object graphs lazy loading & sharing
  • Auto-reclaim memory resources and Mnemonic objects
  • Hierarchical cache pool for massive data caching
  • Extensible memory services for new device adoption and allocation optimization
  • Durable data structure collection(WIP)
  • Durable computing service
  • Minimize memory footprint of on-heap
  • Reduce GC Overheads as the following chart shown (collected from Apache Spark experiments)
  • Drop-in Hadoop MapReduce support
  • Drop-in Hadoop Spark support

mnemonic's People

Contributors

bigdata-memory avatar byl5088 avatar chunyonghe avatar ddutta avatar dependabot[bot] avatar djkevincr avatar gemruan avatar jerryzh65 avatar johnugeorge avatar jxjlearn avatar katarinaking avatar lcy0816 avatar lishen-nt avatar liujielj avatar lql5083psu avatar paleyss avatar rakeshadr avatar rhythmwind avatar splendidbird avatar taojieterry avatar weiho1122 avatar wentong12 avatar xiaominsonggit avatar yzz127 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mnemonic's Issues

Github issue history get lost

After I re-activated the project link to Github, the issue history get lost, so I think we have to remove the issue id info from commit title e.g. [MNEMONIC-], the document needs to get updated to reflect this changes. any ideas are welcome. thanks.

Refactor the project to support OpenJDK 11

I recall the similar issue has been submitted before, but we lost our issue history, so I re-submit it as a top-level ticket that should break down into several sub tasks to fulfill. it could be a milestone if OpenJDK11 is supported.

Failed to execute Antrun job for module mnemonic-nvml-vmem-service

The project building shows the following error with openJDK 11

[INFO] --- maven-antrun-plugin:1.8:run (build-native) @ mnemonic-nvml-vmem-service ---
[INFO] Executing tasks

main:
     [echo] Java Home: /usr/lib/jvm/java-11-openjdk-amd64
     [exec] -- Configuring incomplete, errors occurred!
     [exec] See also "/home/gary/ws/mnemonic/mnemonic-memory-services/mnemonic-nvml-vmem-service/src/main/native/build/CMakeFiles/CMakeOutput.log".
     [exec] See also "/home/gary/ws/mnemonic/mnemonic-memory-services/mnemonic-nvml-vmem-service/src/main/native/build/CMakeFiles/CMakeError.log".
     [exec] CMake Error at CMakeLists.txt:43 (message):
     [exec]   not found vmem library
     [exec] 
     [exec] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  5.071 s
[INFO] Finished at: 2020-07-18T13:39:46-07:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.8:run (build-native) on project mnemonic-nvml-vmem-service: An Ant BuildException has occured: exec returned: 1
[ERROR] around Ant part ...<exec failonerror="true" dir="src/main/native/build" executable="cmake">... @ 6:75 in /home/gary/ws/mnemonic/mnemonic-memory-services/mnemonic-nvml-vmem-service/target/antrun/build-main.xml
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Replace the pmem libraries source building with distributed library packages

Pmem project releases have been managed by Linux Distribution repository e.g. Ubuntu repository, hence, it is possible to get rid of all steps about generating the pmem libs from the source code of pmem related libraries.

For instance, in Ubuntu, we can issue the following commands to install the dependent pmem libraries.

sudo apt install libndctl-dev
sudo apt install libpmem-dev
sudo apt install libvmem-dev
sudo apt install libpmemobj-dev

Cannot initialize module SuppressionFilter Error

The maven module mnemonic-nvml-vmem-service shows the following errors.

[INFO] --- maven-checkstyle-plugin:3.0.0:check (validate) @ mnemonic-nvml-vmem-service ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  2.891 s
[INFO] Finished at: 2020-07-18T13:11:39-07:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.0.0:check (validate) on project mnemonic-nvml-vmem-service: Failed during checkstyle configuration: cannot initialize module SuppressionFilter - Unable to find: suppressions.xml -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Improve the deployment of Maven in Ubuntu Docker file

The steps of Maven deployment and proxy configuration are able to further simplified on Ubuntu 18.06 LTS. from my system, it shows the latest stable versions of Docker and Maven are Docker v19.03 and Maven v3.6.0, there are some associated feature can help to make those steps more elegant.

Update the Ubuntu docker file to adopt pmem packages

The current Ubuntu docker file instructs the building ndctl and pmdk project from source code, that can be replaced with apt command to install dependent pmem devel. libraries directly from Ubuntu package repository, the versions of those packages might be a little bit out of date but it is the best for compatibility and stability corresponding to specific Ubuntu distribution.

Linked to #125

Improve the deployment of Maven in CentOS Docker file

The steps of Maven deployment and proxy configuration are able to further simplified on Cetnos 8. from the Docker container, it shows the latest stable version of Maven is v3.5.4.
Regarding the Docker, I search out that it is possible to deploy v18.09.2 on CentOS 8, that should be good enough.

Redis integration with Mnemonic

We plan to support Redis as additional backend of Mnemonic storage infrastructure. Targeting design complete for 0.16.0 release

Update the CentOS docker file to adopt pmem packages

The current CentOS docker file instructs the building ndctl and pmdk project from source code, that can be replaced with apt command to install dependent pmem devel. libraries directly from Ubuntu package repository, the versions of those packages might be a little bit out of date but it is the best for compatibility and stability corresponding to specific CentOS distribution.

Linked to #125

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.