Skip to content
This repository was archived by the owner on Nov 4, 2024. It is now read-only.

Commit 5f4b6df

Browse files
authored
Update README.md
1 parent a5cb58b commit 5f4b6df

File tree

1 file changed

+30
-14
lines changed

1 file changed

+30
-14
lines changed

README.md

Lines changed: 30 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,19 @@
1-
2-
# Low Level Persistence Library #
1+
# Low-Level Persistence Library #
32

43
## OVERVIEW ##
5-
The Low Level Persistence Library offers access to blocks of persistent memory allocated on
6-
a persistent heap.
4+
The Low-Level Persistence Library (LLPL) is a Java library that provides access to off-heap persistent memory.
5+
LLPL includes several kinds of components that can be allocated and used alone or together in building applications:
6+
* <b>heaps</b>: a pool of memory and an allocator for it
7+
* <b>memory blocks</b>: unstructured bytes that can be laid out for any purpose and linked to build data structures
8+
* <b>pre-built data structures</b>: arrays, linked list, and radix trees
9+
* <b>memory pools</b>: a process-shareable pool of memory
10+
11+
Data stored in the components above can persist beyond the life of a JVM instance, i.e. across application or system restarts.
12+
LLPL provides APIs that help developers ensure consistency of stored data.
13+
14+
Memory allocated using LLPL is not garbage-collected and must be explicitly deallocated using LLPL APIs.
715

8-
This Java library uses the Persistent Memory Development Kit (PMDK).
16+
LLPL uses the Persistent Memory Development Kit (PMDK).
917
For more information on PMDK, please visit http://pmem.io and https://github.com/pmem/pmdk.
1018

1119
## HOW TO BUILD & RUN ##
@@ -14,12 +22,13 @@ For more information on PMDK, please visit http://pmem.io and https://github.com
1422
The following are the prerequisites for building this Java library:
1523

1624
1. Linux operating system
17-
2. Persistent Memory Development Kit (PMDK)
18-
3. Java 8 or above
25+
2. Persistent Memory Development Kit (PMDK) v1.5 or newer
26+
3. Java 8 or newer
1927
4. Build tools - `g++` compiler, `CMake` and `Maven`
2028

2129
### PREREQUISITES TO RUN ###
22-
This library assumes the availability of hardware persistent memory or emulated persistent memory. Instructions for creating emulated persistent memory are shown below.
30+
This library assumes the availability of hardware persistent memory or emulated persistent memory.
31+
Instructions for creating emulated persistent memory are shown below.
2332

2433
### EMULATING PERSISTENT MEMORY ###
2534
The preferred way is to create an in-memory DAX file system. This requires Linux kernel 4.2 or
@@ -37,7 +46,6 @@ Once all the prerequisites have been satisfied:
3746
```
3847
$ git clone https://github.com/pmem/llpl.git
3948
$ cd llpl
40-
$ mvn compile
4149
$ mvn test -Dtest.heap.path=<path to persistent memory mount point>
4250
```
4351
Available Maven commands include:
@@ -58,11 +66,20 @@ LLPL is available from the Maven central repository. Add the following dependenc
5866
<type>jar</type>
5967
</dependency>
6068
```
69+
6170
#### WITH CLASSPATH ####
62-
To import this library into an existing Java application, include the project's target/classes
63-
directory in your Java classpath and the project's ```target/cppbuild``` directory in your
64-
```java.library.path```. For example:
71+
To use this library in your Java application, build the LLPL jar and include
72+
its location in your Java classpath. For example:
6573
```
74+
$ mvn package
75+
$ javac -cp .:<path>/llpl/target/llpl-<version>.jar <source>
76+
$ java -cp .:<path>/llpl/target/llpl-<version>.jar <class>
77+
```
78+
79+
Alternatively, include LLPL's `target/classes` directory in your Java classpath and the
80+
`target/cppbuild` directory in your `java.library.path`. For example:
81+
```
82+
$ mvn compile
6683
$ javac -cp .:<path>/llpl/target/classes <source>
6784
$ java -cp .:<path>/llpl/target/classes -Djava.library.path=<path>/llpl/target/cppbuild <class>
6885
```
@@ -73,5 +90,4 @@ Thanks for your interest! Please see the CONTRIBUTING.md document for informatio
7390
We would love to hear your comments and suggestions via https://github.com/pmem/llpl/issues.
7491

7592
## Contacts ##
76-
For more information on this library, contact Olasoji Denloye (olasoji.denloye@intel.com) or Steve Dohrmann
77-
(steve.dohrmann@intel.com).
93+
For more information on this library, contact Olasoji Denloye (olasoji.denloye@intel.com), Matt Welch (matt.welch@intel.com), or Steve Dohrmann (steve.dohrmann@intel.com).

0 commit comments

Comments
 (0)