This repository has been archived by the owner on Nov 4, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 38
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
13 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,18 +5,18 @@ | |
The Low Level Persistence Library offers access to persistent memory using `MemoryBlocks` allocated from | ||
a persistent Heap. | ||
|
||
This Java library uses the **libpmemobj** library from the Persistent Memory Development Kit (PMDK). | ||
This Java library uses the Persistent Memory Development Kit (PMDK). | ||
For more information on PMDK, please visit http://pmem.io and https://github.com/pmem/pmdk. | ||
|
||
## HOW TO BUILD & RUN ## | ||
|
||
### PREREQUISITES TO BUILD ### | ||
The following are the prerequisites for building this Java library: | ||
|
||
1. Linux operating system (tested on CentOS 7.2) | ||
1. Linux operating system | ||
2. Persistent Memory Development Kit (PMDK) | ||
3. Java 8 or above | ||
4. Build tools - `g++` compiler and `make` | ||
4. Build tools - `g++` compiler, `CMake` and `Maven` | ||
|
||
### PREREQUISITES TO RUN ### | ||
This library assumes the availability of hardware persistent memory or emulated persistent memory. Instructions for creating emulated persistent memory are shown below. | ||
|
@@ -29,23 +29,23 @@ greater. Please follow the steps at: | |
|
||
Alternatively, for use with older kernels, create a tmpfs partition as follows (as root): | ||
``` | ||
$ mount -t tmpfs -o size=8G tmpfs /mnt/mem # creates a 8GB tmpfs partition | ||
$ mount -t tmpfs -o size=4G tmpfs /mnt/mem # creates a 4GB tmpfs partition | ||
$ chmod -R a+rw /mnt/mem # enables read/write permissions to all users | ||
``` | ||
### STEPS TO BUILD AND RUN TESTS ### | ||
Once all the prerequisites have been satisfied: | ||
``` | ||
$ git clone https://github.com/pmem/llpl.git | ||
$ cd llpl | ||
$ make && make tests | ||
$ mvn compile | ||
$ mvn test -Dtest.heap.path=<path to persistent memory mount point> | ||
``` | ||
Available Makefile targets include: | ||
Available Maven commands include: | ||
|
||
- `sources` - builds only sources | ||
- `examples` - builds the sources and examples | ||
- `tests` - builds and runs tests | ||
- `docs` - builds javadocs | ||
- `jar` - builds jar file into ```target``` directory | ||
- `compile` - builds sources | ||
- `test` - builds and runs tests | ||
- `javadoc:javadoc` - builds javadocs into ```target/site/apidocs``` | ||
- `package` - builds jar file into ```target``` directory | ||
|
||
### USING THIS LIBRARY IN EXISTING JAVA APPLICATIONS ### | ||
To import this library into an existing Java application, include the project's target/classes | ||
|
@@ -57,12 +57,9 @@ directory in your Java classpath and the project's ```target/cppbuild``` directo | |
``` | ||
|
||
## CONTRIBUTING ## | ||
Thanks for your interest! Right now, architectural changes are still happening in the | ||
project. This makes it difficult to contribute code and difficult to effectively process pull | ||
requests. We expect these changes to settle out around March of this year and we look forward to | ||
code contributions once this happens. We will update this README then. | ||
Thanks for your interest! Please see the CONTRIBUTING.md document for information on how to contribute. | ||
|
||
In the meantime, we would love to hear your comments and suggestions via https://github.com/pmem/llpl/issues. | ||
We would love to hear your comments and suggestions via https://github.com/pmem/llpl/issues. | ||
|
||
## Contacts ## | ||
For more information on this library, contact Olasoji Denloye ([email protected]) or Steve Dohrmann | ||
|