<?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"
	>

<channel>
	<title>Intel® Software Network Blogs &#187; Clay Breshears (Intel)</title>
	<atom:link href="http://softwareblogs.intel.com/author/clay-breshears/feed/" rel="self" type="application/rss+xml" />
	<link>http://softwareblogs.intel.com</link>
	<description></description>
	<pubDate>Fri, 18 Jul 2008 22:13:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Something Serial This Way Comes</title>
		<link>http://softwareblogs.intel.com/2008/07/17/something-serial-this-way-comes/</link>
		<comments>http://softwareblogs.intel.com/2008/07/17/something-serial-this-way-comes/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 16:25:53 +0000</pubDate>
		<dc:creator>Clay Breshears (Intel)</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<category><![CDATA[Software Engineering]]></category>

		<category><![CDATA[University Curriculum]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/07/17/something-serial-this-way-comes/</guid>
		<description><![CDATA[Don't put your copy of Gerber's <i>The Software Optimization Cookbook</i> on eBay just yet.  After you parallelize your applications, the serial code that remains may come back to bite you on the you-know-where.]]></description>
			<content:encoded><![CDATA[<p>So you've slaved over the parallelization of your application and you've gotten some measure of speedup.  Is it enough?  If so, skip to the next blog post.  Or, maybe you can give some further <a href="http://softwareblogs.intel.com/2008/07/13/rereading-classic-science-fiction/">SF reading suggestions for Aharon Robbins's daughter</a>.</p>
<p>For those of you left reading this paragraph, let me clue you into a little secret.  That serial code that still needs to execute is dragging down your overall performance.  Sure, when you first ran a profile analysis, it only accounted for 5% of your execution time and the other 95% could be made parallel.  Since you knew this was going to be the case at the outset of development, you probably didn't even try to write an optimal algorithm for that piece.  However, now that you've addressed that 95% of the application, the untouched serial code time has become 30% of the execution time.  When you get more cores and can spawn more parallelism, that percentage is only going to get bigger.</p>
<p>Since it can't be made parallel (or you would have already done that), the only option to get more performance out of the application is to look into serial tuning.  I know you ran through all the serial optimizations you could in the portions of code that are now parallel before the transformation.  Now it's time to go back to the quick and easy code you tossed in just to get the application done and running.</p>
<p>Even though <a href="http://softwareblogs.intel.com/2008/07/02/serial-programming-is-dead-long-liveuhserial-programming/">Berkeley professor David Patterson says "Serial computing is dead,"</a> I want to be sure that you're not throwing the baby out with the bath water.  In fact, I want to make sure you aren't even throwing out the bath water.  Even if we were to make all programming parallel, we still need to ensure that students on their way to being software professionals still understand the importance of things like loop unrolling, data alignment, loop ordering for memory access, and branch misprediction.</p>
<p>Even as things strive to go fully parallel, can we ever get beyond the need for serial optimization?  Probably not.  Even if we're able to compute with quantum states or DNA molecules or on abacuci because we've run out of energy, there will still be portions of algorithms that must be sequential.  We will need to be sure to use the best algorithms and program in the most efficient way for the processing medium.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/07/17/something-serial-this-way-comes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Serial Programming is Dead! Long Live...uh...serial programming?</title>
		<link>http://softwareblogs.intel.com/2008/07/02/serial-programming-is-dead-long-liveuhserial-programming/</link>
		<comments>http://softwareblogs.intel.com/2008/07/02/serial-programming-is-dead-long-liveuhserial-programming/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 22:18:24 +0000</pubDate>
		<dc:creator>Clay Breshears (Intel)</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/07/02/serial-programming-is-dead-long-liveuhserial-programming/</guid>
		<description><![CDATA[I guess paraphrasing some standard quotes just doesn't work everytime.  Still, if serial programming is "dead", why is there still so much of it around and why is an eminent CS professor still concerned about it?  And what impact will today's serial programming have on tomorrow's parallel code?]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://searchdatacenter.techtarget.com/news/article/0,289142,sid80_gci1319113,00.html">report from the recent Usenix conference</a> quotes Prof. Dave Patterson saying "Serial computing is dead, and the parallel computing revolution has begun" in his keynote address.  This statement and the rest of the pro-parallelism rhetoric wasn't what caught my eye.  It was the comments from Andrew S. Tanenbaum, who received the Usenix Lifetime Achievement Award.</p>
<p>Specifically, the comment that "Sequential programming is really hard" got me to thinking about thousands of talking Barbie dolls that once caused an uproar with her comment that "Math is hard."  I thought up comments about checking Prof. Tanenbaum for a drawstring between his shoulder blades.  (Shame on me; no, really.)  Then, I read the rest of his comments about how software is still pretty fragile and causes system crashes with an alarming frequency.  The second part of Tanenbaum's sentence about parallel programming being a step beyond that was sobering.</p>
<p>I'm not sure how I feel about sequential programming as a difficult activity.  We've moved beyond methods and technologies that had their productivity drawbacks, like patch cords, assembly language, punch cards, and rigidly formatted source lines.  Even so, I often think that in our quest to make programming easier or more reliable, we've heaped new methods and technologies on ourselves that can easily complicate things more than previous things have been.</p>
<p>If our current programming methods, models, and environments are complex enough that we can't write software to be much more reliable than a broken watch, then what will it be like when we try to wedge parallel programming and all those attendant complexities into those same methods, models, and environments?  This is what I took to be Prof. Tanenbaum's point in his quoted comments.  (And I renew my humility at his sagacity.)</p>
<p>What about chucking out all the flotsam and detritus we've accumulated over the last 40 years of programming and start with something new, something that starts at square [0] with parallel thought processes?  First: if you thought this, please hit yourself with a rolled up newspaper for me.  Second: realize that starting fresh may ultimately be a good choice and allow us to focus on the problems of parallelism and overcome the failings of current methods, but it's tough to get entrenched methods replaced by untried technologies.  Besides, who wants to take all the time required to completely rewire our modes of thinking and teaching, when they can get by with the mostly status quo?  Or the status quo with some parallelism wedged in a few slots?</p>
<p>Prof. Patterson summed it up well with, "In order for parallelism to succeed, it has to result in better productivity, efficiency, and accuracy."  For better or for worse, "market forces" will drive a winner in the parallel programming arena.  Will it be the best solution?  Maybe, but I don't think Prof. Tanenbaum will be holding his breath.  It certainly won't be the only solution we see in our near future.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/07/02/serial-programming-is-dead-long-liveuhserial-programming/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Three Things You Need to Teach About Parallel Programming</title>
		<link>http://softwareblogs.intel.com/2008/06/19/three-things-you-need-to-teach-about-parallel-programming/</link>
		<comments>http://softwareblogs.intel.com/2008/06/19/three-things-you-need-to-teach-about-parallel-programming/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 17:35:33 +0000</pubDate>
		<dc:creator>Clay Breshears (Intel)</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<category><![CDATA[University Curriculum]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/06/19/three-things-you-need-to-teach-about-parallel-programming/</guid>
		<description><![CDATA[I was presented with a challenge the other day.  The question was, "What three things do you think must be taught about parallelism in universities, such that, by not teaching these three things professors would be doing a disservice to their students?" A further restriction put on this question was that each topic could only take half an [...]]]></description>
			<content:encoded><![CDATA[<p><font size="2" color="#000080">I was presented with a challenge the other day.  The question was, "What three things do you think must be taught about parallelism in universities, such that, by not teaching these three things professors would be doing a disservice to their students?" A further restriction put on this question was that each topic could only take half an hour or less to cover. Below is a quick description of the lectures that I came up with, in the order of presentation.</font></p>
<blockquote><p><font size="2" color="#000080"><strong>Part 1 - Recognizing Parallelism.</strong> This lecture points out why parallelism is important in today's software development environments and how to recognize 2 types of opportunities for parallelism (task and data decomposition) within application code.</font><font size="2" color="#000080"> Examples could start with real-world examples of processes that are "executed" in parallel and then provide a programming example.</font></p>
<p><font size="2" color="#000080"><strong>Part 2 - Shared Memory and Threads.</strong> This lecture give more ideas about how the models covered in the previous part are found within serial code, how threads would be used to express that parallelism, and the major concerns programmers need to be aware of when working in shared memory with threads (i.e., data races).</font><font size="2" color="#000080"> </font></p>
<p><font size="2" color="#000080"><strong>Part 3 - OpenMP Programming.</strong>This lecture gives a quick introduction on how to parallelize loops with independent iterations using OpenMP and how OpenMP deals with some of the concerns expressed in the previous lecture. This is intended to give students a chance to actually do some simple parallel programming and see the performance benefits of parallel execution.</font><font size="2" color="#000080"> <font size="2" color="#000080"> </font></font></p></blockquote>
<p><font size="2" color="#000080"><font size="2" color="#000080">Of course there are many more than three things that I would want to put into a university curriculum about parallel programming. If nothing else is ever taught on the topic in a student's academic career, this minimal set prepares for their own explorations of alternate threading models (e.g., Windows Threads, Pthreads, Intel(R) TBB) or alternates to shared-memory parallel programming (e.g., message-passing, functional languages).</font></font></p>
<p><font size="2" color="#000080">Proposals for adding parallel programming to a Computer Science curriculum frequently gets pushback asking "What do we eliminate from our already over-stuffed curriculum in order to add parallel programming?" The half hour limit is intended to address this concern. I see these three lectures dropping into a first programming class (CS1) that used a language supporting OpenMP, right after loops and loop constructs were discussed. Ninety minutes out of a semester of contact (60 minutes, 3 times a week, for 15 weeks = 2700 minutes) in such a course could be set aside for these topics.</font><font size="2" color="#000080"> </font></p>
<p><font size="2" color="#000080">To paraphrase Dennis Miller, "...of course, this is just my opinion. I could be wrong." Does this list cover the minimum set of parallel programming knowledge? Could it be done with only two topics or is there a fourth (or fifth) vital element that I've overlooked? Is shared-memory programming on multi-core processors the way to introduce/practice these topics or would this just scar future programmers? If you were to answer the original question at the top of this post, how would you respond?</font></p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/06/19/three-things-you-need-to-teach-about-parallel-programming/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Applecore! Baltimore! Who's your friend? Snow Leopard!</title>
		<link>http://softwareblogs.intel.com/2008/06/12/applecore-baltimore-whos-your-friend-snow-leopard/</link>
		<comments>http://softwareblogs.intel.com/2008/06/12/applecore-baltimore-whos-your-friend-snow-leopard/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 00:16:04 +0000</pubDate>
		<dc:creator>Clay Breshears (Intel)</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/06/12/applecore-baltimore-whos-your-friend-snow-leopard/</guid>
		<description><![CDATA[The recent Snow Leopard OS announcement from Apple and Steve Jobs, especially the vagueness surrounding the parallel programming technology, code-named "Grand Central",  has put me in mind of Gwendolen's line from <i>The Importance of Being Earnest</i>: "This suspense is terrible. I hope it will last."]]></description>
			<content:encoded><![CDATA[<p>A friend sent me cryptic hints about some new multicore/parallel programming technology announcement from Steve Jobs and Apple. The code name of the technology is "Grand Central", so I went searching for information (to expand upon the cryptic hints).</p>
<p>I found an <a href="http://www.apple.com/pr/library/2008/06/09snowleopard.html">Apple press release</a> on-line about the new Snow Leopard OS that also describes Grand Central as technology to "[make] it easy for developers to create programs that take full advantage of the power of multi-core Macs." Thinking about this for a few moments, I realized that this could be anything. I mean, the on/off button makes it easier for developers to create parallel programs. That was too simple, so I went back to my search results.</p>
<p>After all the sites about Grand Central Station in The Big Apple, I came to a <a href="http://bits.blogs.nytimes.com/2008/06/10/apple-in-parallel-turning-the-pc-world-upside-down/">NY Times blog post</a> by John Markoff.  This article reports Jobs saying that Apple has made a "parallel-programming breakthrough," but offers no more details than that.  Strike Two. </p>
<p>Then I thought, surely someone from Intel must have made some kind of mention of the Snow Leopard OS announcement. I found <a href="http://softwareblogs.intel.com/2008/06/10/mac-os-x-106-snow-leopard-reading-from-the-intel-cookbook/">Josh Bancroft's post</a> dissecting points from the announcement. Looking for what was written about Grand Central, I found more general talk about this and that and better support for better performance blah blah blah.</p>
<p>*sigh*</p>
<p>Jobs has always been a cagey fella, so I'm thinking that he's probably playing this close to the vest. More details will follow when the time is right, I'm sure. Part of the fun of Christmas is the anticipation, so let's hope the payoff of Grand Central will have been worth all the mystery.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/06/12/applecore-baltimore-whos-your-friend-snow-leopard/feed/</wfw:commentRss>
		</item>
		<item>
		<title>But can they get a job at IHOP?</title>
		<link>http://softwareblogs.intel.com/2008/05/21/but-can-they-get-a-job-at-ihop/</link>
		<comments>http://softwareblogs.intel.com/2008/05/21/but-can-they-get-a-job-at-ihop/#comments</comments>
		<pubDate>Wed, 21 May 2008 22:22:35 +0000</pubDate>
		<dc:creator>Clay Breshears (Intel)</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/05/21/but-can-they-get-a-job-at-ihop/</guid>
		<description><![CDATA[Even if we ignore the obvious health issues, I'm not sure how <i>E. coli</i> bacteria could even hold a spatula to flip pancakes.  And then there would be the whole question of putting together the rest of the Grand Slam Breakfast.  Fortunately these plucky germs only have to deal with mathematical stacks of pancakes.]]></description>
			<content:encoded><![CDATA[<p>In my continuing quest for new parallel models, I ran across an article in <a href="http://www.sciencenews.org/view/generic/id/32352/title/I,_computer">ScienceNews</a> that reports on a research effort to engineer the DNA in bacteria to perform computations.  Specifically, the article chronicles attempts that have been made to create <em>E. coli </em>bacteria to solve the <a href="http://en.wikipedia.org/wiki/Pancake_sorting">Burned Pancake Problem</a> using their DNA.  This is the first example of using DNA within living organisms for computation.</p>
<p>Karmella Haynes, biologist at Davidson College, is quoted as saying "Imagine having the parallel processing power of a million computers all in the space of a drop of water."  Sounds cool, but I've always wondered how we would interface with a drop of water to get data in and out.  You can have the fastest and most parallel computer, but it doesn't do anyone any good if we can't get the answer out.  Perhaps, in anticipation of this problem, the researchers are also working on a bacteria that will light up when it has a solution.</p>
<p>Haynes does qualify the above by stating that the systems currently under development will only be capable of solving mathematical puzzles like how to flip pancakes such that they end up in sorted order with all the burned sides down.  As she says, we won't be using bacteria to run our iPods, for a while anyway.  Sounds to me to be more like an <em>ick</em>Pod when that day arrives.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/05/21/but-can-they-get-a-job-at-ihop/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hop, Skip, and a Jump to understanding my French teacher</title>
		<link>http://softwareblogs.intel.com/2008/05/07/hop-skip-and-a-jump-to-understanding-my-french-teacher/</link>
		<comments>http://softwareblogs.intel.com/2008/05/07/hop-skip-and-a-jump-to-understanding-my-french-teacher/#comments</comments>
		<pubDate>Wed, 07 May 2008 22:18:12 +0000</pubDate>
		<dc:creator>Clay Breshears (Intel)</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/05/07/hop-skip-and-a-jump-to-understanding-my-french-teacher/</guid>
		<description><![CDATA[Dans mon dernier poteau j'ai accentué des efforts de construire un traducteur automatique de langue. Maintenant, j'ai constaté qu'il y a un projet semblable étant placé dans l'union européenne (EU). TC-STAR le premier rôle est concentré sur pouvoir traduire automatiquement le discours dans une des 23 langues officielles d'EU au discours dans un des autres. (Translation by Babel Fish.)]]></description>
			<content:encoded><![CDATA[<p>In my last <a href="http://softwareblogs.intel.com/2008/04/23/ill-finally-be-able-to-understand-my-french-teacher/">post</a> I highlighted efforts to construct an automatic language translator.  Now, I've found that there is a <a href="http://cordis.europa.eu/ictresults/index.cfm/section/news/tpl/article/BrowsingType/Features/ID/89699">similar project</a> being funded in the European Union (EU).  TC-STAR is focused on being able to automatically translate speech in one of the 23 official EU languages to speech in one of the others.  Over a billion euros are being spent in translating services (documents and speech) every year by EU institutions.</p>
<p>The interesting feature is how the system is designed to work.  The input spoken word is first translated to text with Automatic Speech Recognition (ASR) software, the text is translated with Spoken Language Translation (SLT) software to the target language, and this text is used to generate spoken output with Text to Speech (TTS) software.  Over the course of the TC-STAR project, translation performance has improved from 40 percent to 60 percent. </p>
<p>A quad-core processor should be able to handle three applications running in cooperation.  Use of a single processor might even give a performance boost (over three single-core chips) by being able to pipeline results more efficiently.  No details were given in the article on what kind of processors were utilized, but there was mention of using several ASR and SLT systems to improve the translations.  This combination by itself would be a good use of multiple cores.</p>
<p>It will require the cooperation of aliens offering us their SLT and TTS pieces if we're going to be able to build a universal translator based on this technique.  I'm skeptical that dolphins would be able to give us any transcription software.  However, even without opposable thumbs, if we could give them access to water-proof laptops and C++ manuals, who knows what they might come up with.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/05/07/hop-skip-and-a-jump-to-understanding-my-french-teacher/feed/</wfw:commentRss>
		</item>
		<item>
		<title>I'll finally be able to understand my French teacher</title>
		<link>http://softwareblogs.intel.com/2008/04/23/ill-finally-be-able-to-understand-my-french-teacher/</link>
		<comments>http://softwareblogs.intel.com/2008/04/23/ill-finally-be-able-to-understand-my-french-teacher/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 21:24:39 +0000</pubDate>
		<dc:creator>Clay Breshears (Intel)</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/04/23/ill-finally-be-able-to-understand-my-french-teacher/</guid>
		<description><![CDATA[The <i>Enterprise</i> was equipped with one, even though every alien race that Captain Kirk met spoke English. The Priest-Kings of Gor used one.  The TARDIS gave the Doctor and anyone else riding along the ability to do it.  Is a universal langauge translator possible?  A Berkeley professor thinks so.]]></description>
			<content:encoded><![CDATA[<p>An <a href="http://space.newscientist.com/article/dn13739-babelfish-to-translate-alien-tongues-could-be-built.html?feedId=online-news_rss20">article in New Scientist</a> reports that Terrence Deacon, UC Berkeley, believes a universal translation device would be feasible and would even be able to work with aliens from another planet.  We would need to know more about how language is structured than we do now, but Prof. Deacon thinks that there is a universal structure to all languages.  This structure would arise from the fact that language is tied to the common goal of describing the physical environment of the speakers. </p>
<p>It's an intriguing notion (and something that will require lots of processing power from manycore chips).  The classic SF chestnut of using mathematics to gloss over how two alien cultures begin communicating has some believability.  In "Contact," aliens initiate communication with humans through prime numbers.  Is it too hard to imagine that, even though planets might vary widely, there are enough environmental commonalities to be able to find correlating "words" between us and them.  We have rocks, aliens have rocks.  We have hands, aliens have tentacles (but when they say "g<em>9</em>l<em>%</em>Bi*<strong>d</strong>f" and wave them, we'll figure out what they mean).</p>
<p>I'm not convinced that we could be able to translate smells (Priest-Kings of Gor) or light emissions (Toshi in <em>Pandora's Star</em>) in truly alien races.  I'll be impressed enough when we can get such a device to work between different Earth languages (Opish, <a href="http://en.wikipedia.org/wiki/Ubbi_dubbi">Ubbi Dubbi</a>, or Pig Latin, anyone?).  When we can talk to dolphins, then I'll really think we might actually communicate with aliens using a universal translator device.  (I just hope "Klaatu Borada Nicktoe" doesn't end up being "Don't forget to pick up Klaatu's dry cleaning.")</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/04/23/ill-finally-be-able-to-understand-my-french-teacher/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Disk is the New RAM?</title>
		<link>http://softwareblogs.intel.com/2008/04/18/disk-is-the-new-ram/</link>
		<comments>http://softwareblogs.intel.com/2008/04/18/disk-is-the-new-ram/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 22:19:24 +0000</pubDate>
		<dc:creator>Clay Breshears (Intel)</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/04/18/disk-is-the-new-ram/</guid>
		<description><![CDATA[In a past post, I've questioned how we are expecting to "feed" the ever-growing number of cores with data.  In the April 2008 issue of Communications of the ACM, Daniel Kunkle and Gene Copperman (yes, those Northeastern University researchers that have recently been computing Rubik's Cube solutions) may have come up with part of the solution. The [...]]]></description>
			<content:encoded><![CDATA[<p>In a <a href="http://softwareblogs.intel.com/2007/02/15/memory-and-elephants-are-playing-in-the-band/">past post</a>, I've questioned how we are expecting to "feed" the ever-growing number of cores with data.  In the April 2008 issue of <em>Communications of the ACM</em>, Daniel Kunkle and Gene Copperman (yes, those Northeastern University researchers that have recently been computing <a href="http://softwareblogs.intel.com/2007/06/25/rambling-and-ruminating-on-rubiks-cube/">Rubik's Cube solutions</a>) may have come up with part of the solution. The article, "<a href="http://portal.acm.org/citation.cfm?id=1330311.1330319&amp;coll=ACM&amp;dl=ACM&amp;idx=J79&amp;part=magazine&amp;WantType=Magazines&amp;title=Communications%20of%20the%20ACM&amp;CFID=24405078&amp;CFTOKEN=59964105">Solving Rubik's Cube: Disk Is the New RAM</a>," explains how their realization that 50 disks can provide an aggregate bandwidth of 5GB/s, almost the bandwidth of commodity RAM, and that this could allow a method to hold the massive data sets needed for their computations with the ability to quickly access that data within the nodes of the cluster. </p>
<p>But, can you really treat 50 disks as if it were RAM?  Kunkle and Coopperman point out that the disks were distributed across their cluster, so access should tend toward accessing the local disk rather than disks across the network. Also, because of their physical restrictions and associated latencies, disks aren't really <em>random-access</em> devices. These two points need to be taken into account when developing the parallel algorithms that will attempt to make the most efficient use of multiple disks as if they were a very large RAM.</p>
<p>It's a pretty keen idea and published none too soon if the April 2008 issue of IEEE Computer is any indication. The focus of that publication is "<a href="http://www.computer.org/portal/site/computer/menuitem.5d61c1d591162e4b0ef1bd108bcd45f3/index.jsp?&amp;pName=computer_level1_article&amp;TheCat=1005&amp;path=computer/homepage/0408&amp;file=gei_1.xml&amp;xsl=article.xsl&amp;">Data-Intensive Computing</a>."</p>
<p>Using multiple disks on a cluster, as Kunkle and Coopperman did, is all well and good. I'm still not sure how or if this idea might be able to translate down to a single manycore chip. The cluster's multiple nodes all have separate connections for disks; a single chip only has so many paths onto it. We might be able to fill up memory from multiple disks, but we are still going to need some way to push that data into the chip for all the cores to compute on.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/04/18/disk-is-the-new-ram/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How do you represent "icon" as an icon?</title>
		<link>http://softwareblogs.intel.com/2008/03/26/how-do-you-represent-icon-as-an-icon/</link>
		<comments>http://softwareblogs.intel.com/2008/03/26/how-do-you-represent-icon-as-an-icon/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 23:19:19 +0000</pubDate>
		<dc:creator>Clay Breshears (Intel)</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/03/26/how-do-you-represent-icon-as-an-icon/</guid>
		<description><![CDATA[If you were illiterate, how would you interact with a computer? Some folks at Microsoft have been addressing that issue with a project in Bangalore, India. A Computerworld article describes some of the ideas and problems that a team of researchers have experienced with trying to allow users that cannot read or write (including about 50% [...]]]></description>
			<content:encoded><![CDATA[<p>If you were illiterate, how would you interact with a computer? Some folks at Microsoft have been addressing that issue with a project in Bangalore, India. A <a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;articleId=9067260&amp;source=rss_topic11">Computerworld article</a> describes some of the ideas and problems that a team of researchers have experienced with trying to allow users that cannot read or write (including about 50% of the Indian population) the opportunity to interact with computers. Obviously, it has to be pictures for the interface and there will be cultural differences that will require different representations for the same idea.</p>
<p>Using gestures, rather than a mouse and keyboard, would be a natural method for folks to interact with the keyboard. Researchers from two Fraunhofer Institutes <a href="http://www.fraunhofer.de/EN/press/pi/2008/02/Presseinformation11022008.jsp">demonstrated</a> how hand waving and finger pointing could be used to operate a computer. Cameras watch the user's gestures and interpret the intention. Here again, certain gestures don't translate across all cultural boundaries, so we might see a system that needs to first learn a user's intentions.</p>
<p>All this is really cool work. It is certainly more useful (and less scary) than having Braille keys on a drive-up ATM. However, as I got to thinking about it more, I began to wonder what someone that couldn't read or write might do if they had easy access to a computer. I thought about all writing and working with numbers I did every day. That would be out. </p>
<p>I decided that it would have to be something visual. Something to do with pictures or movies. My mind quickly ran to the trailer for the latest Bollywood feature, slide shows of paintings by van Gogh or Renoir, and travelogues of distant countries. Unfortunately, my mind just as quickly ran to examples of still and moving pictures on the Internet that tend to be rated by a letter between "W" and "Y".</p>
<p>Since I can't seem to get my mind out of the gutter, what kinds of content would you think anyone that can't read or write would want to "use" on a computer? And what kind of icon (picture) would you use to represent that content?</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/03/26/how-do-you-represent-icon-as-an-icon/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Brain and brain! What is "brain"?</title>
		<link>http://softwareblogs.intel.com/2008/03/20/brain-and-brain-what-is-brain/</link>
		<comments>http://softwareblogs.intel.com/2008/03/20/brain-and-brain-what-is-brain/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 22:44:08 +0000</pubDate>
		<dc:creator>Clay Breshears (Intel)</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<guid isPermaLink="false">http://softwareblogs.intel.com/2008/03/20/brain-and-brain-what-is-brain/</guid>
		<description><![CDATA[Why does the media keep treating us like Eymorgs?  In today's technologically advanced world, I think we're smart enough to know what a CPU is for and what it does.]]></description>
			<content:encoded><![CDATA[<p>This week I saw two news stories that got my knickers in a twist.  One was in the local paper and the other was in the Wall Street Journal (online edition). The (Champaign-Urbana) News-Gazette article ("<a href="http://www.news-gazette.com/news/u_of_i/2008/03/18/intel_microsoft_to_invest_10_million_in_new_ui_computer_center">Intel, Microsoft to invest $10 million in research at UI</a>") announces a grant that has been awarded to UIUC researchers to investigate how better ways to do parallel programming of multi- and manycore chips. The WSJ story ("<a href="http://online.wsj.com/article/SB120578715538242965.html">Intel Plans to Pack Many Brains Into One Chip</a>") give information from a recent Intel press release detailing the next few processor products coming from Intel (the Dunnington, Nehalem, and Larrabee products).</p>
<p>Both articles report on significant, newsworthy subjects.  But, after my St. Patrick's Day imbibements (luckily I retain my ability to do long division), one of the last things I wanted to read was the phrase "Intel's...chips, <em>kind of the</em> <em>brain</em> of a computer" [my emphasis] while crunching down my morning granola.  Later in the week, I see "Brain" right in the WSJ headline.</p>
<p>Here in Central Illinois I can understand the local paper feeling the need to bring a technical story down to the level of the soybean and corn farmers in the area, even with one of the premier CS and EE schools in the country located right down the street from the paper's offices. However, what is the lowest common denominator reader that the Wall Street Journal is aiming for?  Surely their average reader would consider herself at least as technically savvy as someone that raises tofu.</p>
<p>I don't get it.  I've seen this terminology used before, so this wasn't an isolated incident. Maybe I'm expecting too much, having been insulated within technical communities for almost 30 years, or I'm giving my fellow Man more credit than he deserves.  I hope not.</p>
]]></content:encoded>
			<wfw:commentRss>http://softwareblogs.intel.com/2008/03/20/brain-and-brain-what-is-brain/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
