After a couple of successful presentations on Persistent Memory (PMEM) I created a performance demo of PMEM in Hyper-V video to showcase the performance. I am not a great video talent so this is a bit rough but it does get the message across.
The performance of PMEM is nothing short of impressive. A video might help showcase this better than a screenshot. If 1.5 million IOPS in a VM doesn’t get you excited look at the latency of 0.04 ms or less with a workload of 8K IO size, 30% write, 30% random IO.
A follow-up video is to come soon. In that one, I configure PMEM in the BIOS, on the host and present it to a virtual machine on Windows Server 2019. I hope the results of the IO tests in this Performance Demo of PMEM in Hyper-V in this video will get you interested in how to set this up.
A bright future
Persistent Memory has a bright future all across the industry in servers, storage arrays, IoT and mobile devices, laptops and PC’s especially if MRAM and NRAM ever take off. My interest in it reminds me of the time when I started looking beyond 10/40Gbps networking and RDMA. The progress there converges excellently with persistent memory and FPGAs to show the path to composable infrastructure and help us deal with ever more data and processing needs.
I am happy to announce that I will be presenting at Experts Live 2019 Europe in Prague. The conference is held between 20-22 November 2019. This is my first time speaking there and I am really looking forward to it.
I will be talking about Hyper-V backups, the good, the bad and the ugly. Many people are still on older Windows Server versions and the improvements in backup alone should make for a strong use case to upgrade. I’ll show you why. I’ll share details improvements in speed, reliability, and scalability no matter what storage technology you use. Local, HCI, SAN, … they all benefit. We’ll share tips on how to leverage the improvements for the best results and make you backups shine. Finally, we’ll provide some feedback on what is still needs improvement. Remember as long as you run workloads on virtual machines you have to maintain it, keep it up to date and protected! If you know all this already, no worries, come for the over 40 other experts presenting. Take a look at the session catalog and see for your self.
Join us!
The conference focusses on Microsoft technologies at large and deals with Cloud, Datacenter, Security, Identity Management and the Modern Workplace. As such it realizes there is a lot of variety out there in building blocks used to make a company run. This means it offers content that reflects that reality and helps people succeed in their digital efforts to help their businesses run smoothly and securely on-premises as well as in the hybrid and public cloud.
I encourage you to attend if you have the opportunity. The content of other Experts Live Conferences I have done in the past was always excellent and the speakers were very knowledgeable. The same goes for Experts Live Europe I hear from my fellow MVP and colleagues who have attended before. Note that It is right after Microsoft Ignite 2019 and there are quite a lot of Microsoft attending as well. This means you’ll be getting some new information and insights hot of the press.
Life long learning is fun and doesn’t only happen at your desk or in a course. Get out of the office and into the world. It helps to get rid of the blinders and widen your view and vision on what is possible. It helps to learn from others, from your peers. So don’t delay and register here
Network, socialize, share and learn
With so many colleagues, experts, Microsoft Cloud Advocates, Program Managers and technologists at the event it offers excellent networking opportunities.
I will be around at the VIP Cloud Party, which provides plenty of networking opportunities and the chance to chat to the presenters and your peers. On top of that, I will be available between sessions and the “Ask The Experts” (ATE) speaker booth.
If you have questions about Hyper-V, Backup, Storage, Networking and best practices do come and find me. I don’t know it all, far from, but I have been able to help out many people before at conferences. Whether you work in small, medium or enterprise-sized organizations it’s free to ask and the worst that can happen is that I don’t know. I have a sweet spot for RDMA and PMEM, so if you ‘d like to chat, come find me!
Join us in Prague at Ask The Experts Europe
I hope to see you in wonderful Prague at a great conference! I am looking forward to meeting you there and presenting at Experts Live 2019 Europe in Prague. You can make new friends and catch up with others while you educate yourself. That’s a great deal.
I’ll give a quick intro to NVDIMM-F in this blog post. I am doing this for completeness sake as we look at some different PMEM implementations over a series of blog posts. We have already looked at NVDIMM-N and later we’ll look at the future of PMEM with NVDIMM-P and Storage Class Memory.
A quick intro to NVDIMM-F
NVDIMM-F is basically a PMEM module that contains only flash and resides on a DIMM slot (DDR-4 bus). There is is no DRAM on an NVDIMM-F module. The main advantage is that it comes in bigger capacities than NVDIMM-N. Flash can be bigger than RAM. The DDR bus speed is excellent and allows for low latency. The most obvious drawback is that it is a lot slower than NVDIMM-N. Sure they surely leverage SLC, but still, compared with DRAM this is significantly slower.
The memory is system mapped flash. So it is slower but is persistent as the reading/writing is done Flash. RAM is not system mapped but it can be used as a cache to speed up IO The RAM cache actually is a risk during power loss as this will not be persisted.
All this means that the speed and latency (10-100us) are flash-like, so not a great. The good news is the capacity can be that large as well so from 128GB to potentially many TB.
The limitations
NVDIMM-F provides larger flash-like capacity (128GB – xTB) but with higher latencies (10s of ms).
It is not byte addressable only block-level access to the memory-mapped flash. There is a proprietary driver between NVDIMM-F and the cache in main memory.
Caching in main memory (DRAM) is required to hide latencies but prevents 100% persistence.
The copying of data between cache in system RAM and NVDIMM-F NAND puts a burden on the channel bandwidth.
The benefits
NVDIMM-F provides large capacity NVDIMM not limited to DRAM sizes
it allows for immediate persistence of data in the NVDIMM-F modules without the overhead of moving it to NVMe or SSD at the cost of some temporary latency. Remember that NVDIMM-F is not trying to replace or act as memory in any way.
Use cases and futures
If you have a workload where avoiding PCIe/SAS latencies is important this could be an option. But with the excellent performance of NVMe over PCIe this has been reduced. What if you wanted 4TB of high-speed storage for a Very Large Memory database some years ago? NVDIMM-F was a proposed solution.
With the advent of NVDIMM-P & other Persistent Memory / Storage Class Memory offerings and the new media (3DXP, NRAM, …), I do not think NVDIMM-F is going places anymore. Those will offer capacity and speed. While NVDIMM-N will have some use cases where the absolute lowest latency is needed and the size limitation is not a show stopper, not so for NVDIMM-F. Storage Class Memory and NVDIMM-P will take over the reins.
Diabolo Technologies that made an NVDIMM-F back in the day does not even exist anymore. Maybe that could be a sign as well.
In this blog post, I’ll provide you with a quick intro to NVDIMM-N. NVDIMM-N is a form of persistent memory (PMEM). It is actually, at the time of writing, the most readily available PMEM type. You can get it from you favorite OEM right now online. Other PMEM offerings are not there yet or only got there recently with some limitations.
So now we need to explain PMEM. PMEM is a solid-state high-performance byte-addressable memory device that resides on the memory bus (today at least, new buses are coming). In other words, PMEM has DRAM-like access to data at almost the same speed & latency of DRAM but is persistent like NAND flash
A quick intro to NVDIMM-N.
NVDIMM-N Combines DRAM & NAND to deliver persistent storage in a DIMM slot.
NVDIMM-N also happens to be the fasted at the moment as works at the speed of DRAM. The flash in NVDIMM-N is only used to persist the data when the power goes down or is lost, It is also used to retrieve the data from at boot time. Nothing else, it literally is only used to persist the data when powered down and to reload it into RAM at boot time.
NVDIMM-N requires an external battery pack (supercapacitors) to deliver the power to persist all the data from DRAM to Flash when power is lost.
You can see the reloading of the data at boot time in the BIOS startup menu. It adds to the start-up time and is needed to make sure the data is in the NVDIMM-N DRAM ready for use by the time the OS is running
The actual data is only created, read, updated, deleted and consumed or used in the DRAM part. Hence it is very fast.
It also means it is rather small as the biggest DRAM modules you’ll find are 128 GB and those are very rare. Normally you’ll find 16 GB, 32 GB, and 64 GB. In NVDIMM-N the most common ones seem 16 GB.
Strong points
It is very fast, the closest to pure RAM as you’ll find.
Latency is at 10s of ns
Allows for block mode or byte access to the memory-mapped DRAM
It is readily available.
As the flash is only written to when the device shuts down or boots, the flash is not in danger of wearing out fast.
Weak points
It requires an external battery pack.
The capacity is rather small and DRAM sizes are not growing significantly.
It is expensive per GB as the capacity is delivered by NAND.
Note that both BIOS and OS support is required. Ideally, the applications also support DAX to leverage PMEM optimally. And, depending on the type of PMEM, the same goes for some of the related hardware (CPU, memory bus).
Use cases
Any workload that can benefit from extreme speeds but doesn’t require too much capacity. Database logging is one such example as is journaling.
So if you have a need for the fastest possible PMEM you could be using or looking at NVDIMM-N today. But due to the size limitations, you’ll be addressing any ultra-high-speed storage needs that require more capacity with different variants of PMEM in the very near future. NVDIMM-P or Storage Class Memory are two solutions that deliver similar characteristics in a somewhat different manner but at higher capacity and a better price point. I’ll discuss these in later posts.
Note: I present on the topic of PMEM and target IT professionals and developers that want to understand persistent memory a bit better. Help put it into context and learn about the benefits. Reach out via my contact page if this interests you.