

Storage hierarchy
add(word)that adds a new word into the dictionary,contains(word)that specifies if the given word is present in the dictionary,containsPrefix(prefix)that specifies if there is any word beginning with the given prefix.
- What persistent memory is.
- The characteristics of persistent memory.
- What makes persistent memory different from block storage devices.
- Memory mapping.
- How persistent memory works.
- Byte addressability vs Word addressability.
- Why byte addressability of persistent memory is useful.
- Full persistence The idea behind full persistence is to have the entire data structure on persistent memory. Our persistent dictionary will use full persistence which means all read/write operations will involve persistent memory.
- Selective persistence The idea behind selective persistence is to have some part of the data structure in DRAM and the rest in persistent memory. This design choice gives the best of DRAM and persistent memory as we might be able to perform READ operations from DRAM and writes will happen both in DRAM and persistent memory, thus making our writes non-volatile.
classes, objects and raw pointers. The codebase link will be mentioned in the corresponding articles.