Cloud and enterprise application developers can reap huge performance and capacity gains when using non-volatile persistent memory to manage massive datasets and still achieve near-DRAM speed. Launched with the 2nd generation Intel® Xeon® Scalable processors, Intel® Optane™ DC persistent memory and the Persistent Memory Development Kit (PMDK) enable solution developers to deliver more actionable insights from data. The examples highlighted below provide a glimpse of the exponential promise for developing solutions that require high performance, high availability, and data persistence.
Persistent memory offers developers a new technology with the unique ability to act like memory and storage at the same time, opening up new possibilities for web-scale data-centric solutions.
As the Latency Pyramid shows below, persistent memory provides latencies similar to memory, measured in nanoseconds, while providing persistency. Block storage provides persistency with latencies starting in the microseconds and going up from there,
depending on the technology.
A key-value store can illustrate the value of persistent memory. The diagram below shows how a key-value store using traditional storage is laid out. When the application wants to fetch a value from the key-value store, a buffer must be allocated in memory to hold the result. That’s because the values are kept on block storage, which cannot be addressed directly by the application. The only way to access a value is to bring it into memory, and the only way to do that is to read full blocks from the storage device, which can only be accessed via block I/O.
Now consider another approach, where the key-value store resides in persistent memory. Here, values are accessed by the application directly, without the need to allocate buffers in memory first.
As the example suggests, persistent memory can allow developers to bring three key advantages to their data center solutions:
• Persistent memory modules displace more expensive DRAM in large-scale systems with >512GB while improving total cost of ownership (TCO) for workloads that need large and/or persistent memory.
• Increasing memory size with persistent memory can minimize software licensing fees per core while supporting more virtual machines (VMs) and containers to consolidate workloads on systems that have low CPU utilization.
• For high disk I/O traffic, persistent memory can break the I/O bottlenecks as an added, faster tier of high-speed storage.
Google* Cloud is the first public cloud provider to offer VMs backed by Intel® Optane™ DC persistent memory for higher capacity with significantly lower costs compared to VMs with only dynamic random-access memory (DRAM).
With up to 4x more memory in a server, at lower cost than the same amount of DRAM, Google Cloud also can offer larger-scale in-memory database services. In other use cases, persistent memory provides ultra-fast persistent cache, operating considerably faster and with lower-latency than SSD media.
Aerospike* Enterprise Edition 4.5 NoSQL key value database provides another impressive example. It typically stores indexes in DRAM and data on SSD. Customers in the financial and advertising industries typically deploy Aerospike in 25-node clusters. Each record in Aerospike requires a corresponding index entry in DRAM. Customers who run out of DRAM capacity are forced to either purchase larger DIMMs (if available) or scale-out to more nodes. In addition, any system reboot erases the DRAM index which must be rebuilt by scanning all records in the database—that can take hours for large systems, and many customers avoid rebooting unless absolutely necessary.
The developers of Aerospike solved that problem by enabling the index to be stored on large-capacity Intel® Optane™ DC persistent memory. That also allows customers to store more data per node, therefore reducing the need to scale out, and at near-DRAM performance.1 According to Aerospike Co-Founder and CTO Brian Bulkowski, “By using a persistence layer for indexes, full restarts of Aerospike are possible without primary index rebuilds.”
Intel Optane DC persistent memory offers workload optimized technology that, together with the Persistent Memory Development Kit (PMDK), help developers deliver more actionable insights from data—from cloud and databases to in-memory analytics and more. The hardware and software is available now to transform your data center applications.
Open Source Scale-Out Object Storage at Argonne Leadership Computing Facility
Intel has announced a new storage architecture for supercomputing that leverages Intel Optane DC persistent memory and Distributed Asynchronous Object Storage (DAOS). DAOS is an open-source software-defined scale-out object store providing high-bandwidth, low-latency and high I/O operations, and it is designed specifically for convergence of HPC and AI workloads. This new software-defined storage engine eliminates several limitations of today’s parallel file systems.
Susan Coghlan, Argonne ALCF-X* project director/exascale computing systems deputy director, said: “The Argonne Leadership Computing Facility will be the first major production deployment of the DAOS storage system as part of Aurora, the first U.S. exascale system coming in 2021. The DAOS storage system is designed to provide the levels of metadata operation rates and bandwidth required for I/O extensive workloads on an exascale-level machine.”
Intel® Optane™ DC Persistent Memory: A Major Advance in Memory and Storage Architecture: This disruptive technology holds tremendous promise for developing solutions that require high performance, high availability, and data persistence.
Provision Intel® Optane™ DC Persistent Memory in Linux*: How to provision Intel Optane DC persistent memory in Linux* using the open source ipmctl and ndctl utilities.
Develop Advanced Analytics Solutions with AI at Scale Using Apache Spark* and Analytics Zoo: More than 90 percent of all data in the world was generated in the past few years—each day, the world creates more than 2.5 quintillion bytes of data, and the pace is accelerating.
Andy Rudoff is a senior principal engineer at Intel, focusing on Non-Volatile Memory programming. He is a contributor to the SNIA NVM Programming Technical Work Group and author of the Persistent Memory Development Kit hosted at pmem.io. His more than 30 years industry experience includes design and development work in operating systems, file systems, networking, and fault management at companies large and small, including Sun Microsystems and VMware. Andy has taught various Operating Systems classes over the years and is a co-author of the popular UNIX Network Programming text book. View all posts by Andy Rudoff.
Performance results are based on testing by Intel and Aerospike on 02/27/2019 and may not reflect all publicly available security updates. No product or component can be absolutely secure.
Software and workloads used in performance tests may have been optimized for performance only on Intel® microprocessors. Performance tests such as SYSmark and MobileMark are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully considering your contemplated purchases, including the performance of that product when combines with other products. For more complete information, visit www.intel.com/performance.
1. Aerospike: For complete testing configuration details, see https://www.aerospike.com/blog/performance-on-intel-optane-persistent-memory/
Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserverd for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.
Notice revision #20110804