{"id":1076,"date":"2016-03-31T08:51:53","date_gmt":"2016-03-31T15:51:53","guid":{"rendered":"http:\/\/3.209.169.194\/blogs\/glenn\/?p=1076"},"modified":"2017-04-13T12:28:58","modified_gmt":"2017-04-13T19:28:58","slug":"hewlett-packard-enterprise-persistent-memory","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/","title":{"rendered":"Hewlett Packard Enterprise Persistent Memory"},"content":{"rendered":"<p>Hewlett Packard Enterprise (HPE) has <a href=\"https:\/\/www.hpe.com\/us\/en\/servers\/persistent-memory.html\">announced a new product<\/a> that uses non-volatile DIMMs (NVDIMMs), which they are calling Persistent Memory. This <a href=\"https:\/\/www.hpe.com\/us\/en\/servers\/persistent-memory.html\">short video<\/a> gives a high level view of how it works, via a whiteboard time lapse. The <a href=\"https:\/\/www.hpe.com\/us\/en\/product-catalog\/servers\/server-memory.html#\">initial product is an 8GB module<\/a> which has 8GB of DRAM backed by 8GB of flash for $899.00, which is pretty pricey!<\/p>\n<p align=\"left\">&nbsp;<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" alt=\"\" src=\"http:\/\/www.storagereview.com\/images\/StorageReview-HPE-8GB_NVDIMM.jpg\" width=\"640\" height=\"459\"><\/p>\n<p><strong>Figure 1: HPE 8GB NVDIMM<\/strong><\/p>\n<p>HPE has a <a href=\"https:\/\/community.hpe.com\/t5\/Servers-The-Right-Compute\/HPE-unleashes-Persistent-Memory-the-performance-of-memory-with\/ba-p\/6846074#.Vv0_Hmzru5M\">blog post with some more details<\/a> about their SQL Server testing using NVDIMMs.<\/p>\n<p>They compared the OLTP database performance of a SQL Server database running on an HP DL360 Gen9 server in two scenarios. The details they provide are frustratingly incomplete. They don\u2019t specify what version of SQL Server, what operating system, what type of SSDs, etc.<\/p>\n<p><strong><u>First Scenario:<\/u><\/strong><\/p>\n<ul>\n<li>Data file(s) on six 400GB SSDs\n<li>Log file on two mirrored SSDs (so two SSDs in RAID 1)\n<li>970K transactions\/minute\n<li>373 \u00b5s log write latency<\/li>\n<\/ul>\n<p><strong><u>Second Scenario:<\/u><\/strong><\/p>\n<ul>\n<li>Data file(s) on six 400GB SSDs\n<li>Log file on two mirrored SSDs, with two mirrored NVDIMMs as a write-back cache in front of the SSDs\n<li>1.08M transactions\/minute\n<li>181 \u00b5s log write latency<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" title=\"DB OLTP.jpg\" alt=\"DB OLTP.jpg\" src=\"https:\/\/community.hpe.com\/t5\/image\/serverpage\/image-id\/72254iFAB6C6E53F93E2DF\/image-size\/medium?v=lz-1&amp;px=400\" width=\"399\" height=\"212\"><\/p>\n<p><strong>Figure 2: HPE SQL Server Testing with NVDIMMs<\/strong><\/p>\n<p><font color=\"#666666\"><\/font>&nbsp;<\/p>\n<p><font color=\"#666666\">These results are actually not as impressive as I would expect on the surface, so I would be very curious to more details behind their testing. For example, was their workload previously limited by how fast it could write to the transaction log? After they started using NVDIMMs, did they run into a different bottleneck, such as CPU utilization?<\/font><\/p>\n<p>I also want to know more details how this is implemented, with existing server models and existing operating systems. It looks like there is a driver that excludes the DIMM slots that are being used by NVDIMMs from being visible to the operating system as conventional memory, and instead makes them available as a write-back cache layer for an existing storage device. It looks like you can combine multiple NVDIMMs into a single, mirrored cache layer in front of a single storage device. This seems pretty similar in concept to the hardware memory cache in a RAID controller.<\/p>\n<p>This might be pretty useful if you have a workload that is actually seeing bottlenecks writing to a transaction log (or perhaps you have multiple databases with log files on the same logical drive), and you don\u2019t want to use the <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/logs\/control-transaction-durability\">Delayed Durability feature<\/a> in SQL Server 2014 and newer or the <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/in-memory-oltp\/in-memory-oltp-in-memory-optimization\">In-memory OLTP features<\/a> in SQL Server 2014 Enterprise Edition and newer.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hewlett Packard Enterprise (HPE) has announced a new product that uses non-volatile DIMMs (NVDIMMs), which they are calling Persistent Memory. This short video gives a high level view of how it works, via a whiteboard time lapse. The initial product is an 8GB module which has 8GB of DRAM backed by 8GB of flash for [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[282,35],"tags":[283],"class_list":["post-1076","post","type-post","status-publish","format-standard","hentry","category-nvdimm","category-sql-server-storage","tag-hp-persistent-memory"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Hewlett Packard Enterprise Persistent Memory - Glenn Berry<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hewlett Packard Enterprise Persistent Memory - Glenn Berry\" \/>\n<meta property=\"og:description\" content=\"Hewlett Packard Enterprise (HPE) has announced a new product that uses non-volatile DIMMs (NVDIMMs), which they are calling Persistent Memory. This short video gives a high level view of how it works, via a whiteboard time lapse. The initial product is an 8GB module which has 8GB of DRAM backed by 8GB of flash for [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/\" \/>\n<meta property=\"og:site_name\" content=\"Glenn Berry\" \/>\n<meta property=\"article:published_time\" content=\"2016-03-31T15:51:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-04-13T19:28:58+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.storagereview.com\/images\/StorageReview-HPE-8GB_NVDIMM.jpg\" \/>\n<meta name=\"author\" content=\"Glenn Berry\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Glenn Berry\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/\",\"name\":\"Hewlett Packard Enterprise Persistent Memory - Glenn Berry\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/www.storagereview.com\/images\/StorageReview-HPE-8GB_NVDIMM.jpg\",\"datePublished\":\"2016-03-31T15:51:53+00:00\",\"dateModified\":\"2017-04-13T19:28:58+00:00\",\"author\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/57a8972435106bac7970692fcf5edfa7\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/#primaryimage\",\"url\":\"http:\/\/www.storagereview.com\/images\/StorageReview-HPE-8GB_NVDIMM.jpg\",\"contentUrl\":\"http:\/\/www.storagereview.com\/images\/StorageReview-HPE-8GB_NVDIMM.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hewlett Packard Enterprise Persistent Memory\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/#website\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/\",\"name\":\"Glenn Berry\",\"description\":\"Semi-random musings about SQL Server performance\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/57a8972435106bac7970692fcf5edfa7\",\"name\":\"Glenn Berry\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/64bdac8830f25f2f8cc780f8a1286c66ff1182218009271e7a953639596f7e25?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/64bdac8830f25f2f8cc780f8a1286c66ff1182218009271e7a953639596f7e25?s=96&d=mm&r=g\",\"caption\":\"Glenn Berry\"},\"sameAs\":[\"https:\/\/www.sqlskills.com\/blogs\/glenn\/\"],\"url\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/author\/glenn\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hewlett Packard Enterprise Persistent Memory - Glenn Berry","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/","og_locale":"en_US","og_type":"article","og_title":"Hewlett Packard Enterprise Persistent Memory - Glenn Berry","og_description":"Hewlett Packard Enterprise (HPE) has announced a new product that uses non-volatile DIMMs (NVDIMMs), which they are calling Persistent Memory. This short video gives a high level view of how it works, via a whiteboard time lapse. The initial product is an 8GB module which has 8GB of DRAM backed by 8GB of flash for [&hellip;]","og_url":"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/","og_site_name":"Glenn Berry","article_published_time":"2016-03-31T15:51:53+00:00","article_modified_time":"2017-04-13T19:28:58+00:00","og_image":[{"url":"http:\/\/www.storagereview.com\/images\/StorageReview-HPE-8GB_NVDIMM.jpg","type":"","width":"","height":""}],"author":"Glenn Berry","twitter_misc":{"Written by":"Glenn Berry","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/","url":"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/","name":"Hewlett Packard Enterprise Persistent Memory - Glenn Berry","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/#primaryimage"},"image":{"@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/#primaryimage"},"thumbnailUrl":"http:\/\/www.storagereview.com\/images\/StorageReview-HPE-8GB_NVDIMM.jpg","datePublished":"2016-03-31T15:51:53+00:00","dateModified":"2017-04-13T19:28:58+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/57a8972435106bac7970692fcf5edfa7"},"breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/#primaryimage","url":"http:\/\/www.storagereview.com\/images\/StorageReview-HPE-8GB_NVDIMM.jpg","contentUrl":"http:\/\/www.storagereview.com\/images\/StorageReview-HPE-8GB_NVDIMM.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/hewlett-packard-enterprise-persistent-memory\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/glenn\/"},{"@type":"ListItem","position":2,"name":"Hewlett Packard Enterprise Persistent Memory"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/glenn\/","name":"Glenn Berry","description":"Semi-random musings about SQL Server performance","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/glenn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/57a8972435106bac7970692fcf5edfa7","name":"Glenn Berry","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/64bdac8830f25f2f8cc780f8a1286c66ff1182218009271e7a953639596f7e25?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/64bdac8830f25f2f8cc780f8a1286c66ff1182218009271e7a953639596f7e25?s=96&d=mm&r=g","caption":"Glenn Berry"},"sameAs":["https:\/\/www.sqlskills.com\/blogs\/glenn\/"],"url":"https:\/\/www.sqlskills.com\/blogs\/glenn\/author\/glenn\/"}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/posts\/1076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/comments?post=1076"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/posts\/1076\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/media?parent=1076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/categories?post=1076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/tags?post=1076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}