<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>keeping simple &#187; virtualization</title>
	<atom:link href="http://www.yodaiken.com/tag/virtualization/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.yodaiken.com</link>
	<description>Systems software technology and business</description>
	<lastBuildDate>Sun, 01 Jan 2012 18:30:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Virtualization and power use and spreadsheet games (updated)</title>
		<link>http://www.yodaiken.com/2010/07/virtualization-and-power-use-and-spreadsheet-games/</link>
		<comments>http://www.yodaiken.com/2010/07/virtualization-and-power-use-and-spreadsheet-games/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 22:34:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[data center]]></category>
		<category><![CDATA[green power]]></category>
		<category><![CDATA[green computing]]></category>
		<category><![CDATA[virtualization]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=995</guid>
		<description><![CDATA[Here&#8217;s a thought experiment. Suppose each server uses X watts idle and X+Y watts busy. If you have N programs that currently run on N servers that are Z% idle then in the best case you really only need D= &#8230; <a href="http://www.yodaiken.com/2010/07/virtualization-and-power-use-and-spreadsheet-games/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a thought experiment. Suppose each server uses X watts idle and X+Y watts busy. If you have N programs that<br />
currently run on N servers that are Z% idle then in the best case you really only need D= (100-Z)/100*N servers. So in a perfect world you have D machines busy all the time for D*(X+Y) power use instead of N*(Z/100)*X + N*(100-Z)/100 *(X+Y).</p>
<p><img class="alignright size-medium wp-image-1001" title="powermeter" src="http://www.yodaiken.com/wp-content/uploads/2010/07/powermeter-300x207.jpg" alt="" width="300" height="207" /><br />
Something like this</p>
<table>
<tbody>
<tr height="20">
<td width="64" height="20">N</td>
<td width="207">servers=</td>
<td width="64" align="right">200</td>
<td width="64"></td>
<td width="64"></td>
</tr>
<tr height="20">
<td height="20">Z</td>
<td>idle rate=</td>
<td align="right">70</td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20">D</td>
<td>need=</td>
<td align="right">60</td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20">X</td>
<td>idle watts=</td>
<td align="right">150</td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20">X+Y</td>
<td>busy watts=</td>
<td align="right">800</td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20"></td>
<td>Power use=</td>
<td align="right">69000</td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20"></td>
<td>Consolidated Power use=</td>
<td align="right">48000</td>
<td>Savings=</td>
<td align="right">21000</td>
</tr>
</tbody>
</table>
<p>Ok that rocks, 21KW/hour. But can you really get that savings?  If program 1 and program 2 need to run at the same times: you can&#8217;t save anything on them[1] and then the virtualization itself adds cycles for purely overhead and increases memory which burns more power. Suppose we now add K% as the overhead measure &#8211; real need R= D+D*K/100. If  K=20, we cut savings in half. But 20 seems wildly overoptimistic to me, so put it at 50.  We&#8217;re still only needing 72 servers instead of 200, but they are running flat out so we actually increase power use.</p>
<table>
<tbody>
<tr height="20">
<td width="64" height="20">K</td>
<td width="207">overhead=</td>
<td width="64" align="right">50</td>
<td width="64"></td>
<td width="64"></td>
</tr>
<tr height="20">
<td height="20">R</td>
<td>need with overhead=</td>
<td align="right">90</td>
<td></td>
<td></td>
</tr>
<tr height="20">
<td height="20"></td>
<td>Consolidated Power use with overhead=</td>
<td align="right">72000</td>
<td></td>
<td align="right">Savings= <span style="color: #ff0000;">-3000</span></td>
</tr>
</tbody>
</table>
<p>That does not rock.   But here&#8217;s the kicker &#8211; if we reduce idle power to 25Watts, maybe by turning off idle machines, a 50% overhead rate for virtualization means virtualization increases power use by 20KW. If we can reduce idle power to 1 watt, even at 10% overhead, virtualization increases power use.  So what are the real numbers? I have not seen any published studies (of actual data centers) &#8211; maybe there are some.</p>
<p>If you want a copy of the xls, send me an email. Maybe I set it up wrong.</p>
<p><a href="http://www.hpl.hp.com/personal/Lucy_Cherkasova/papers/final-perf-study-usenix.pdf" onclick="pageTracker._trackPageview('/outgoing/www.hpl.hp.com/personal/Lucy_Cherkasova/papers/final-perf-study-usenix.pdf?referer=');">http://www.hpl.hp.com/personal/Lucy_Cherkasova/papers/final-perf-study-usenix.pdf</a></p>
<p>This claims lower levels of overhead</p>
<p><a href="http://www.engineyard.com/blog/2009/10-years-of-virtual-machine-performance-semi-demystified/" onclick="pageTracker._trackPageview('/outgoing/www.engineyard.com/blog/2009/10-years-of-virtual-machine-performance-semi-demystified/?referer=');">http://www.engineyard.com/blog/2009/10-years-of-virtual-machine-performance-semi-demystified/</a></p>
<p>but I&#8217;m unconvinced. In particular, I&#8217;m curious about memory usage.</p>
<p>This is funny.</p>
<blockquote><p>The benchmark itself reported its elapsed time by calling a function to find the system time at both the beginning and end of the benchmark.  The elapsed time reported by the benchmark was less than the wall-clock elapsed time.  What we hypothesize is that, due to the unrelenting CPU consumption by the benchmarks, the virtualization layer was unable to update its clock with the virtual CPU clock ticks.  This phenomenon is mentioned in [10] and [11] but we feel that this type of CPU workload severely exaggerates the situation.</p>
<p><a href="http://www.cmg.org/measureit/issues/mit39/m_39_1.html" onclick="pageTracker._trackPageview('/outgoing/www.cmg.org/measureit/issues/mit39/m_39_1.html?referer=');">http://www.cmg.org/measureit/issues/mit39/m_39_1.html</a></p></blockquote>
<p>See the last letter in this</p>
<p><a href="http://serverfault.com/questions/135431/is-virtual-machine-slower-than-the-underlying-physical-machine" onclick="pageTracker._trackPageview('/outgoing/serverfault.com/questions/135431/is-virtual-machine-slower-than-the-underlying-physical-machine?referer=');">http://serverfault.com/questions/135431/is-virtual-machine-slower-than-the-underlying-physical-machine</a></p>
<p>While it is obvious that load is critical in any analysis, it may not be obvious how for example memory usage can depend on scheduling. If VM1 and VM2 run serially, memory usage is the max of the two, if they overlap it is the sum &#8211; unless it&#8217;s ok to slow them both down with more VM operations &#8211; which will, of course, increase the time to complete which uses capacity since that time is now not available for a third VM etc.</p>
<p>It&#8217;s also important to understand whether overhead is per VM. Suppose that we have 2% overhead per VM, all roughly the same size and 10 VMs. Is this overhead additive? Clearly cpu time is additive and so is I/O time, memory pressure is fuzzier and depends on how many VMs we run at any one time.</p>
<p>Notes</p>
<p>[1] If you have multiple cores, which you do, then if there are enough cores to run VM1 and VM2 in parallel, no problem. And this brings up the question of the relative power use, say of 2 dual core machines versus one 4 core machine or other multiples. Note that it&#8217;s hard to get power savings by turning off 4 of the 8 cores of a 8 core machine, but possibly easy to power down the one 4 core machine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2010/07/virtualization-and-power-use-and-spreadsheet-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtualization versus Physicalization</title>
		<link>http://www.yodaiken.com/2009/04/virtualization-versus-physicalization/</link>
		<comments>http://www.yodaiken.com/2009/04/virtualization-versus-physicalization/#comments</comments>
		<pubDate>Wed, 22 Apr 2009 04:06:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[software business]]></category>
		<category><![CDATA[cpu design]]></category>
		<category><![CDATA[processor architecture]]></category>
		<category><![CDATA[rackable]]></category>
		<category><![CDATA[virtualization]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=302</guid>
		<description><![CDATA[Data on the overhead of virtualization is hard to come by. Rackable proposes an interesting alternative that they call physicalization. I wonder whether the CPU is the most important resource to multiplex and I remain totally puzzled by the motivation &#8230; <a href="http://www.yodaiken.com/2009/04/virtualization-versus-physicalization/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Data on the overhead of virtualization is hard to come by. Rackable proposes an interesting alternative that they call <a title="rackable unvirtual" href="http://www.thewhir.com/web-hosting-news/012209_Rackable_Intros_Physicalization_Hardware" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.thewhir.com/web-hosting-news/012209_Rackable_Intros_Physicalization_Hardware?referer=');">physicalization</a>. I wonder whether the CPU is the most important resource to multiplex and I remain totally puzzled by the motivation of Intel/AMD in this area.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2009/04/virtualization-versus-physicalization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>future of the data center</title>
		<link>http://www.yodaiken.com/2008/10/future-of-the-data-center/</link>
		<comments>http://www.yodaiken.com/2008/10/future-of-the-data-center/#comments</comments>
		<pubDate>Thu, 16 Oct 2008 07:48:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[communications]]></category>
		<category><![CDATA[data center]]></category>
		<category><![CDATA[operating systems]]></category>
		<category><![CDATA[security+fault-tolerance]]></category>
		<category><![CDATA[software security]]></category>
		<category><![CDATA[distributed data]]></category>
		<category><![CDATA[power use]]></category>
		<category><![CDATA[virtualization]]></category>

		<guid isPermaLink="false">http://www.yodaiken.com/?p=172</guid>
		<description><![CDATA[This article from Ars Technica discusses a talk over the summer by Merrill Lynch&#8217;s chief technology architect, Jeffrey Birnbaum on &#8220;stateless cloud computing&#8221; &#8211; most concretely on distributed file systems. Birnbaum believes that one of the key foundational elements of &#8230; <a href="http://www.yodaiken.com/2008/10/future-of-the-data-center/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This <a title="ars tecnica article on birnbaum" href="http://arstechnica.com/news.ars/post/20080806-stateless-computing-the-future-of-the-cloud.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/arstechnica.com/news.ars/post/20080806-stateless-computing-the-future-of-the-cloud.html?referer=');">article </a>from Ars Technica discusses a talk over the summer by Merrill Lynch&#8217;s chief technology architect, Jeffrey Birnbaum on &#8220;stateless cloud computing&#8221; &#8211; most concretely on distributed file systems.</p>
<blockquote><p><em>Birnbaum believes that one of the key foundational elements of a stateless computing environment is a networked storage system that enables ubiquitous availability of software. The file paths of the individual applications should be based on clearly defined nomenclature, much like the domain of a web site. All application dependencies should be accessible through the network filesystem, and version numbers should be expressed with the path nomenclature. </em></p></blockquote>
<p>Big distributed file system &#8211; sure. Why should version numbers be expressed with the path nomenclature (a Plan9 idea, btw)?Â  Now we go on to the ancient problem of caching distributed data.</p>
<blockquote><p><em>The obvious challenge posed by rolling out worldwide network storage infrastructure is scalability. If everyone in a global organization is depending on a network storage solution, then it needs to be fast and consistently reliable. The solution that Birnbaum proposes is regional mirroring and caching. The storage system would be universally synchronized between mirrors that have all the data. Caching can also be used at individual facilities to further improve performance. To achieve this kind of global scalability, he says, the best approach is similar to that of Akamai. </em></p></blockquote>
<p>So even with a non-globally distributed file system, the problem of shared access is non-trivial. A global file system makes things quite challenging. Suppose we have a file recording trades and the Singapore, London, NY, and Espanola main offices all are reading and writing at the same time. Caching and cache coherency is an utter nightmare.Â  Akamai, like Google, solves the problem of massive amounts of distributed data by focusing on &#8220;delivery&#8221; &#8211; otherwise known as &#8220;read only content&#8221; or &#8220;many readers one writer&#8221; and with no requirement for true synchronization.Â  But the ML problem is more difficult even if we ignore multiple writers because, presumably, you want Singapore to actually see every trade made in Espanola even though for Akamai, it&#8217;s ok if the cache is not fresh. How to solve multiple readers and writers is something else as well.</p>
<blockquote><p><em>These concepts don&#8217;t cover a whole lot of new ground yet. Much of this was already possible with conventional thin-client systems. The point at which it becomes immensely valuable, according to Birnbaum, is when all of these technologies are used together with virtualization to abstract the processes away from the hardware. Once this is done, individual operations can seamlessly float around data centers and balance out in a manner that offers a more optimal level of resource utilization. </em></p></blockquote>
<p>And this seems to me to gloss over the even harder problem. Imagine a serious Oracle application &#8220;seamlessly floating&#8221; from some set of machines in one data-center to another set.Â  I can&#8217;t imagine how that works. Imagining little jobs floating is easier, but is that really an interesting problem? And this brings us to the most interesting claim:</p>
<blockquote><p><em>He claims that 61 percent of a company&#8217;s enterprise server capacity goes completely unused and proposes an automated load balancing solutionâ€”</em></p></blockquote>
<p>SIXTY ONE PERCENT!Â  Think of the power use.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yodaiken.com/2008/10/future-of-the-data-center/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

