{"id":465,"date":"2012-11-15T21:02:44","date_gmt":"2012-11-15T21:02:44","guid":{"rendered":"\/blogs\/jonathan\/post\/Faking-Hardware-NUMA-on-a-SMP-Machine-for-Learning-and-Demos.aspx"},"modified":"2017-04-13T14:41:30","modified_gmt":"2017-04-13T18:41:30","slug":"faking-hardware-numa-on-a-smp-machine-for-learning-and-demos","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/","title":{"rendered":"Faking Hardware NUMA on a SMP Machine for Learning and Demos"},"content":{"rendered":"<p>I\u2019ve blogged about <a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/category\/numa\/\" target=\"_blank\">NUMA a couple of times in the past<\/a> and we cover it extensively in our <a href=\"https:\/\/www.sqlskills.com\/sql-server-training\/\" target=\"_blank\">Immersion Events<\/a>, specifically when discussing SQLOS and memory and scheduling management.&#160; One of the challenges with this is that laptops are SMP machines, so unless you have a server with hardware NUMA it is impossible to show the differences in how SQLOS boots up with or without NUMA, at least that\u2019s what I used to think.&#160; It turns out that in Windows 7 and Windows Server 2008 R2, the support for &gt; 64 processor support and processor groups allows you to be able to fake a hardware NUMA configuration at the OS level for testing purposes. <\/p>\n<p>To show how this works I am going to use one of my test VMs running in VMware Workstation 8 on my Dell M6700 laptop that I use regularly for teaching and presentation demos.&#160; For the purposes of this post I have reconfigured the VM to have four CPUs with two cores each and 16GB RAM.<\/p>\n<h2>SMP Configuration (Default)<\/h2>\n<p>Under the default configuration of the VM has a single memory node presented by Windows to SQLOS so it starts up with a single NUMA node and all of the logical processors are assigned to that node, as shown in the Server Properties dialog below.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/2b387456\/image.png\"><img fetchpriority=\"high\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px\" border=\"0\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/2655c09a\/image_thumb.png\" width=\"527\" height=\"484\" \/><\/a><\/p>\n<p>We can also see this information from the DMVs with the following query:<\/p>\n<blockquote>\n<p>SELECT      <br \/>&#160;&#160;&#160; mn.processor_group      <br \/>&#160;&#160;&#160; , mn.memory_node_id      <br \/>&#160;&#160;&#160; , n.node_id AS cpu_node_id      <br \/>&#160;&#160;&#160; , n.online_scheduler_count      <br \/>&#160;&#160;&#160; , n.cpu_affinity_mask      <br \/>&#160;&#160;&#160; , n.online_scheduler_mask      <br \/>FROM sys.dm_os_memory_nodes AS mn      <br \/>INNER JOIN sys.dm_os_nodes AS n      <br \/>&#160;&#160;&#160; ON mn.memory_node_id = n.memory_node_id;<\/p>\n<\/blockquote>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/08773c99\/image.png\"><img decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px\" border=\"0\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/762e75d6\/image_thumb.png\" width=\"644\" height=\"85\" \/><\/a><\/p>\n<h2>NUMA Configuration (bcdedit)<\/h2>\n<p>A fake NUMA configuration can be created by setting the <em>groupsize<\/em> value in the Boot Configuration Data (BCD) using BCDEdit to the number of CPUs that should be grouped into each processor group. The appropriate values are 1 to 64 in powers of 2. This isn\u2019t documented in the standard BCDEdit documentation in the Books Online, but it is documented in the Windows Drivers development section.<\/p>\n<p><a title=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/hardware\/ff542202(v=vs.85).aspx\" href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/windows\/hardware\/ff542202(v=vs.85).aspx\" target=\"_blank\">BCDEdit \/set (Windows Drivers)<\/a><\/p>\n<p>To use BCDEdit you have to be running from a elevated command prompt as a local administrator.&#160; For the purposes of this post I am going to use a groupsize of 2.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/0ab3c555\/image.png\"><img decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px\" border=\"0\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/4a7dabda\/image_thumb.png\" width=\"644\" height=\"160\" \/><\/a><\/p>\n<p>After changing the BCD, it is necessary to restart the machine for the configuration changes to take effect to the configuration.<\/p>\n<p><strong>Disclaimer:&#160; This is not something you should do on a production SQL Server and this is only something that should be used for testing and\/or learning about SQLOS on a non-NUMA hardware machine.<\/strong><\/p>\n<p>After rebooting the server, if we look at the Server Properties in, we will have four NUMA nodes, each with two logical processors assigned to it.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/3115a8a0\/image.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px\" border=\"0\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/459af81e\/image_thumb.png\" width=\"497\" height=\"484\" \/><\/a><\/p>\n<p>Looking at the DMVs in SQL Server will also show the changes to how SQLOS started up and configured the instance.<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/40b84462\/image.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px\" border=\"0\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/35228723\/image_thumb.png\" width=\"644\" height=\"139\" \/><\/a><\/p>\n<p>Additionally, the Performance Counters in PerfMon for the Buffer Nodes we can see memory usage information per node:<\/p>\n<p><a href=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/49a7d6a1\/image.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px\" border=\"0\" alt=\"image\" src=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/654c6297\/image_thumb.png\" width=\"644\" height=\"135\" \/><\/a><\/p>\n<p>Keep in mind this is all false information, but you can really learn a lot about SQL Server and perform tests of behaviors under NUMA using this method.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u2019ve blogged about NUMA a couple of times in the past and we cover it extensively in our Immersion Events, specifically when discussing SQLOS and memory and scheduling management.&#160; One of the challenges with this is that laptops are SMP machines, so unless you have a server with hardware NUMA it is impossible to show [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,30],"tags":[],"class_list":["post-465","post","type-post","status-publish","format-standard","hentry","category-building-a-test-environment","category-numa"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Faking Hardware NUMA on a SMP Machine for Learning and Demos - Jonathan Kehayias<\/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\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Faking Hardware NUMA on a SMP Machine for Learning and Demos - Jonathan Kehayias\" \/>\n<meta property=\"og:description\" content=\"I\u2019ve blogged about NUMA a couple of times in the past and we cover it extensively in our Immersion Events, specifically when discussing SQLOS and memory and scheduling management.&#160; One of the challenges with this is that laptops are SMP machines, so unless you have a server with hardware NUMA it is impossible to show [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/\" \/>\n<meta property=\"og:site_name\" content=\"Jonathan Kehayias\" \/>\n<meta property=\"article:published_time\" content=\"2012-11-15T21:02:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-04-13T18:41:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/2655c09a\/image_thumb.png\" \/>\n<meta name=\"author\" content=\"Jonathan Kehayias\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jonathan Kehayias\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\\\/\"},\"author\":{\"name\":\"Jonathan Kehayias\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\"},\"headline\":\"Faking Hardware NUMA on a SMP Machine for Learning and Demos\",\"datePublished\":\"2012-11-15T21:02:44+00:00\",\"dateModified\":\"2017-04-13T18:41:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\\\/\"},\"wordCount\":542,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.SQLskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/windows-live-writer\\\/ac57b2217472\\\/2655c09a\\\/image_thumb.png\",\"articleSection\":[\"Building a Test Environment\",\"NUMA\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\\\/\",\"url\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\\\/\",\"name\":\"Faking Hardware NUMA on a SMP Machine for Learning and Demos - Jonathan Kehayias\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.SQLskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/windows-live-writer\\\/ac57b2217472\\\/2655c09a\\\/image_thumb.png\",\"datePublished\":\"2012-11-15T21:02:44+00:00\",\"dateModified\":\"2017-04-13T18:41:30+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.SQLskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/windows-live-writer\\\/ac57b2217472\\\/2655c09a\\\/image_thumb.png\",\"contentUrl\":\"https:\\\/\\\/www.SQLskills.com\\\/blogs\\\/jonathan\\\/wp-content\\\/uploads\\\/windows-live-writer\\\/ac57b2217472\\\/2655c09a\\\/image_thumb.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Building a Test Environment\",\"item\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/category\\\/building-a-test-environment\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Faking Hardware NUMA on a SMP Machine for Learning and Demos\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/#website\",\"url\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/\",\"name\":\"Jonathan Kehayias - The Rambling DBA\",\"description\":\"The Rambling DBA\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.sqlskills.com\\\/blogs\\\/jonathan\\\/?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\\\/jonathan\\\/#\\\/schema\\\/person\\\/01c10d94f3648654ef706d5e6305f69c\",\"name\":\"Jonathan Kehayias\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g\",\"caption\":\"Jonathan Kehayias\"},\"sameAs\":[\"http:\\\/\\\/3.209.169.194\\\/blogs\\\/jonathan\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Faking Hardware NUMA on a SMP Machine for Learning and Demos - Jonathan Kehayias","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\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/","og_locale":"en_US","og_type":"article","og_title":"Faking Hardware NUMA on a SMP Machine for Learning and Demos - Jonathan Kehayias","og_description":"I\u2019ve blogged about NUMA a couple of times in the past and we cover it extensively in our Immersion Events, specifically when discussing SQLOS and memory and scheduling management.&#160; One of the challenges with this is that laptops are SMP machines, so unless you have a server with hardware NUMA it is impossible to show [&hellip;]","og_url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/","og_site_name":"Jonathan Kehayias","article_published_time":"2012-11-15T21:02:44+00:00","article_modified_time":"2017-04-13T18:41:30+00:00","og_image":[{"url":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/2655c09a\/image_thumb.png","type":"","width":"","height":""}],"author":"Jonathan Kehayias","twitter_misc":{"Written by":"Jonathan Kehayias","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/#article","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/"},"author":{"name":"Jonathan Kehayias","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c"},"headline":"Faking Hardware NUMA on a SMP Machine for Learning and Demos","datePublished":"2012-11-15T21:02:44+00:00","dateModified":"2017-04-13T18:41:30+00:00","mainEntityOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/"},"wordCount":542,"commentCount":0,"image":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/#primaryimage"},"thumbnailUrl":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/2655c09a\/image_thumb.png","articleSection":["Building a Test Environment","NUMA"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.sqlskills.com\/blogs\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/","url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/","name":"Faking Hardware NUMA on a SMP Machine for Learning and Demos - Jonathan Kehayias","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/#primaryimage"},"image":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/#primaryimage"},"thumbnailUrl":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/2655c09a\/image_thumb.png","datePublished":"2012-11-15T21:02:44+00:00","dateModified":"2017-04-13T18:41:30+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c"},"breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/#primaryimage","url":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/2655c09a\/image_thumb.png","contentUrl":"https:\/\/www.SQLskills.com\/blogs\/jonathan\/wp-content\/uploads\/windows-live-writer\/ac57b2217472\/2655c09a\/image_thumb.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/faking-hardware-numa-on-a-smp-machine-for-learning-and-demos\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/"},{"@type":"ListItem","position":2,"name":"Building a Test Environment","item":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/category\/building-a-test-environment\/"},{"@type":"ListItem","position":3,"name":"Faking Hardware NUMA on a SMP Machine for Learning and Demos"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/","name":"Jonathan Kehayias - The Rambling DBA","description":"The Rambling DBA","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/?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\/jonathan\/#\/schema\/person\/01c10d94f3648654ef706d5e6305f69c","name":"Jonathan Kehayias","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/86630e27f5deecc5c393ea57fc7c3b6a068949f4fd6b5309f81de5a276f12855?s=96&d=mm&r=g","caption":"Jonathan Kehayias"},"sameAs":["http:\/\/3.209.169.194\/blogs\/jonathan"]}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts\/465","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/comments?post=465"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/posts\/465\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/media?parent=465"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/categories?post=465"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/jonathan\/wp-json\/wp\/v2\/tags?post=465"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}