{"id":602,"date":"2016-02-29T18:48:59","date_gmt":"2016-03-01T00:48:59","guid":{"rendered":"http:\/\/blog.escarra.org\/?p=602"},"modified":"2016-03-04T11:13:40","modified_gmt":"2016-03-04T17:13:40","slug":"power-savings-and-cpu-ready","status":"publish","type":"post","link":"https:\/\/blog.escarra.org\/?p=602","title":{"rendered":"VMware Power Policy and CPU Ready latency"},"content":{"rendered":"<p>VMware&#8217;s <a href=\"https:\/\/www.vmware.com\/files\/pdf\/techpaper\/VMware-PerfBest-Practices-vSphere6-0.pdf\" target=\"_blank\">Performance Best Practices<\/a> mentions you should <strong>set power management in the BIOS to \u201cOS Controlled Mode\u201d or equivalent<\/strong>. This is so you can control power saving from the hypervisor itself. It&#8217;s very useful when you want to change these settings on the fly without having to reboot into the BIOS, similar to how Windows power profiles work.<\/p>\n<p>But the &#8220;gotcha&#8221; here, which is also mentioned in the best practices documentation, is that the default Power Policy setting is set to Balanced, when you most likely want to set this to\u00a0<strong>High Performance<\/strong>, as you&#8217;ll see later&#8230;<\/p>\n<p><img data-attachment-id=\"603\" data-permalink=\"https:\/\/blog.escarra.org\/?attachment_id=603\" data-orig-file=\"https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_39_33.png\" data-orig-size=\"458,397\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"2016-03-01 10_39_33\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_39_33-300x260.png\" data-large-file=\"https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_39_33.png\" decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-603 size-full\" src=\"http:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_39_33.png\" alt=\"2016-03-01 10_39_33\" width=\"458\" height=\"397\" srcset=\"https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_39_33.png 458w, https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_39_33-300x260.png 300w\" sizes=\"(max-width: 458px) 100vw, 458px\" \/><\/p>\n<p>This makes it pretty awful\u00a0for latency-sensitive workloads. In Balanced, your CPU sometimes has to scale up or down in the power states before it can process an instruction, and this adds latency. The difference can be clearly seen by looking at\u00a0the CPU Ready (RDY%) metric. Here&#8217;s the difference changing to\u00a0<strong>High Performance\u00a0<\/strong>made in a single vCPU VM:<\/p>\n<p><img data-attachment-id=\"605\" data-permalink=\"https:\/\/blog.escarra.org\/?attachment_id=605\" data-orig-file=\"https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_32_13.png\" data-orig-size=\"1413,473\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"2016-03-01 10_32_13\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_32_13-300x100.png\" data-large-file=\"https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_32_13-1024x343.png\" decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-605 size-large\" src=\"http:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_32_13-1024x343.png\" alt=\"2016-03-01 10_32_13\" width=\"640\" height=\"214\" srcset=\"https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_32_13-1024x343.png 1024w, https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_32_13-300x100.png 300w, https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_32_13-768x257.png 768w, https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_32_13.png 1413w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>And here is a 4 vCPU VM running Exchange 2013<\/p>\n<p><img data-attachment-id=\"606\" data-permalink=\"https:\/\/blog.escarra.org\/?attachment_id=606\" data-orig-file=\"https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_32_34.png\" data-orig-size=\"1349,472\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"2016-03-01 10_32_34\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_32_34-300x105.png\" data-large-file=\"https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_32_34-1024x358.png\" decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-606 size-large\" src=\"http:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_32_34-1024x358.png\" alt=\"2016-03-01 10_32_34\" width=\"640\" height=\"224\" srcset=\"https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_32_34-1024x358.png 1024w, https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_32_34-300x105.png 300w, https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_32_34-768x269.png 768w, https:\/\/blog.escarra.org\/wp-content\/uploads\/2016\/03\/2016-03-01-10_32_34.png 1349w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>My VM&#8217;s felt &#8220;snappier&#8221; after the change. It&#8217;s hard to avoid speaking subjectively here, but click-to-action felt\u00a0quicker. Maybe it&#8217;s in my head, but I feel those charts tell a different story.<\/p>\n<p>The effect the &#8220;Balanced&#8221; power savings has on CPU Ready times is clear as day, though it&#8217;s mentioned that Balanced has minimal to no impact on performance. I have yet to do benchmarks to show how CPU Ready% affects real workloads, but at the very least, CPU instruction latency from a guest VM is dramatically decreased, which benefits those real-time workloads like Lync, Skype for Business or VoIP.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>VMware&#8217;s Performance Best Practices mentions you should set power management in the BIOS to \u201cOS Controlled Mode\u201d or equivalent. This is so you can control power saving from the hypervisor itself. It&#8217;s very useful when you want to change these settings on the fly without having to reboot into the BIOS, similar to how Windows [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"footnotes":"","_jetpack_memberships_contains_paid_content":false,"jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1],"tags":[],"jetpack_publicize_connections":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.escarra.org\/index.php?rest_route=\/wp\/v2\/posts\/602"}],"collection":[{"href":"https:\/\/blog.escarra.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.escarra.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.escarra.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.escarra.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=602"}],"version-history":[{"count":6,"href":"https:\/\/blog.escarra.org\/index.php?rest_route=\/wp\/v2\/posts\/602\/revisions"}],"predecessor-version":[{"id":612,"href":"https:\/\/blog.escarra.org\/index.php?rest_route=\/wp\/v2\/posts\/602\/revisions\/612"}],"wp:attachment":[{"href":"https:\/\/blog.escarra.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=602"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.escarra.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=602"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.escarra.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=602"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}