<?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; Steve Pitzel (Intel)</title>
	<atom:link href="http://software.intel.com/en-us/blogs/author/steve-pitzel/feed/" rel="self" type="application/rss+xml" />
	<link>http://software.intel.com/en-us/blogs</link>
	<description></description>
	<pubDate>Mon, 13 Oct 2008 20:26:12 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>GDC 2008 What's Intel Doing this year?</title>
		<link>http://software.intel.com/en-us/blogs/2008/02/17/gdc-2008-whats-intel-doing-this-year/</link>
		<comments>http://software.intel.com/en-us/blogs/2008/02/17/gdc-2008-whats-intel-doing-this-year/#comments</comments>
		<pubDate>Mon, 18 Feb 2008 04:07:16 +0000</pubDate>
		<dc:creator>Steve Pitzel (Intel)</dc:creator>
		
		<category><![CDATA[Events]]></category>

		<category><![CDATA[Graphics]]></category>

		<category><![CDATA[COLLADA]]></category>

		<category><![CDATA[Game developer conference]]></category>

		<category><![CDATA[Gaming]]></category>

		<category><![CDATA[GDC]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2008/02/17/gdc-2008-whats-intel-doing-this-year/</guid>
		<description><![CDATA[The Game Developers Conference is just about upon us. Very pleased to have Havok onboard this year. Check the  Intel and Havok session link for class dates and times. I'll also have class materials posted on that site as soon as it's available. For more info on our speakers, click on this speaker link, and [...]]]></description>
			<content:encoded><![CDATA[<p>The Game Developers Conference is just about upon us. Very pleased to have Havok onboard this year. Check the  <a href="http://softwarecommunity.intel.com/articles/eng/3734.htm">Intel and Havok session</a> link for class dates and times. I'll also have class materials posted on that site as soon as it's available. For more info on our speakers, click on this <a href="http://softwarecommunity.intel.com/articles/eng/3747.htm">speaker link</a>, and be sure and check the main <a href="http://softwarecommunity.intel.com/articles/eng/1490.htm">graphics developer site</a> for the latest info as the show goes on. I'll be spending quite a bit of my time Blogging at the Intel Studio 45 (as in nanometer) on the 3rd Floor of Moscone West - be sure and stop by and say "hi!" Feel free to jump in on the Blog yourself, or just hang out and play games! Our main booth is #5917, where you'll see plenty of games optimized for mobile and desktop - plus a demo of COLLADA, a standard for interactive 3D apps that allows the smooth transfer of assets between your favorite animation applications.  Remi Arnaud, a Senior Graphics Architect at Intel who is a co-creator of COLLADA will also be chairing a panel discussion on Collada usage Weds at noon (<a href="http://softwarecommunity.intel.com/articles/eng/3734.htm">see COLLADA in the Game</a>). See you at the show!</p>
<p>- Pitz</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2008/02/17/gdc-2008-whats-intel-doing-this-year/feed/</wfw:commentRss>
		</item>
		<item>
		<title>What? A Graphics Software Developer Community at Intel?</title>
		<link>http://software.intel.com/en-us/blogs/2007/09/13/what-a-graphics-software-developer-community-at-intel/</link>
		<comments>http://software.intel.com/en-us/blogs/2007/09/13/what-a-graphics-software-developer-community-at-intel/#comments</comments>
		<pubDate>Thu, 13 Sep 2007 18:18:55 +0000</pubDate>
		<dc:creator>Steve Pitzel (Intel)</dc:creator>
		
		<category><![CDATA[Graphics]]></category>

		<category><![CDATA[Intel® Software Network 2.0]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2007/09/13/what-a-graphics-software-developer-community-at-intel/</guid>
		<description><![CDATA[Intel Software Network Graphics Developer Community  
I come from the land of beefy workstations. When I first began animating and training cel animators to use digital tools, workstations cost about the same as animators and trainers. It's a different, thankfully cheaper, world these days. I can now proudly say I am worth more than the machine [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://softwarecommunity.intel.com/articles/eng/1490.htm">Intel Software Network Graphics Developer Community </a> </p>
<p>I come from the land of beefy workstations. When I first began animating and training cel animators to use digital tools, workstations cost about the same as animators and trainers. It's a different, thankfully cheaper, world these days. I can now proudly say I am worth more than the machine I work and play on.</p>
<p>A lot of innovations have gotten us to this point. In some cases, the technology at the top has trickled down to more inexpensive parts, in other cases, mass-market ideas have moved the entire industry upwards.I was skeptical of Integrated, mass-market solutions, I still am. If I'm going to create my own animation on Softimage|XSI or Maya, or play the latest video game at full res with all the graphic bells and whistles turned on at a smooth frame rate -- I'm going to shell out some decent money for a high-end graphics card. No question.</p>
<p>But what about the other 90-odd percent of graphics-dependent applications out there? What about the games that don't require all those ray-traced, HD-everything bells and whistles to be enjoyed? And what about the photo-editors, the word processors, and even a lot of the consumer video-editors? As a consumer, does it really make sense to pay extra for something that might just be onboard for free? As a developer, does it make sense not to open your application up to the widest possible audience?</p>
<p>The <a href="http://softwarecommunity.intel.com/articles/eng/1490.htm">Graphics Developers Community</a> is officially live! Along with making available all the developer information I can find inside Intel's walls, I'll be scouring the web for interesting graphics news and info and I'll post as much of that info as I can on the site as well.</p>
<p>Have a read! I look forward to your comments!</p>
<p>All the best,</p>
<p>- Pitz</p>
<p>Tom's Hardware -- Bruce Gain -- Are Intel Integrated Graphics Good Enough for Gaming?</p>
<p><a href="http://www.tomshardware.com/2005/09/15/are_intel/">http://www.tomshardware.com/2005/09/15/are_intel/</a></p>
<p>Softpedia -- Alexandru Pancescu - Intel Integrated Graphics Receive a Performance Boost</p>
<p><a href="http://news.softpedia.com/news/Intel-Integrated-Graphics-Receive-a-Performance-Boost-63105.shtml">http://news.softpedia.com/news/Intel-Integrated-Graphics-Receive-a-Performance-Boost-63105.shtml</a></p>
<p>Steve Pitzel, Graphics Community Manager, ISN</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2007/09/13/what-a-graphics-software-developer-community-at-intel/feed/</wfw:commentRss>
		</item>
		<item>
		<title>I've Got Multiple Cores - and NOW I'm Going to Use Them!</title>
		<link>http://software.intel.com/en-us/blogs/2007/06/14/ive-got-multiple-cores-and-now-im-going-to-use-them/</link>
		<comments>http://software.intel.com/en-us/blogs/2007/06/14/ive-got-multiple-cores-and-now-im-going-to-use-them/#comments</comments>
		<pubDate>Thu, 14 Jun 2007 20:49:48 +0000</pubDate>
		<dc:creator>Steve Pitzel (Intel)</dc:creator>
		
		<category><![CDATA[Intel® Software Network 2.0]]></category>

		<category><![CDATA[Multicore]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2007/06/14/ive-got-multiple-cores-and-now-im-going-to-use-them/</guid>
		<description><![CDATA[Just a note to all that I'm heading out of here for an 8 week sabbatical Monday, June 18, and the Multi-Core Developers Community will be in the very capable hands of Aaron Tersteeg while I'm gone. I intend to spend as much time as possible using threaded apps like Cakewalk's Sonar and Softimage&#124;XSI to [...]]]></description>
			<content:encoded><![CDATA[<p>Just a note to all that I'm heading out of here for an 8 week sabbatical Monday, June 18, and the Multi-Core Developers Community will be in the very capable hands of Aaron Tersteeg while I'm gone. I intend to spend as much time as possible using threaded apps like Cakewalk's Sonar and Softimage|XSI to make neat stuff! That...and spend some serious time loafing... So - for all you Multi-Core Bloggers and Forum Warriors out there - all the best &amp; Blog to you soon - or at least on August 13!</p>
<p>- Pitz</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2007/06/14/ive-got-multiple-cores-and-now-im-going-to-use-them/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Intel Showcases 80-cores by Arian Kulp</title>
		<link>http://software.intel.com/en-us/blogs/2007/06/13/intel-showcases-80-cores-by-arian-kulp/</link>
		<comments>http://software.intel.com/en-us/blogs/2007/06/13/intel-showcases-80-cores-by-arian-kulp/#comments</comments>
		<pubDate>Wed, 13 Jun 2007 19:44:59 +0000</pubDate>
		<dc:creator>Steve Pitzel (Intel)</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2007/06/13/intel-showcases-80-cores-by-arian-kulp/</guid>
		<description><![CDATA[The talk about high core CPU's is heating up.  Intel announced a 80-core processor with less power consumption than a current Core 2 Duo (article link). That's cool stuff for research, though it's not ready for mass marketing yet.  For one thing, at 275 mm squared vs 143 for the Core 2 Duo, the chip is [...]]]></description>
			<content:encoded><![CDATA[<p>The talk about high core CPU's is heating up.  Intel announced a 80-core processor with less power consumption than a current Core 2 Duo (<a href="http://news.zdnet.com/2100-9584_22-6158181.html">article link</a>). That's cool stuff for research, though it's not ready for mass marketing yet.  For one thing, at 275 mm squared vs 143 for the Core 2 Duo, the chip is too big (though not massive by any stretch). The bigger thing though, is that the chip doesn't support the x86 instruction set. A VLIW (Very Long Instruction Word) architecture will be fine for specialized applications, but not suitable for running any mainstream operating system. Oh yeah, and they say it's not able to be connected to memory yet!</p>
<p>Their biggest hurdle, they say, is the fact that modern software isn't ready.  Not only applications, but operating systems as well. If we can't scale well to dual or quad processors, what's the point of even moving to 16, let alone 80. I wonder about this argument though. It seems to me that certain applications are already very well suited to massively parallel operation -- think of grid computing. Various projects (SETI@Home, Folding@Home, the just announced OpenMacGrid, and many others) allow a huge number of computers to crunch portions of datasets. Each is handed a chunk of data, then the results are fed back to the central server. This model sounds ideal for the high-core scenario.  No node is dependent on another. It's idle until work is assigned, it does its own thing, then it sends back the end result. One big thing is that this model is designed assuming high-latency. Smaller chunks of data aren't worth the round-trip. It's also not intended for any kind of realtime consumption. Some changes to these base assumptions would be required, but it seems like the multithreaded/core outlook isn't a bleak as it's made out to be.</p>
<p>Server rendering farms for graphics are a smaller-scale grid application. Each machine in the cluster could just as easily be one of the cores in one of these new systems. I agree that for the common application, no one knows what to do with the level of parallelism.  Large dataset analysis and multi-user server systems should see great benefit. When designed in early, most applications can benefit from parallel processing. It's true that synchronization can be a challenge at first, but it all just makes sense once you've worked with it longer. I'll be anxious to see how things progress in the next few years.</p>
<p><a href="http://www.tgdaily.com/2007/02/11/intel_80_core/">Link to Intel squeezes 1.8 TFlops out of one processor | TG Daily</a></p>
<p><a href="http://news.zdnet.com/2100-9584_22-6158181.html">Link to Intel shows off 80-core processor | ZDNet</a></p>
<p>Arian Kulp<br />
<a href="mailto:akulp@3leaf.com">akulp@3leaf.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2007/06/13/intel-showcases-80-cores-by-arian-kulp/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Blogging from Second Life - ISN Launch</title>
		<link>http://software.intel.com/en-us/blogs/2007/05/29/blogging-from-second-life-isn-launch/</link>
		<comments>http://software.intel.com/en-us/blogs/2007/05/29/blogging-from-second-life-isn-launch/#comments</comments>
		<pubDate>Tue, 29 May 2007 16:40:16 +0000</pubDate>
		<dc:creator>Steve Pitzel (Intel)</dc:creator>
		
		<category><![CDATA[Intel® Software Network 2.0]]></category>

		<category><![CDATA[Multicore]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2007/05/29/blogging-from-second-life-isn-launch/</guid>
		<description><![CDATA[Great job by Elliot Garbus introducing ISN on Second Life.  Good turnout - and it's great to get his support on this.  Elliot just took a question about ISN moving completely over to Second Life...hmmm... Not yet, of course...but who knows what the future might bring?  Also like the fact that he mentioned Intel is the [...]]]></description>
			<content:encoded><![CDATA[<p>Great job by Elliot Garbus introducing ISN on Second Life.  Good turnout - and it's great to get his support on this.  Elliot just took a question about ISN moving completely over to Second Life...hmmm... Not yet, of course...but who knows what the future might bring?  Also like the fact that he mentioned Intel is the "Core2" of Second Life :)</p>
<p>BTW - if you haven't seen Tim Mattson's avatar (Nanook Tuarog) - it's worth the price of admission - fits perfectly with his presentation.  Right now he's going over the future of many core architecture - memory sandwiched with the processors - it's amazing to see how quickly science fiction could become technological fact.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2007/05/29/blogging-from-second-life-isn-launch/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Intel, Game Development. Is Intel Playing the Wrong Game?</title>
		<link>http://software.intel.com/en-us/blogs/2007/05/15/intel-game-development-is-intel-playing-the-wrong-game/</link>
		<comments>http://software.intel.com/en-us/blogs/2007/05/15/intel-game-development-is-intel-playing-the-wrong-game/#comments</comments>
		<pubDate>Tue, 15 May 2007 14:07:21 +0000</pubDate>
		<dc:creator>Steve Pitzel (Intel)</dc:creator>
		
		<category><![CDATA[Gaming]]></category>

		<category><![CDATA[Intel® Software Network 2.0]]></category>

		<category><![CDATA[Multicore]]></category>

		<category><![CDATA[Game developer conference]]></category>

		<category><![CDATA[GDC]]></category>

		<category><![CDATA[Softimage]]></category>

		<category><![CDATA[XSI]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2007/05/15/intel-game-development-is-intel-playing-the-wrong-game/</guid>
		<description><![CDATA[One Game Developers Conference not long ago, an animator manning a Softimage&#124;XSI demo at the Intel booth told me something interesting. He said he usually didn't stop by the Intel booth at GDC because, as he put it, he was "kind of young."
Wow.
It wasn't difficult to see his point. Walk by the nVidia or ATI [...]]]></description>
			<content:encoded><![CDATA[<p>One <a href="http://en.wikipedia.org/wiki/Game_Developers_Conference">Game Developers Conference</a> not long ago, an animator manning a <a href="http://www.xsibase.com/">Softimage|XSI </a>demo at the Intel booth told me something interesting. He said he usually didn't stop by the Intel booth at GDC because, as he put it, he was "kind of young."</p>
<p>Wow.</p>
<p>It wasn't difficult to see his point. Walk by the nVidia or ATI booths and you were instantly immersed in the imagery, music, and fury of games. You saw animators, modelers, and texture painters at work, willowy heroines or grisly creatures springing to life before your very eyes. Those things that didn't outright explode onscreen shot arrows, swung a sword - growled at you at the very least.</p>
<p>In short, in other booths at GDC you saw games -- games the way we know them. The way games are meant to be. You saw graphics. You saw <em>art.</em> And you watched it being created.</p>
<p>At the Intel booth... you saw a space so sterile it looked like a clean-room starter kit. You saw demonstrations of... <em>optimized code</em>. There were a few desktop machines set up where people could at least play games -- or game, I should say -- it was all the same game. You know the one.</p>
<p>The only thing missing was elevator music.</p>
<p>Yes, our young animator was there -- along with one of the venerable gold standards of Character Animation, Softimage, but both were relegated to the one dim corner in that achingly white booth. And even with that poor placement -- his corner was busy.</p>
<p>Not so much everywhere else in the booth. The crowd at GDC is, after all, "kind of young."</p>
<p>Folks, code is good. I love the crazy way my <a href="http://www.half-life2.com/media.html">Half-Life2</a> dune buggy careens all over the beach and dumps me half the time. I could pick up empty oil barrels with my anti-grav gun and throw 'em at bad guys for hours.</p>
<p>But, man, sometimes... I just want to walk around and look at the world those creators have given me. The textures, the buildings, the people...</p>
<p>The art.</p>
<p>I'm a recovering animator. Maybe that's the problem. When it comes to animation, art drives the technology. Something has to be programmed a certain way ONLY because it has to LOOK a certain way.</p>
<p>The art <em>IS</em> the game.</p>
<p>Sometimes I think we lose sight of that here. What do you think?</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2007/05/15/intel-game-development-is-intel-playing-the-wrong-game/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Multi-Core Dilemma - By Patrick Leonard</title>
		<link>http://software.intel.com/en-us/blogs/2007/03/14/the-multi-core-dilemma-by-patrick-leonard/</link>
		<comments>http://software.intel.com/en-us/blogs/2007/03/14/the-multi-core-dilemma-by-patrick-leonard/#comments</comments>
		<pubDate>Thu, 15 Mar 2007 04:27:21 +0000</pubDate>
		<dc:creator>Steve Pitzel (Intel)</dc:creator>
		
		<category><![CDATA[Multicore]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2007/03/14/the-multi-core-dilemma-by-patrick-leonard/</guid>
		<description><![CDATA[Guest Blogger Bio: Patrick Leonard
Hardware Evolution
Throughout the history of modern computing, enterprise application developers have been able to rely on new hardware to deliver significant performance improvements while actually reducing costs at the same time. Unfortunately, increasing difficulty with heat and power consumption along with the limits imposed by quantum physics has made this progression [...]]]></description>
			<content:encoded><![CDATA[<p><small>Guest Blogger Bio: <a HREF="http://software.intel.com/en-us/blogs/guest-bloggers/#PatrickLeonard">Patrick Leonard</a></small></p>
<p><em><strong>Hardware Evolution</strong></em></p>
<p>Throughout the history of modern computing, enterprise application developers have been able to rely on new hardware to deliver significant performance improvements while actually reducing costs at the same time. Unfortunately, increasing difficulty with heat and power consumption along with the limits imposed by quantum physics has made this progression increasingly less feasible.</p>
<p>There is good news. Hardware vendors recognized this several years ago, and have introduced <a HREF="http://en.wikipedia.org/wiki/Multi-core">multi-core</a> hardware architectures as a strategy for continuing to increase computing power without having to make ever smaller circuits.</p>
<p><em><strong>Sounds Good, So What's the Dilemma?</strong></em></p>
<p>The "dilemma" is this: a large percentage of mission-critical enterprise applications will not "automagically" run faster on multi-core servers. In fact, many will actually run slower.</p>
<p>There are two main reasons for this:</p>
<ol>
<li>The clock speed for each "core" in the processor is slower than previous generations. This is done primarily to manage power consumption and heat dissipation. For example, a processor with a single core from a few years ago that ran at 3.0 Ghz is being replaced with a dual or quad-core processor with each core running in the neighborhood of 2.6 Ghz. More total processing power, but each one is a bit slower.</li>
</ol>
<ol>
<li>Most enterprise applications are not programmed to be multi-threaded. A single-threaded application cannot take advantage of the additional cores in the multi-core processor without sacrificing ordered processing. The result is idle processing time on the additional cores. Multi-threaded software should do better, but many people are finding that their multi-threaded code behaves differently in a multi-core environment than it did on a single core, so even these should be tested.</li>
</ol>
<p><em><strong>Won't my application server or operating system take care of this for me?</strong> </em></p>
<p>One of the key considerations here is the order of processing. A single threaded application that needs to ensure that <em>A</em> happens before <em>B</em> cannot run multiple instances concurrently on multiple cores and still ensure a particular order.</p>
<p>Application servers and operating systems are generally multi-threaded themselves, but unfortunately their multi-threaded nature does not necessarily extend to the applications that run on them. The app server and OS don't know what the proper order is for your particular business logic unless you write code to tell them. In fact, they are designed to simply process any thread as soon as possible, potentially disastrous in a business application. SMP (symmetric multiprocessing) has similar limitations.</p>
<p>So we are back to the same problem -- how to run multiple instances concurrently on multiple cores and still ensure a particular order.</p>
<p><em><strong>Intel's 45nm announcement</strong> </em></p>
<p>Intel recently announced that they will have chips in the near future with 45nm features, a significant advance from the 60-65nm that is prevalent today. The company has also made it clear that this is not reducing the need for multi-core.</p>
<p>Around the same time as this announcement, Intel announced that they have an 80 core processor in the works. Power and heat will have to be addressed for a processor with 80 cores to come to market. So 45nm may mean some increase in clock speeds for future processors, but its primary use will be enablement of a higher number of cores.</p>
<p><em><strong>Concurrent Computing</strong></em></p>
<p>There is no easy solution, but there are several options, and they all involve bringing concurrency to your software. Concurrent computing (or parallel programming, as many refer to it) is likely to be a very hot topic in the coming years, so it's a good idea to start preparing now.</p>
<p>Since multi-core servers already make up most of the new servers shipments, concurrent computing in the enterprise will quickly become a way of life. So we need to put some thought into two things: how to make existing applications run concurrently, and how to build new systems for concurrency.</p>
<p>More people are talking now than any time in recent memory about how to do multi-threaded software development as the primary answer to concurrency. However, instead of writing our application code to be multi-threaded, we should consider how to abstract threading <strong>out</strong> of application code. Multi-threaded code is difficult to write and difficult to test, which is why many people have avoided it in the first place.</p>
<p>At Rogue Wave Software we have been working for several years in the area of "Software Pipelines". Software Pipelines* is an approach that can be used to abstract the threading model out of the application code. As software developers, you would not mix your UI code with your business logic, and for good reasons. A similar principle should apply for programming for concurrency -- the threading model should not be driven from within the application logic.</p>
<p>There are several important benefits to this approach. Removing threading from application code means:· The application developer doesn't have to own the threading model· Existing applications can move into a concurrent environment with much less effort· Makes it easier to scale to additional computing resources without modifying the application· If done right, the application can continually be tuned for performance without modifying application code</p>
<p>This approach does not allow the application developer to wash their hands entirely of concurrency. Application code needs to be written to be thread-aware, but does not need to have threads written into it. For more information on Software Pipelines, you can read this <a TITLE="http://www.webservices.org/recommended/software_pipelines_an_overview" HREF="http://www.webservices.org/recommended/software_pipelines_an_overview">white paper</a> (you have to log in to webservices.org to download it).</p>
<p>Consider how to abstract your threading model from your application logic, and you may find a smoother (concurrent) path ahead.</p>
<p>* Software Pipelines is a general term, not owned or trademarked by Rogue Wave or anyone as far as I'm aware. It also does not require the use of any of our technology. Software Pipelines borrows conceptually from hardware pipelines and also from fluid dynamics, which has interesting parallels to software systems.</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2007/03/14/the-multi-core-dilemma-by-patrick-leonard/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Multi-processing programming too hard? Why not abstract it? - by Michael Cassens</title>
		<link>http://software.intel.com/en-us/blogs/2007/02/22/multi-processing-programming-too-hard-why-not-abstract-it-by-michael-cassens/</link>
		<comments>http://software.intel.com/en-us/blogs/2007/02/22/multi-processing-programming-too-hard-why-not-abstract-it-by-michael-cassens/#comments</comments>
		<pubDate>Thu, 22 Feb 2007 13:40:02 +0000</pubDate>
		<dc:creator>Steve Pitzel (Intel)</dc:creator>
		
		<category><![CDATA[Intel® Software Network 2.0]]></category>

		<category><![CDATA[Multicore]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2007/02/22/multi-processing-programming-too-hard-why-not-abstract-it-by-michael-cassens/</guid>
		<description><![CDATA[I read an article today published in the Technology Review at MIT that focused on the multi-core processors and the hurdles that developers face when writing software to take advantage of multi-core processing.
Researchers at MIT are developing a framework that abstracts some of the details of parallel programming. They want to help mainstream developers move [...]]]></description>
			<content:encoded><![CDATA[<p>I read an article today published in the <a HREF="http://www.technologyreview.com/Infotech/17682/page1/">Technology Review at MIT</a> that focused on the multi-core processors and the hurdles that developers face when writing software to take advantage of multi-core processing.</p>
<p>Researchers at MIT are developing a framework that abstracts some of the details of parallel programming. They want to help mainstream developers move to parallel programming more quickly and still be efficient.</p>
<p>Their focus is preventing complete system failure when different applications or tasks run on separate cores. Systems fail in these scenarios because one application accesses some shared memory and when another application tries to access the same shared memory, the whole system can freeze and eventually shut down.</p>
<p>Currently, developers must put safeguards in place to prevent these system crashes, but at MIT, they are trying to develop a more transactional way of accessing this shared memory. They want to make sure multiple applications can access shared memory without any deadlocks and verify that when an application makes a change to the memory, the memory is still viable for the next transaction.</p>
<p>Major players in the industry like Microsoft, AMD, and Intel are investing a lot of money into making parallel programming easier. This seems like the right path to me. Abstraction is an integral part of Object Oriented programming. I hope a number of different APIs come from these corporations in the near future. Multi-core processors are here to stay. In fact, they will continue to grow. Intel and AMD plan on releasing the first consumer-oriented quad core processor in 2007 putting more pressure on developers to write software to take advantage of this hardware.</p>
<p>Microsoft supports OpenMP in C++ and C# in Visual Studio 2005. This is a good first step, but I think having another application building block release from Microsoft would propel parallel programming into the mainstream.</p>
<p>Making parallel programming easier is the most logical path if wide-spread adoption is the goal. Industry developers do not have a lot of time typically to spend on research and development. Even though they may take time to research alternative ways to develop software, large-scale implementation changes can be too vast and time consuming to be useful. Hopefully by increasing the amount of abstraction, changing to a parallel programming might not be such a huge leap.</p>
<p>Michael Cassens<br />
mcassens@3leaf.com</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2007/02/22/multi-processing-programming-too-hard-why-not-abstract-it-by-michael-cassens/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Multicore, Virtualization, and the MacBook Pro - by Michael Jeronimo</title>
		<link>http://software.intel.com/en-us/blogs/2007/02/22/multicore-virtualization-and-the-macbook-pro-by-michael-jeronimo/</link>
		<comments>http://software.intel.com/en-us/blogs/2007/02/22/multicore-virtualization-and-the-macbook-pro-by-michael-jeronimo/#comments</comments>
		<pubDate>Thu, 22 Feb 2007 13:37:03 +0000</pubDate>
		<dc:creator>Steve Pitzel (Intel)</dc:creator>
		
		<category><![CDATA[Intel® Software Network 2.0]]></category>

		<category><![CDATA[Multicore]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2007/02/22/multicore-virtualization-and-the-macbook-pro-by-michael-jeronimo/</guid>
		<description><![CDATA[When I was a kid in the San Francisco Bay Area, my friends and I loved to play baseball and follow our local pro teams. In our group you were either a San Francisco Giants fan or an Oakland A's fan; there was no middle ground. We would often talk about how cool it would [...]]]></description>
			<content:encoded><![CDATA[<p>When I was a kid in the San Francisco Bay Area, my friends and I loved to play baseball and follow our local pro teams. In our group you were either a San Francisco Giants fan or an Oakland A's fan; there was no middle ground. We would often talk about how cool it would be for the Giants to play the A's in the World Series so we could see which team was really the best. In the back of our minds, we knew it would never happen, but we wished for it every year just the same (eventually, in 1989, the two teams did finally meet in the World Series, but the series was interrupted by the Loma Prieta earthquake!).</p>
<p>Later, as a software developer at Intel, I had a similar feeling: how cool would it be if Apple used Intel microprocessors and ran the Mac OS! My developer friends and I wished and waited, but we figured it would never really happen. Then, we were caught by surprise: Paul Otellini took over as CEO at Intel and soon announced that Apple was actually going to use Intel processors.</p>
<p>By that time, I had been using Microsoft Windows on Intel platforms exclusively for over a decade and was quite familiar with the hassles of running Windows. I hadn't used an Apple computer in 20 years -- an Apple IIe with a 1 MHz processor, external floppy drive, and nifty green monochrome display that gave off an eerie glow.</p>
<p>Since the announcement of Apple's plans to use Intel processors, I have periodically tried out their computers, planning to eventually make the switch. The day has finally arrived. Last week I acquired a new Core 2 Duo-based MacBook Pro for work. After using it for a week, I feel like I could easily become an evangelist for these systems. They have a lot to offer a Windows developer. I have especially enjoyed having things just work instead of wasting time debugging problems. For example, the first time I plugged the MacBook into my Cinema Display, the new display was detected correctly and I automatically had a desktop that spanned the built-in display and the external Cinema Display. I popped in a DVD (Cream's concert at the Albert Hall). The DVD came up full screen on the Cinema Display and automatically began playing. Pleasant surprises like these have shown me how, on the Windows platform, I had become trained to expect things NOT to work.</p>
<p>I've also installed Parallels on the new MacBook (a virtualization product that allows one to run Windows in a virtual machine hosted on the Mac OS). This product takes advantage of the hardware virtualization support in the Core 2 Duo processor. The Parallels installation was also brain dead simple and allowed me to create a Windows Vista virtual machine by simply entering the license key, putting the Vista DVD in the drive, and clicking OK. This is how things should work.</p>
<p>Thanks to the horsepower of the Core 2 Duo and its VT support, I now have what I think is a near ideal situation: the elegance of the Mac user interface, the power of the underlying Mach/BSD operating system, and the ability to run Windows and Linux in virtual machines when needed. In fact, I will likely create a catalog of virtual machines, ready to run, so that I can develop and test software on different operating systems.</p>
<p>If you are a software developer and are not into virtualization yet, you should be. Multi-core processors combined with hardware virtualization allow you to do some amazing things (in fact, Sean Campbell and I gathered about a hundred ideas and wrote a book for Intel Press exclusively on virtualization usage models. We cover software development scenarios, software testing, marketing and sales, and more. Check out <a HREF="http://www.intel.com/intelpress/sum_vpio.htm">the Intel Press site</a> for more information). While the Giants and A's series didn't turn out so well, the Intel/Apple combination was worth the wait. If you're a Windows developer considering a switch, go ahead. You won't be disappointed.</p>
<p>Michael Jeronimo</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2007/02/22/multicore-virtualization-and-the-macbook-pro-by-michael-jeronimo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Every App is a Parallel App - by Michael Jeronimo</title>
		<link>http://software.intel.com/en-us/blogs/2007/02/22/every-app-is-a-parallel-app-by-michael-jeronimo/</link>
		<comments>http://software.intel.com/en-us/blogs/2007/02/22/every-app-is-a-parallel-app-by-michael-jeronimo/#comments</comments>
		<pubDate>Thu, 22 Feb 2007 13:31:54 +0000</pubDate>
		<dc:creator>Steve Pitzel (Intel)</dc:creator>
		
		<category><![CDATA[Intel® Software Network 2.0]]></category>

		<category><![CDATA[Multicore]]></category>

		<guid isPermaLink="false">http://software.intel.com/en-us/blogs/2007/02/22/every-app-is-a-parallel-app-by-michael-jeronimo/</guid>
		<description><![CDATA[Many years ago, at the beginning of the Internet boom in the mid 90s, Andy Grove said that every company is an Internet company. I believe he meant that a company couldn't just ignore the changes brought by the Internet, but would have to understand the implications for the business and adapt. Or, failing to [...]]]></description>
			<content:encoded><![CDATA[<p>Many years ago, at the beginning of the Internet boom in the mid 90s, Andy Grove said that every company is an Internet company. I believe he meant that a company couldn't just ignore the changes brought by the Internet, but would have to understand the implications for the business and adapt. Or, failing to adapt, it would suffer the consequences. Well, as application developers faced with multithreading, we are dealing with a similar situation: we can either ignore the broad changes happening (at our own peril), or adapt to these changes. Previous blog postings on this site complain (actually "marvel in amazement" is probably closer to the truth) about various applications' disregard for threading, wondering, for example, why an app would appear to lock up its UI while waiting for an operation to complete. Applications like these won't please users in the future. Users will come to expect the performance and responsiveness afforded by multi-core processors. To paraphrase Andy Grove, we developers must realize that <em>every application is a multi-threaded application</em>.</p>
<p>You may have written your application without regard for how to most effectively use multiple threads of execution. In the past, this was an acceptable strategy as the app could ride the increase in clock frequency in successive processor generations to achieve increases in performance. Those days are gone. The performance increase afforded by multi-core processors comes at a cost and so far, it is the developer's burden to bear. Multi-core processors require an explicit awareness on the part of the developer to make full use of the available processing power. The developer knows the application and the user and needs to figure out how to best partition the application to achieve performance and responsiveness. If you can adapt, your application will scale in performance as the number of processor cores continues to increase (by the way, Intel <a HREF="http://news.com.com/2100-1006_3-6119618.html">recently demonstrated</a> a prototype of an 80-way processor that they say will be available within five years). If you don't, your application won't compare favorably to those that do.</p>
<p>There are many parallel programming models such as <a HREF="http://en.wikipedia.org/wiki/OpenMP">OpenMP</a>, <a HREF="http://en.wikipedia.org/wiki/Posix_threads">POSIX threads</a>, and so on that allow a developer to incorporate multiple threads into a program, and <a HREF="http://www.intel.com/cd/software/products/asmo-na/eng/threading/219785.htm">threading tools</a> to help analyze programs. I encourage you, if you haven't already, to take the threading bull by the horns: learn and use the available tools and APIs. Also, here at Aeshen, our developers are creating interesting <a HREF="http://www.aeshen.com/sampleapps/index.html">sample programs</a> that demonstrate different facets of multi-threaded programming. If you have topics you'd like covered in these samples, let us know. We'd like to learn about your technical challenges and how we can better educate developers on multi-threaded programming.</p>
<p>Michael Jeronimo</p>
]]></content:encoded>
			<wfw:commentRss>http://software.intel.com/en-us/blogs/2007/02/22/every-app-is-a-parallel-app-by-michael-jeronimo/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
