<?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"
	>
<channel>
	<title>Comments on: Donald Knuth: &#8220;I trust my family jewels only to Linux&#8221;</title>
	<atom:link href="http://thunk.org/tytso/blog/2008/04/26/donald-knuth-i-trust-my-family-jewels-only-to-linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://thunk.org/tytso/blog/2008/04/26/donald-knuth-i-trust-my-family-jewels-only-to-linux/</link>
	<description>Musings about Open Source, Linux, and Life by Theodore Tso</description>
	<pubDate>Fri, 25 Jul 2008 19:16:30 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Niels Jørgen Kjær</title>
		<link>http://thunk.org/tytso/blog/2008/04/26/donald-knuth-i-trust-my-family-jewels-only-to-linux/#comment-862</link>
		<dc:creator>Niels Jørgen Kjær</dc:creator>
		<pubDate>Sat, 19 Jul 2008 20:08:15 +0000</pubDate>
		<guid isPermaLink="false">http://thunk.org/tytso/blog/?p=144#comment-862</guid>
		<description>Sorry girls and guys !

Have you read Donald's books? MMIX is supposed is fully parallel, but only at the power of "2 or 3" due to how Donald made MMIX-PIPE.  Effectively Donald did make a few typos so that "3" and "2+epsilon" gets mixed up, but I'm not perfect either. Are there anyone out there asking that we need a larger number than 3? Please tell me and I will investigate.  A similar question: Does any one of you think you know what exponentation actually means? If that is the case I will recommend you to study von Neumann algebra. 

"Language is the key to understanding the problem of language"</description>
		<content:encoded><![CDATA[<p>Sorry girls and guys !</p>
<p>Have you read Donald&#8217;s books? MMIX is supposed is fully parallel, but only at the power of &#8220;2 or 3&#8243; due to how Donald made MMIX-PIPE.  Effectively Donald did make a few typos so that &#8220;3&#8243; and &#8220;2+epsilon&#8221; gets mixed up, but I&#8217;m not perfect either. Are there anyone out there asking that we need a larger number than 3? Please tell me and I will investigate.  A similar question: Does any one of you think you know what exponentation actually means? If that is the case I will recommend you to study von Neumann algebra. </p>
<p>&#8220;Language is the key to understanding the problem of language&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dmitry</title>
		<link>http://thunk.org/tytso/blog/2008/04/26/donald-knuth-i-trust-my-family-jewels-only-to-linux/#comment-571</link>
		<dc:creator>Dmitry</dc:creator>
		<pubDate>Tue, 06 May 2008 11:08:49 +0000</pubDate>
		<guid isPermaLink="false">http://thunk.org/tytso/blog/?p=144#comment-571</guid>
		<description>Moore's law does not say anything about speed, but only that about doubling the number of transistors every two years. Whether this doubling will converted in higher speed depends on different factors.

The spectacular increase in CPU speed in the past was not achieved only due to higher clock rate but also due to a better CPU design. Early Intel CPUs with CISC architecture, which spent a few clocks per instruction, has been replaced with the modern superscalar design, which can perform a few instructions per cycle. Even for modern processor we can see that high clock speed does not necessitate a superior performance. For instance, 1.83 GHz Core 2 Duo is significantly faster than the 3 GHz Pentium 4.

Do the hardware designers have run out of ideas? If so, it happened a long time ago. All modern desktop CPUs use a superscalar architecture, and the first superscalar processor was built by Seymour Cray in 1965, i.e. 6 years before Intel released its first microprocessor Intel 4004. Since then only EPIC was invented, and though EPIC was hailed as a way to achieve higher parallelism than it is possible with the superscalar architecture, EPIC has not lived up to its promise aside some specialized tasks.

Do we have an alternative? Seymour Cray had always resisted to massively parallel machines: "If you were plowing a field, which would you rather use: Two strong oxen or 1024 chickens?" but in the middle of 1990s, he started his own massively parallel design. Unfortunately, his sudden death made impossible for us to know what direction his work would take, but the start-up company that he led is now specialized in reconfigurable computing. It is early to say if that configuration is the future of computing, but whatever it will be, I think it will be much closer to the data-stream-based computing paradigm than to massive multiprocessing. Remember Knuth words: "Pipelines actually work for me, but threads don’t."</description>
		<content:encoded><![CDATA[<p>Moore&#8217;s law does not say anything about speed, but only that about doubling the number of transistors every two years. Whether this doubling will converted in higher speed depends on different factors.</p>
<p>The spectacular increase in CPU speed in the past was not achieved only due to higher clock rate but also due to a better CPU design. Early Intel CPUs with CISC architecture, which spent a few clocks per instruction, has been replaced with the modern superscalar design, which can perform a few instructions per cycle. Even for modern processor we can see that high clock speed does not necessitate a superior performance. For instance, 1.83 GHz Core 2 Duo is significantly faster than the 3 GHz Pentium 4.</p>
<p>Do the hardware designers have run out of ideas? If so, it happened a long time ago. All modern desktop CPUs use a superscalar architecture, and the first superscalar processor was built by Seymour Cray in 1965, i.e. 6 years before Intel released its first microprocessor Intel 4004. Since then only EPIC was invented, and though EPIC was hailed as a way to achieve higher parallelism than it is possible with the superscalar architecture, EPIC has not lived up to its promise aside some specialized tasks.</p>
<p>Do we have an alternative? Seymour Cray had always resisted to massively parallel machines: &#8220;If you were plowing a field, which would you rather use: Two strong oxen or 1024 chickens?&#8221; but in the middle of 1990s, he started his own massively parallel design. Unfortunately, his sudden death made impossible for us to know what direction his work would take, but the start-up company that he led is now specialized in reconfigurable computing. It is early to say if that configuration is the future of computing, but whatever it will be, I think it will be much closer to the data-stream-based computing paradigm than to massive multiprocessing. Remember Knuth words: &#8220;Pipelines actually work for me, but threads don’t.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonas B.</title>
		<link>http://thunk.org/tytso/blog/2008/04/26/donald-knuth-i-trust-my-family-jewels-only-to-linux/#comment-474</link>
		<dc:creator>Jonas B.</dc:creator>
		<pubDate>Mon, 28 Apr 2008 20:31:29 +0000</pubDate>
		<guid isPermaLink="false">http://thunk.org/tytso/blog/?p=144#comment-474</guid>
		<description>Interesting points. I know for a fact that my desktop has not been cpu bound for years. And while I see use for dual and quad core for the desktop since we run a couple of background jobs anyway and a little bit less latency always is helpful, I'm not so sure about 80 cores on the desktop which is what Intel has in the lab.

As always, the answer may lie in vastly different applications. Perhaps games will rescue us from the idle cycles again, utilizing it for some AI opponent.

What's interesting is what Intel and AMD so far does NOT do with the vastly increasing number of transistors when they ask the question if we want more cores or increased clock speed. Perhaps we want cheaper circuits, more energy efficient, or more functionality (all sorts of I/O and graphics spring to mind).</description>
		<content:encoded><![CDATA[<p>Interesting points. I know for a fact that my desktop has not been cpu bound for years. And while I see use for dual and quad core for the desktop since we run a couple of background jobs anyway and a little bit less latency always is helpful, I&#8217;m not so sure about 80 cores on the desktop which is what Intel has in the lab.</p>
<p>As always, the answer may lie in vastly different applications. Perhaps games will rescue us from the idle cycles again, utilizing it for some AI opponent.</p>
<p>What&#8217;s interesting is what Intel and AMD so far does NOT do with the vastly increasing number of transistors when they ask the question if we want more cores or increased clock speed. Perhaps we want cheaper circuits, more energy efficient, or more functionality (all sorts of I/O and graphics spring to mind).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Darlene Ford</title>
		<link>http://thunk.org/tytso/blog/2008/04/26/donald-knuth-i-trust-my-family-jewels-only-to-linux/#comment-472</link>
		<dc:creator>Darlene Ford</dc:creator>
		<pubDate>Mon, 28 Apr 2008 12:24:51 +0000</pubDate>
		<guid isPermaLink="false">http://thunk.org/tytso/blog/?p=144#comment-472</guid>
		<description>&#62;Well, you get the same kind of a effect with a single core CPU if time &#62;consuming tasks are run at a low priority.

In theory, but I never get very usable results in practice.  This may be an OS issue.  A hosed winbox takes forever to respond to keyboard input, regardless of the priority of the hosing process.

It's becoming more common for the "average" user to use photo editing, and video software, which can sink a fair bit of power.  It's also becoming more common for peripherals such as wireless cards to be software implemented.  It's obvious to even a fairly naive user that some of these apps are very wasteful of the computational power.  From a financial and ecological point of view, buying more processor power so that software manufacturers can blatantly waste it is horrifying, but I will almost certainly break down and do it.</description>
		<content:encoded><![CDATA[<p>&gt;Well, you get the same kind of a effect with a single core CPU if time &gt;consuming tasks are run at a low priority.</p>
<p>In theory, but I never get very usable results in practice.  This may be an OS issue.  A hosed winbox takes forever to respond to keyboard input, regardless of the priority of the hosing process.</p>
<p>It&#8217;s becoming more common for the &#8220;average&#8221; user to use photo editing, and video software, which can sink a fair bit of power.  It&#8217;s also becoming more common for peripherals such as wireless cards to be software implemented.  It&#8217;s obvious to even a fairly naive user that some of these apps are very wasteful of the computational power.  From a financial and ecological point of view, buying more processor power so that software manufacturers can blatantly waste it is horrifying, but I will almost certainly break down and do it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ben</title>
		<link>http://thunk.org/tytso/blog/2008/04/26/donald-knuth-i-trust-my-family-jewels-only-to-linux/#comment-471</link>
		<dc:creator>ben</dc:creator>
		<pubDate>Mon, 28 Apr 2008 11:57:07 +0000</pubDate>
		<guid isPermaLink="false">http://thunk.org/tytso/blog/?p=144#comment-471</guid>
		<description>What's also worth noting is that software bloat is not a M$ only chore : I can still remember those days when the heavily bloated Mozilla suite (now Seamonkey, i've been told) was faster than Firefox. So for shure, there's now plenty of standards in the new firefox (think AJAX, CSS, (X)HTML, XML, XSLT, XUL to name a few). 
And web site designers tend to stand by the assertion that you do have a dual core computer to render all this fancy stuff they put on their web sites. 
There was a time where all that we had was a single core 400Mhz processor, and it was enough to browse the web, now you see some smartphones (no advertising please ;) with 600Mhz (single) cores which are barely sufficient to render a basic web page.
As the saying goes, something, somewhere, went terribly wrong...</description>
		<content:encoded><![CDATA[<p>What&#8217;s also worth noting is that software bloat is not a M$ only chore : I can still remember those days when the heavily bloated Mozilla suite (now Seamonkey, i&#8217;ve been told) was faster than Firefox. So for shure, there&#8217;s now plenty of standards in the new firefox (think AJAX, CSS, (X)HTML, XML, XSLT, XUL to name a few).<br />
And web site designers tend to stand by the assertion that you do have a dual core computer to render all this fancy stuff they put on their web sites.<br />
There was a time where all that we had was a single core 400Mhz processor, and it was enough to browse the web, now you see some smartphones (no advertising please <img src='http://thunk.org/tytso/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> with 600Mhz (single) cores which are barely sufficient to render a basic web page.<br />
As the saying goes, something, somewhere, went terribly wrong&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jos Hirth</title>
		<link>http://thunk.org/tytso/blog/2008/04/26/donald-knuth-i-trust-my-family-jewels-only-to-linux/#comment-470</link>
		<dc:creator>Jos Hirth</dc:creator>
		<pubDate>Mon, 28 Apr 2008 11:22:12 +0000</pubDate>
		<guid isPermaLink="false">http://thunk.org/tytso/blog/?p=144#comment-470</guid>
		<description>&#62;[...]the quad has a distinct advantage that is always a processor
&#62;quickly available for user interface functions[...]

Well, you get the same kind of a effect with a single core CPU if time consuming tasks are run at a low priority. With a low priority you're able to use the machine as usual and if you aren't using much processing power elsewhere (e.g. just surfing around or reading emails), the process won't take much longer.

I think we'll probably move away from purely heterogeneous architectures over to multiple cores with a batch of vector processors. However, this of course raises the question if all that processing power is actually any useful for the average user. Rendering or encoding aren't really everyday tasks for example.</description>
		<content:encoded><![CDATA[<p>&gt;[...]the quad has a distinct advantage that is always a processor<br />
&gt;quickly available for user interface functions[...]</p>
<p>Well, you get the same kind of a effect with a single core CPU if time consuming tasks are run at a low priority. With a low priority you&#8217;re able to use the machine as usual and if you aren&#8217;t using much processing power elsewhere (e.g. just surfing around or reading emails), the process won&#8217;t take much longer.</p>
<p>I think we&#8217;ll probably move away from purely heterogeneous architectures over to multiple cores with a batch of vector processors. However, this of course raises the question if all that processing power is actually any useful for the average user. Rendering or encoding aren&#8217;t really everyday tasks for example.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rich</title>
		<link>http://thunk.org/tytso/blog/2008/04/26/donald-knuth-i-trust-my-family-jewels-only-to-linux/#comment-469</link>
		<dc:creator>Rich</dc:creator>
		<pubDate>Mon, 28 Apr 2008 08:58:19 +0000</pubDate>
		<guid isPermaLink="false">http://thunk.org/tytso/blog/?p=144#comment-469</guid>
		<description>I ported a program that runs approx 6 times faster on a dual quad core Xeon.  It runs nearly 1.5x on a core duo, 3.5x or so on a straight quad core.  It's a straight number cruncher.  I'd say he's absolutely right about compilers, well, actually he's right about everything, it's Knuth... but at any rate there are a small portion of programs that have embarrassingly parallel sections that work great multithreaded.  POSIX thread implementations on are all slightly different, like looking at support for any RFC, but with tricks you can get rather portable C.  The fact of the matter is that most other "make-it-faster" concepts outside of multithreading are tied to a single companies hardware and/or language/language extension.  That's always a bummer, because who wants to be stuck learning some tech that goes the way of the dinosaurs.

NB this is for a really, really short scientific computing program.  Shark is awesome  on OS X for figuring out hotspots and free as in beer with OS X.</description>
		<content:encoded><![CDATA[<p>I ported a program that runs approx 6 times faster on a dual quad core Xeon.  It runs nearly 1.5x on a core duo, 3.5x or so on a straight quad core.  It&#8217;s a straight number cruncher.  I&#8217;d say he&#8217;s absolutely right about compilers, well, actually he&#8217;s right about everything, it&#8217;s Knuth&#8230; but at any rate there are a small portion of programs that have embarrassingly parallel sections that work great multithreaded.  POSIX thread implementations on are all slightly different, like looking at support for any RFC, but with tricks you can get rather portable C.  The fact of the matter is that most other &#8220;make-it-faster&#8221; concepts outside of multithreading are tied to a single companies hardware and/or language/language extension.  That&#8217;s always a bummer, because who wants to be stuck learning some tech that goes the way of the dinosaurs.</p>
<p>NB this is for a really, really short scientific computing program.  Shark is awesome  on OS X for figuring out hotspots and free as in beer with OS X.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: no one</title>
		<link>http://thunk.org/tytso/blog/2008/04/26/donald-knuth-i-trust-my-family-jewels-only-to-linux/#comment-468</link>
		<dc:creator>no one</dc:creator>
		<pubDate>Mon, 28 Apr 2008 08:47:59 +0000</pubDate>
		<guid isPermaLink="false">http://thunk.org/tytso/blog/?p=144#comment-468</guid>
		<description>Multicore? - nice. Where is the real, stable 64 bit OS for desktop? Multithreading, multiprocess - parallelism? Most of the mainboards does not have BUS -es to use of those features. Need parallel computer architecutres - not multicore but multimachines! Whitout this multicore only a multiplied pocket calculator - you can calculate taxes in parallel :) We need peripherals for multiprocessing! Good example is video cards (in early 90's I meet video card that was about 100 times more powerfull then "main" box hosted it, the result was amazing for those time).</description>
		<content:encoded><![CDATA[<p>Multicore? - nice. Where is the real, stable 64 bit OS for desktop? Multithreading, multiprocess - parallelism? Most of the mainboards does not have BUS -es to use of those features. Need parallel computer architecutres - not multicore but multimachines! Whitout this multicore only a multiplied pocket calculator - you can calculate taxes in parallel <img src='http://thunk.org/tytso/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> We need peripherals for multiprocessing! Good example is video cards (in early 90&#8217;s I meet video card that was about 100 times more powerfull then &#8220;main&#8221; box hosted it, the result was amazing for those time).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Darlene Ford</title>
		<link>http://thunk.org/tytso/blog/2008/04/26/donald-knuth-i-trust-my-family-jewels-only-to-linux/#comment-466</link>
		<dc:creator>Darlene Ford</dc:creator>
		<pubDate>Mon, 28 Apr 2008 02:06:17 +0000</pubDate>
		<guid isPermaLink="false">http://thunk.org/tytso/blog/?p=144#comment-466</guid>
		<description>From the user point of view-

I'm breaking in my first quad processor at work, and trying to decide whether it makes sense to get one for home.  I'm disappointed that the most power hungry engineering design app. doesn't use the multiple processors for all jobs.  The types of engineering design and analysis that make CPU a bottleneck in my design process are very different from the types the software company tried to optimize for multiple processes.  But, I don't see how they could have anticipated the intimate details of our design process; that information is often confidential.

However, the quad has a distinct advantage that is always a processor quickly available for user interface functions like email and documents, even when two or three other processors are 100% occupied with the pressing numerical problem of the day.  This greatly improves my ability to work in parallel with the computer.  Given that wetware is much more expensive than computers, this is key...</description>
		<content:encoded><![CDATA[<p>From the user point of view-</p>
<p>I&#8217;m breaking in my first quad processor at work, and trying to decide whether it makes sense to get one for home.  I&#8217;m disappointed that the most power hungry engineering design app. doesn&#8217;t use the multiple processors for all jobs.  The types of engineering design and analysis that make CPU a bottleneck in my design process are very different from the types the software company tried to optimize for multiple processes.  But, I don&#8217;t see how they could have anticipated the intimate details of our design process; that information is often confidential.</p>
<p>However, the quad has a distinct advantage that is always a processor quickly available for user interface functions like email and documents, even when two or three other processors are 100% occupied with the pressing numerical problem of the day.  This greatly improves my ability to work in parallel with the computer.  Given that wetware is much more expensive than computers, this is key&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy Singer</title>
		<link>http://thunk.org/tytso/blog/2008/04/26/donald-knuth-i-trust-my-family-jewels-only-to-linux/#comment-464</link>
		<dc:creator>Jeremy Singer</dc:creator>
		<pubDate>Mon, 28 Apr 2008 01:44:27 +0000</pubDate>
		<guid isPermaLink="false">http://thunk.org/tytso/blog/?p=144#comment-464</guid>
		<description>I see that Oracle databases can be configured to parallelize queries.
So individual programmers don't have to think about this - the database engine is configured to split processing in threads that are assigned to separate processors.</description>
		<content:encoded><![CDATA[<p>I see that Oracle databases can be configured to parallelize queries.<br />
So individual programmers don&#8217;t have to think about this - the database engine is configured to split processing in threads that are assigned to separate processors.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
