<div dir="auto"><div><div class="gmail_extra"><div class="gmail_quote" dir="auto">Hi Chris,</div><div class="gmail_quote" dir="auto"><br></div><div class="gmail_quote">On 17 Mar. 2017 15:24, "Chris Friesen" <<a href="mailto:chris.friesen@windriver.com" target="_blank">chris.friesen@windriver.com</a>> wrote:<br type="attribution"><blockquote class="m_-8636085177245079968quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="m_-8636085177245079968quoted-text">On 03/16/2017 07:06 PM, Blair Bethwaite wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Statement: breaks bin packing / have to match flavor dimensions to hardware<br>
dimensions.<br>
Comment: neither of these ring true to me given that most operators tend to<br>
agree that memory is there first constraining resource dimension and it is<br>
difficult to achieve high CPU utilisation before memory is exhausted. Plus<br>
virtualisation is inherently about resource sharing and over-provisioning,<br></blockquote></div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">Ah whoops, that was meant to be: "resource sharing and (optionally) over-provisioning", where I was broadly including security and convenience under resource sharing. There are of course many other factors.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="m_-8636085177245079968quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="m_-8636085177245079968quoted-text"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
unless you have very detailed knowledge of your workloads a priori (or some<br>
cycle-stealing/back-filling mechanism) you will always have under-utilisation<br>
(possibly quite high on average) in some resource dimensions.<br>
</blockquote>
<br></div>
I think this would be highly dependent on the workload.  A virtual router is going to run out of CPU/network bandwidth far before memory is exhausted.<br></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">Absolutely, which is why I hinted at today's general IaaS workload and said, "...unless you have very detailed knowledge of your workloads a priori". NFV focused clouds would clearly look quite different, and I suppose with the rise of OpenStack at telcos there would be quite a few such deployments floating around now.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="m_-8636085177245079968quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
For similar reasons I'd disagree that virtualization is inherently about over-provisioning and suggest that (in some cases at least) it's more about flexibility over time.  Our customers generally care about maximizing performance and so nothing is over-provisioned...disk, NICs, CPUs, RAM are generally all exclusively allocated.</blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">Sure, in our three Nova Cells we have a big mix of workload. One Cell is HPC oriented and so has no over-provisioning. Another is performance oriented (fast cores, fast network) but still moderately over-provisioned (cgroups to manage resource share between flavors). The other is general purpose.</div><div dir="auto"><br></div><div dir="auto">For me an interesting question to know the answer to here would be at what point you have to stop resource sharing to guarantee your performance promises/SLAs (disregarding memory over-provisioning). My gut says that unless you are also doing all the other high-end performance tuning (CPU & memory pinning​, NUMA topology, hugepages, optimised networking such as macvtap or SRIOV, plus all the regular host-side system/BIOS and power settings) you'll see very little benefit, i.e., under-provisioning on its own is not a performance win.</div><div dir="auto"><br></div><div dir="auto">Cheers,</div><div dir="auto">Blair</div></div>