<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Current Projects</title>
	<atom:link href="http://imprompt.us/2010/current-projects/feed/" rel="self" type="application/rss+xml" />
	<link>http://imprompt.us/2010/current-projects/</link>
	<description>Computer Science and Teaching and Other Ancillary Things</description>
	<lastBuildDate>Tue, 23 Aug 2011 02:39:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.4</generator>
	<item>
		<title>By: Peter Boothe</title>
		<link>http://imprompt.us/2010/current-projects/comment-page-1/#comment-16878</link>
		<dc:creator>Peter Boothe</dc:creator>
		<pubDate>Sun, 01 Aug 2010 09:52:12 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/?p=210#comment-16878</guid>
		<description>No video as far as I know, but my slides may be found at &lt;a href=&quot;http://home.manhattan.edu/%7Epeter.boothe/2010-03-26-Google.pdf&quot; rel=&quot;nofollow&quot;&gt;http://home.manhattan.edu/~peter.boothe/2010-03...&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>No video as far as I know, but my slides may be found at <a href="http://home.manhattan.edu/%7Epeter.boothe/2010-03-26-Google.pdf" rel="nofollow">http://home.manhattan.edu/~peter.boothe/2010-03&#8230;</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lindsey Kuper</title>
		<link>http://imprompt.us/2010/current-projects/comment-page-1/#comment-16877</link>
		<dc:creator>Lindsey Kuper</dc:creator>
		<pubDate>Sun, 01 Aug 2010 06:51:21 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/?p=210#comment-16877</guid>
		<description>You gave a talk about your Ph.D. work at Google?  Are there slides or a video?</description>
		<content:encoded><![CDATA[<p>You gave a talk about your Ph.D. work at Google?  Are there slides or a video?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Stutzbach</title>
		<link>http://imprompt.us/2010/current-projects/comment-page-1/#comment-16875</link>
		<dc:creator>Daniel Stutzbach</dc:creator>
		<pubDate>Fri, 09 Jul 2010 01:01:10 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/?p=210#comment-16875</guid>
		<description>What if you assume that the operating system will keep in memory the most recently used p pages each of which is k bytes, where p and k are constants (i.e., not a function of n)?&lt;br&gt;&lt;br&gt;Then a linear scan is O(n) page faults, Heapsort is O(n log n) page faults, and Mergesort is ...&lt;br&gt;&lt;br&gt;I guess Mergesort would work out to be O(n log n) page faults as well, but it&#039;d be closer to O(n log_k n) page faults compared to Heapsort&#039;s O(n log_2 n) page faults.  I see now your dilemma.</description>
		<content:encoded><![CDATA[<p>What if you assume that the operating system will keep in memory the most recently used p pages each of which is k bytes, where p and k are constants (i.e., not a function of n)?</p>
<p>Then a linear scan is O(n) page faults, Heapsort is O(n log n) page faults, and Mergesort is &#8230;</p>
<p>I guess Mergesort would work out to be O(n log n) page faults as well, but it&#39;d be closer to O(n log_k n) page faults compared to Heapsort&#39;s O(n log_2 n) page faults.  I see now your dilemma.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Boothe</title>
		<link>http://imprompt.us/2010/current-projects/comment-page-1/#comment-16874</link>
		<dc:creator>Peter Boothe</dc:creator>
		<pubDate>Fri, 09 Jul 2010 00:35:26 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/?p=210#comment-16874</guid>
		<description>Replying to Dan, you&#039;ve just pointed out the big flaw in the model.  I don&#039;t see an easy way of dealing with your concern, but I agree it exists.  The big hope is mostly that this new model will be &quot;less wrong&quot; than simply ignoring the problem.</description>
		<content:encoded><![CDATA[<p>Replying to Dan, you&#39;ve just pointed out the big flaw in the model.  I don&#39;t see an easy way of dealing with your concern, but I agree it exists.  The big hope is mostly that this new model will be &#8220;less wrong&#8221; than simply ignoring the problem.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Stutzbach</title>
		<link>http://imprompt.us/2010/current-projects/comment-page-1/#comment-16873</link>
		<dc:creator>Daniel Stutzbach</dc:creator>
		<pubDate>Thu, 08 Jul 2010 02:05:06 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/?p=210#comment-16873</guid>
		<description>I look forward to reading this paper after you&#039;ve written it.  :-)  I typically have plenty of physical memory to work with, but essentially the same reasoning applies to CPU cache which is a much scarcer resource.&lt;br&gt;&lt;br&gt;I am not sure I understand your adjacent-pointer heuristic.  If I make a linear scan through an array, all of my pointer accesses are adjacent but wouldn&#039;t I still incur O(n) page faults?&lt;br&gt;&lt;br&gt;As a minor caveat, if the list being sorted contains pointers to objects then Mergesort is also O(n log n), since the dereference points to an essentially random piece of memory.</description>
		<content:encoded><![CDATA[<p>I look forward to reading this paper after you&#39;ve written it.  <img src='http://imprompt.us/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   I typically have plenty of physical memory to work with, but essentially the same reasoning applies to CPU cache which is a much scarcer resource.</p>
<p>I am not sure I understand your adjacent-pointer heuristic.  If I make a linear scan through an array, all of my pointer accesses are adjacent but wouldn&#39;t I still incur O(n) page faults?</p>
<p>As a minor caveat, if the list being sorted contains pointers to objects then Mergesort is also O(n log n), since the dereference points to an essentially random piece of memory.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Boothe</title>
		<link>http://imprompt.us/2010/current-projects/comment-page-1/#comment-16872</link>
		<dc:creator>Peter Boothe</dc:creator>
		<pubDate>Thu, 08 Jul 2010 00:36:46 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/?p=210#comment-16872</guid>
		<description>The model, currently undergoing experimental validation, attempts to estimate the number of page faults an algorithm will have.  The basic idea is that you count the number of times in which a pointer is accessed that is not adjacent to an existing pointer.  In this model, Heapsort has O(n lg n) page faults and Mergesort only has O(n).  Thus, we have (possibly) figured out an easy way of assessing &quot;cache friendliness&quot; or &quot;works well in the presence of virtual memory&quot;.  There&#039;s lots of algorithms that have this designed in - see streaming algorithms and cache oblivious algorithms - but I know of no ex-post-facto way of analyzing an algorithm to assess its friendliness.  And certainly not with such an easy-to-analyze model.</description>
		<content:encoded><![CDATA[<p>The model, currently undergoing experimental validation, attempts to estimate the number of page faults an algorithm will have.  The basic idea is that you count the number of times in which a pointer is accessed that is not adjacent to an existing pointer.  In this model, Heapsort has O(n lg n) page faults and Mergesort only has O(n).  Thus, we have (possibly) figured out an easy way of assessing &#8220;cache friendliness&#8221; or &#8220;works well in the presence of virtual memory&#8221;.  There&#39;s lots of algorithms that have this designed in &#8211; see streaming algorithms and cache oblivious algorithms &#8211; but I know of no ex-post-facto way of analyzing an algorithm to assess its friendliness.  And certainly not with such an easy-to-analyze model.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: F. Carr</title>
		<link>http://imprompt.us/2010/current-projects/comment-page-1/#comment-16871</link>
		<dc:creator>F. Carr</dc:creator>
		<pubDate>Wed, 07 Jul 2010 23:42:33 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/?p=210#comment-16871</guid>
		<description>pls can has &quot;Model for programs under memory pressure&quot; ??  kthxbye</description>
		<content:encoded><![CDATA[<p>pls can has &#8220;Model for programs under memory pressure&#8221; ??  kthxbye</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Hanusa</title>
		<link>http://imprompt.us/2010/current-projects/comment-page-1/#comment-16870</link>
		<dc:creator>Chris Hanusa</dc:creator>
		<pubDate>Wed, 07 Jul 2010 20:24:35 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/?p=210#comment-16870</guid>
		<description>I always thought that 3 3 7 7 was one of the hardest 24 puzzles. &lt;br&gt;PS. Happy late birthday!  I guess you got an Orange present.</description>
		<content:encoded><![CDATA[<p>I always thought that 3 3 7 7 was one of the hardest 24 puzzles. <br />PS. Happy late birthday!  I guess you got an Orange present.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Boothe</title>
		<link>http://imprompt.us/2010/current-projects/comment-page-1/#comment-16869</link>
		<dc:creator>Peter Boothe</dc:creator>
		<pubDate>Wed, 07 Jul 2010 07:01:23 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/?p=210#comment-16869</guid>
		<description>There seem to be no good HS textbooks.  We have good calc textbooks, but somehow not for CS.</description>
		<content:encoded><![CDATA[<p>There seem to be no good HS textbooks.  We have good calc textbooks, but somehow not for CS.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Stutzbach</title>
		<link>http://imprompt.us/2010/current-projects/comment-page-1/#comment-16868</link>
		<dc:creator>Daniel Stutzbach</dc:creator>
		<pubDate>Wed, 07 Jul 2010 03:32:21 +0000</pubDate>
		<guid isPermaLink="false">http://imprompt.us/?p=210#comment-16868</guid>
		<description>Your &quot;Growing Programs&quot; idea could also make a good children&#039;s or high school intro-to-programming book.</description>
		<content:encoded><![CDATA[<p>Your &#8220;Growing Programs&#8221; idea could also make a good children&#39;s or high school intro-to-programming book.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

