432
libpmemlog, 69
libpmemobj, 141
libpmemobj architecture
ACID transactions, 328, 329
atomic and transactional APIs, 315
internal allocator interface, 323, 324
memory allocation, 324–328
Memory OID
ASLR, 316
convert pointer, PMEMoid, 318
pointer performance
problems, 316, 317
pointer requirements, 316
modules, 313, 314
OID, 314
PMEMoids, 315
power fail atomicity
redo logging, 320, 321
Undo logging, 321
store runtime (volatile) state, 330
thread local storage,
using lanes, 318, 319
libpmemobj library, 359
allocate memory, 93
data APIs
atomic operations, 94, 95, 97
benefits, 104
optinal flags, 104
reserve/publish, 97–100
transactional, 100–102, 104
debugging and error handling, 106–108
defining, 81
memory pools
pmemobj_create(), 84, 86–88
pmempool utility, 83
read and display string, 88, 90
memory poolset, 90–91
pmemobj_set_funcs() function, 106
pmempool utility features, 92
TOIDs, 92, 93
libpmemobj-cpp, 68
bindings, 128
definition, 111
goal, 111
librpmem architecture
active-passive replication
architecture, 359
components, 360, 361
error handling, 364
Hello World, 369, 370
Hello World,
replication, 364, 366, 367
latency, 362
libpmemobj library, 359
poolset, 362
pull model, 363
RDMA architecture, 360
remote_open routine, 368, 369
remote persistent memory, 363
rpmemd program, 359
synchronous replication model, 363
libsafec, 404
libvmem, 67
libvmemcache, 66, 178
application, 179
characteristics, 178
design
aspects, 180
extent-based allocator, 180, 181
noncontiguous allocations, 181
functions, 183
working, 179
Linux Volume Manager (LVM), 384
loadIndexTableFromPersistentMemory()
function, 267
Low-Level Persistence Library (LLPL), 418
Index
Précédent

- 451/457

Suivant