Persistent memory programming is fairly new.
And currently, there are not many persistent memory aware
tools available for developers.
In this video, I'll tell you about some open source
persistent memory tools that will
help you manage the persistent memory in the system,
check for programming errors related to persistent memory,
and benchmark the performance of programs
built using the PMDK libraries.
I am Usha Upadhyayla from Intel.
Let's get started.
[MUSIC PLAYING]
The Persistent Memory Development Kit, PMDK,
provides developers with easier and less error-prone ways
to do persistent memory programming.
PMDK exposes persistent memory regions as memory pools.
And the first tool I'll be talking about
is called pmempool.
Pmempool is a utility for management and offline analysis
of persistent memory pools, including adding or removing
replicas.
Potential users for this tool include system administrators
for offline creation, analysis, manipulation of the pools,
and recovery from data corruption of these pools.
Application developers may use this tool
in debugging and testing applications built using PMDK.
The second tool is ndctl.
It's a Linux command line utility
for managing nonvolatile memory device subsystem.
ndctl is used to manage persistent memory
in the system, and the operations
supported by the tool include capacity provisioning,
enumerating, enabling, and disabling of these devices.
Daxctl is another utility that provides commands
to enumerate and provision device dax namespaces.
Device dax allows memory ranges to be allocated and mapped
without need for a file system.
This tool allows backup or copying content
of persistent memory region to another dax device.
Persistent memory programming is all about ensuring
data persistence and data consistency.
Pmemcheck is a tool built on Valgrind framework that
helps validate the correctness of the stores made
to persist in memory.
This tool also supports several options
to detect the stores that were not flushed to persistence
as well as the modifications made outside of transactions
and redundant or unnecessary cache flushes.
The PMDK libraries have built-in instrumentation for pmemcheck,
but the tool can also be used with applications
that are not built on PMDK.
There are also benchmarking tools like pmembench and fio.
Pmembench helps developers contributing to PMDK
to evaluate performance improvements
or to catch potential regressions.
Fio has been extended with a couple
of persistent memory-oriented engines
to evaluate performance of the applications re-architected
to work with byte addressable persistent memory.
Also, Intel is developing both performance analysis tools
and error checking tools for persistent DIMMs
based on 3D Xpoint media.
You could start now with VTune Amplifier's Memory Analysis
feature to identify data structures that
can benefit from larger memory.
Thank you for watching this introduction
to persistent memory tools.
We hope that you get a chance to explore the tools on GitHub
and provide us feedback.
Please don't forget to like this video and subscribe.
[THEME MUSIC]
Không có nhận xét nào:
Đăng nhận xét