<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://port25.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Port 25: The Open Source Community at Microsoft : Open Source, HPC</title><link>http://port25.technet.com/archive/tags/Open+Source/HPC/default.aspx</link><description>Tags: Open Source, HPC</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 40109.1145)</generator><item><title>Virtualizing Free Linux Distributions in Windows Server 2008 R2</title><link>http://port25.technet.com/archive/2009/08/10/virtualizing-free-linux-distributions-in-windows-server-2008-r2.aspx</link><pubDate>Tue, 11 Aug 2009 00:00:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:27125</guid><dc:creator>Peter Galli</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=27125</wfw:commentRss><comments>http://port25.technet.com/archive/2009/08/10/virtualizing-free-linux-distributions-in-windows-server-2008-r2.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;Jason Perlow, a columnist over at ZDNet, has written a comprehensive review on virtualizing free Linux distributions in Windows Server 2008 R2. &lt;/P&gt;
&lt;P&gt;In his &lt;A class="" href="http://blogs.zdnet.com/perlow/" target=_blank mce_href="http://blogs.zdnet.com/perlow/"&gt;Tech Broiler&lt;/A&gt; column, Perlow notes that the updated &lt;A class="" href="http://en.wikipedia.org/wiki/Hyper-V" target=_blank mce_href="http://en.wikipedia.org/wiki/Hyper-V"&gt;Hyper-V bare-metal hypervisor virtualization layer&lt;/A&gt; in Microsoft's upcoming &lt;A class="" href="http://www.microsoft.com/windowsserver2008/en/us/R2-Download.aspx" target=_blank mce_href="http://www.microsoft.com/windowsserver2008/en/us/R2-Download.aspx"&gt;Windows Server 2008 R2&lt;/A&gt;, which is due to be released August 14th to MSDN and Technet customers, now has support for SUSE Linux Enterprise Server 11 and Red Hat Enterprise Linux 5.3. &lt;/P&gt;
&lt;P&gt;"Additionally, Linux support and performance has greatly improved over the initial Hyper-V release. Microsoft also recently released its Hyper-V &lt;A class="" href="http://port25.technet.com/archive/2009/07/20/the-hyper-v-linux-integration-components.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/07/20/the-hyper-v-linux-integration-components.aspx"&gt;Linux Integration Components&lt;/A&gt; (Linux ICs) under the GPLv2 Open Source License," Perlow says.&lt;/P&gt;
&lt;P&gt;The Linux ICs for Hyper-V, which are in Release Candidate status, provide synthetic device drivers that enhance I/O and networking performance when Linux OSes are virtualized under Hyper-V. &lt;/P&gt;
&lt;P&gt;"The source code for the &lt;A class="" href="http://port25.technet.com/archive/2009/07/20/microsoft-contributes-linux-drivers-to-linux-community.aspx" target=_blank mce_href="http://port25.technet.com/archive/2009/07/20/microsoft-contributes-linux-drivers-to-linux-community.aspx"&gt;Linux IC's&lt;/A&gt; were accepted into the &lt;A class="" href="http://www.linuxdriverproject.org/twiki/bin/view" target=_blank mce_href="http://www.linuxdriverproject.org/twiki/bin/view"&gt;Linux Driver Project&lt;/A&gt; and should become part of the Linux Kernel within two subsequent releases and code merges - 2.6.32 is expected to be when they will be integrated, and all Linux distributions using that kernel code base going forward should be Hyper-V enabled out of the box. Yes, you heard that correctly, Microsoft is now an official Linux Kernel contributor," Perlow says.&lt;/P&gt;
&lt;P&gt;You can read the rest of Perlow's column &lt;A class="" href="http://blogs.zdnet.com/perlow/?p=10830" target=_blank mce_href="http://blogs.zdnet.com/perlow/?p=10830"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=27125" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Virtualization/default.aspx">Virtualization</category><category domain="http://port25.technet.com/archive/tags/HPC/default.aspx">HPC</category><category domain="http://port25.technet.com/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Linux/default.aspx">Linux</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category><category domain="http://port25.technet.com/archive/tags/Peter+Galli/default.aspx">Peter Galli</category></item><item><title>Real Mission Critical</title><link>http://port25.technet.com/archive/2009/06/01/real-mission-critical.aspx</link><pubDate>Mon, 01 Jun 2009 16:15:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:26025</guid><dc:creator>Mark Stone</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=26025</wfw:commentRss><comments>http://port25.technet.com/archive/2009/06/01/real-mission-critical.aspx#comments</comments><description>&lt;p&gt;The 1.0 release of &lt;a href="http://winbioinftools.codeplex.com" mce_href="http://winbioinftools.codeplex.com"&gt;WinBioinfTools&lt;/a&gt; might seem like a modest event; as of this writing, the project has&lt;br&gt;44 downloads. High Performance Computing (HPC) is a small community, granted, and the number of HPC&lt;br&gt;applications for bioinformatics is a small subset of that. Let's not confuse popularity with importance,&lt;br&gt;however.&lt;br&gt;&lt;br&gt;We use the phrase "mission critical" very frequently and somewhat casually within software development. In&lt;br&gt;talking to a friend about the swine flu outbreak, I was reminded that the phrase has its origin in &lt;br&gt;military history: an aspect of a mission so critical that failure in that aspect would result in the&lt;br&gt;loss of life. In the developing world where medical infrastructure can be a fragile thing, information about&lt;br&gt;the origins or genetic makeup of a virus can be vital. It can be mission critical.&lt;br&gt;&lt;br&gt;Historically, the developing world has been dependent on developed western countries to do their research for them.&lt;br&gt;Open source is beginning to level that playing field, though. Using a cluster environment and software&lt;br&gt;projects like &lt;a href="http://toolcoconut.org" mce_href="http://toolcoconut.org"&gt;CoCoNUT&lt;/a&gt; for gene sequencing and comparison, even university research centers with modest x86 &lt;br&gt;server environments can play in the HPC space. This is important because the research priorities for a&lt;br&gt;university in a developing country may be very different from the research priorities of a major western&lt;br&gt;research university. At its best, this is exactly the kind of lowering of barriers to entry that open &lt;br&gt;source should facilitate.&lt;br&gt;&lt;br&gt;For all its value, CoCoNUT has two significant limitations. Its license is an academic license, not a fully&lt;br&gt;open source license. And it runs only on Linux/Unix systems. The latter is particularly important. Research&lt;br&gt;scientists are not IT professionals, and they should not have to care about the underlying platform on which&lt;br&gt;their software runs. The spirit of open source is to make software as widely available as possible, and there&lt;br&gt;is no way to meet that spirit without including Windows Server among the target platforms. Mission critical&lt;br&gt;demands no less.&lt;br&gt;&lt;br&gt;So WinBioinfTools makes important steps forward on both fronts. The team at Nile University has released a&lt;br&gt;GPL-licensed project that "contains a number of programs for Bioinformatics running over Windows Cluster running &lt;br&gt;Windows HPC server 2008. The current version includes the CoCoNUT system for pairwise genome comparison, &lt;br&gt;parallel global sequence alignment, and parallel BLAST."&lt;br&gt;&lt;br&gt;This is a great example of a local software community using open source to make their needs a priority, &lt;br&gt;and delivering a project that will benefit local software communities in other developing countries with&lt;br&gt;similar needs. WinBioinfTools puts us one step closer to making scientific computing software platform &lt;br&gt;neutral, and closer to making Windows Server a first class citizen in the open source world of HPC.&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=26025" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Codeplex/default.aspx">Codeplex</category><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</category><category domain="http://port25.technet.com/archive/tags/HPC/default.aspx">HPC</category><category domain="http://port25.technet.com/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category></item><item><title>Brazilian Students Set Their Own Course</title><link>http://port25.technet.com/archive/2009/03/16/brazilian-students-set-their-own-course.aspx</link><pubDate>Mon, 16 Mar 2009 19:05:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:24460</guid><dc:creator>Mark Stone</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=24460</wfw:commentRss><comments>http://port25.technet.com/archive/2009/03/16/brazilian-students-set-their-own-course.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;I’m going to tell a story that starts in Indiana, but really it’s about Brazil.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Once upon a time “scientific computing” was nearly synonymous with “Fortran”. Today, though, just about any high level language can be used to write High Performance Computing (HPC) applications. These days that language choice also includes C#.&lt;/P&gt;
&lt;P mce_keep="true"&gt;At &lt;A href="http://www.iu.edu/" mce_href="http://www.iu.edu/"&gt;&lt;FONT color=#0000ff&gt;Indiana University&lt;/FONT&gt;&lt;/A&gt;, the &lt;A href="http://www.osl.iu.edu/" mce_href="http://www.osl.iu.edu/"&gt;&lt;FONT color=#0000ff&gt;Open Systems Lab&lt;/FONT&gt;&lt;/A&gt; has pioneered work to implement Message Passing Interface (MPI) support for .Net, so that MPI applications can be written in C#. The project is &lt;A href="http://www.codeplex.com/mpinet" mce_href="http://www.codeplex.com/mpinet"&gt;&lt;FONT color=#0000ff&gt;MPI.Net&lt;/FONT&gt;&lt;/A&gt;, and you can find it on &lt;A href="http://www.codeplex.com/" mce_href="http://www.codeplex.com/"&gt;&lt;FONT color=#0000ff&gt;Codeplex&lt;/FONT&gt;&lt;/A&gt;. It is open source, about three years old, has reached a 1.0 release, and is compatible with two other important open source projects, &lt;A href="http://www.open-mpi.org/" mce_href="http://www.open-mpi.org/"&gt;&lt;FONT color=#0000ff&gt;OpenMPI&lt;/FONT&gt;&lt;/A&gt; and &lt;A href="http://www.mono-project.com/" mce_href="http://www.mono-project.com/"&gt;&lt;FONT color=#0000ff&gt;Mono&lt;/FONT&gt;&lt;/A&gt;. The principle developers behind the project are Andrew Lumsdaine at Indiana University and his former student, Douglas Gregor, who is now on the faculty of Rensselear Polytechnic Institute.&lt;/P&gt;
&lt;P mce_keep="true"&gt;This is the kind of open source work that’s really exciting to see because of the way it expands choices for the developer and the end user. A C# developer should not be closed off from writing HPC applications if that’s what they want to do. And a research scientist should not have to think about whether their lab is running Linux or Windows Server. Both of these individuals are working enough layers above the operating system that somebody else’s operating system choice should not be a constraint.&lt;/P&gt;
&lt;P mce_keep="true"&gt;So I was very excited to learn that students in Brazil at Federal University of Rio Grande do Sul were doing work on MPI, and excited to talk with them about their work. One of their projects is &lt;A class="" href="http://www.codeplex.com/mpihash" mce_href="http://www.codeplex.com/mpihash"&gt;MPI#&lt;/A&gt;, also open source and also hosted on &lt;A class="" href="http://www.codeplex.com/" mce_href="http://www.codeplex.com"&gt;Codeplex&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;MPI# builds on top of the work of MPI.Net, adding some functionality not yet present in MPI.Net. Specifically, quoting from the project description:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;EM&gt;The goals of this project would be to build upon MPI.NET in order to complement it with the features that are missing, mainly regarding collective communication. Either they could benefit from C# native support for such communication, either they could be programmed on top of the provided MPISend/MPIRecv encapsulations. C# and .NET features such as fault tolerance or dynamicity support would be studied, in other to turn the MPI# implementation robust in large, dynamic and heterogeneous platforms.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;Two of the students working on MPI# are Ismael Stangherlini and Fernando Afonso. They are graduate students in computer science, working on projects affiliated with the &lt;A class="" href="http://www.codeplex.com/NDOS" mce_href="http://www.codeplex.com/NDOS"&gt;Brazilian Interoperability and Open Source Software Development Nucleous&lt;/A&gt;. When I talked to them about their work on MPI# I was curious what their communication with Indiana University had been like. Their response: they had never been in contact with Indiana University; they simply downloaded the code for MPI.Net and started working on their own.&lt;/P&gt;
&lt;P mce_keep="true"&gt;That’s the magic of open source: that they can, in fact, just download the code on their own and start coding against it. They may make an important contribution to MPI.Net. Or their code may be entirely disregarded. Or they may move on to other projects and somebody else may or may not pick up where they left off. At this stage it’s too early to tell. But the fact that all of these scenarios are possible demonstrates why, as a methodology, open source is so nimble and adaptive. A top-down product development process, or a top-down standards development process can only execute on the innovations envisioned by the few at the top, and at the speed of the slowest decision-makers in the process. But a bottom-up open source process enables every innovation that anyone at the grass roots level can see.&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=24460" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Codeplex/default.aspx">Codeplex</category><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</category><category domain="http://port25.technet.com/archive/tags/Mono/default.aspx">Mono</category><category domain="http://port25.technet.com/archive/tags/HPC/default.aspx">HPC</category><category domain="http://port25.technet.com/archive/tags/Standards/default.aspx">Standards</category><category domain="http://port25.technet.com/archive/tags/.NET+Development/default.aspx">.NET Development</category><category domain="http://port25.technet.com/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category></item><item><title>Is High Performance Computing naturally Open Source (ie. for tinkerers)? </title><link>http://port25.technet.com/archive/2008/06/18/is-high-performance-computing-naturally-open-source-ie-for-tinkerers.aspx</link><pubDate>Wed, 18 Jun 2008 13:17:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:19607</guid><dc:creator>anandeep</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=19607</wfw:commentRss><comments>http://port25.technet.com/archive/2008/06/18/is-high-performance-computing-naturally-open-source-ie-for-tinkerers.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;I have always been fascinated by clusters.&amp;nbsp; Some people envision working with desktops or workstations when they think of “working with computers”.&amp;nbsp; For me working with computers was always with a large collection of computers in a back room somewhere.&amp;nbsp; And how cool if you could make all those computers collaborate with each other working to solve cool things like genome mapping, movie special effects, simulations of car crashes or simulations of molecules being formed! &lt;/P&gt;
&lt;P mce_keep="true"&gt;So you can imagine I jumped at the chance to work with the Windows High Performance Computing team.&amp;nbsp; This is the same team that builds&amp;nbsp; Windows HPC Server 2008.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;I think most of the people working in the team are from the “large collection of computers in back room somewhere” school. Would be really different in the Mac software division I assume! &lt;/P&gt;
&lt;P mce_keep="true"&gt;I work with the Open Source Software Lab and we are all things “Open Source” to the rest of the company.&amp;nbsp; The HPC Server team wanted us to make sure that their product played nice with Linux infrastructure and vice-versa.&amp;nbsp; The usual suspects like AD, Samba, LDAP. CIFS etc were involved.&amp;nbsp; We had to make sure that these recurrent interoperability themes were addressed in the HPC environment.&amp;nbsp;&amp;nbsp; I also got a chance to dig into ROCKS, OSCAR, MPI stacks and job schedulers etc etc.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;This was a very rewarding experience not only for the technology exposure that I got but the pervasiveness of knowledge of Open Source within the team.&amp;nbsp; They were far ahead of the other product groups in this regard and&amp;nbsp; “got” the Open Source ethos. In fact, prior to my interactions with them they had released an open source MPI stack based on Argonne National Lab’s MPI implementation.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;The other reason was that a lot of their customers were relentlessly open source!&amp;nbsp; The conventional wisdom is that HPC applications and infrastructure require a lot of tinkering.&amp;nbsp; Of course, there are some applications like FEM and CFD and that are well understood, but the general feeling was that complete control and access to the underlying infrastructure is a must for getting the most performance out of a cluster.&amp;nbsp; And performance is the main thing in “High Performance Computing”.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;Linux is seen providing that access by HPC customers and there is a large base of Linux for HPC in academia, the national labs and other institutions that use large clusters for doing their thing. &lt;/P&gt;
&lt;P mce_keep="true"&gt;But is this really true?&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;I think that HPC has gone through a typical evolution – it starts with a few people who have a pressing need.&amp;nbsp; There is a cross disciplinary team formed that builds software to do their job and a community grows around it.&amp;nbsp; The community reaches critical mass and people start making building tools to make it more convenient.&amp;nbsp; ROCKS is an example of this.&amp;nbsp; Great skill, knowledge and ability is needed to get the job done.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;However, these skilled people now become overloaded.&amp;nbsp; The tools and the infrastructure that they created become so popular that everyone, including people who do not have background that was assumed before, wants to use it for their ends.&amp;nbsp; So the community responds and builds standardized, easy-to-use infrastructure pieces that start to fit seamlessly together.&amp;nbsp; Some control is lost, but ease-to-use is the primary focus.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The infrastructure for HPC has reached that stage (ROLLS with ROCKS). Windows HPC Server 2008 is built for this ease-of-use too.&lt;BR&gt;&amp;nbsp; &lt;BR&gt;However, the applications have not reached the stage of ease-of-use.&amp;nbsp; They have to be coded with a lot of domain knowledge and have to built from scratch to truly scale while running on clusters.&amp;nbsp; That means that the application writers demand more control of the underlying infrastructure and want more access to it than the users and maintainers want.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;I am going out on a limb and making a prediction here – soon end users will be able to specify instead of coding applications, be it genome comparison or physics simulation.&amp;nbsp; This is similar to accountants finding spreadsheets.&amp;nbsp; There will probably be a few different models for different types of applications but that stage will come pretty quickly.&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;The infrastructure that runs these user-specified applications will be adaptive and will take these specifications and automatically tune them for high performance on the clusters.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;This is where the perception of needing control to the lowest levels will be moot.&amp;nbsp; The best adaptive infrastructure will be the one adopted. &lt;/P&gt;
&lt;P mce_keep="true"&gt;Bold enough for you?&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=19607" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Anandeep/default.aspx">Anandeep</category><category domain="http://port25.technet.com/archive/tags/HPC/default.aspx">HPC</category><category domain="http://port25.technet.com/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category></item><item><title>Code Parallel or Die, Part 2</title><link>http://port25.technet.com/archive/2008/04/15/code-parallel-or-die-part-2.aspx</link><pubDate>Tue, 15 Apr 2008 19:40:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:16113</guid><dc:creator>Frank Chism</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=16113</wfw:commentRss><comments>http://port25.technet.com/archive/2008/04/15/code-parallel-or-die-part-2.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&lt;STRONG&gt;It’s multicore time. Do you know where your parallelism is?&lt;BR&gt;&lt;/STRONG&gt;Do you know where your parallelism is? Well you better find it! This is because you must or your users will not see the doubling of performance that they have seen for the last seven or eight generations of microprocessors. Why? Well the chip makers ran out of physics, clocks just couldn’t go a lot faster every few months the way they used to and more cores, even if they double or triple the performance of the processor do not lead to a faster feeling system if all the applications are serial. So, is your application serial? It better not be.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;BR&gt;Two examples from my own life demonstrate the user and buyer frustration we are about to hit head on. First my sister, a long time Mac user, bought a new dual socket dual core Mac. On paper this system was easily three to five times “more powerful” then her previous system, a dual processor Mac. Her first complaint was, “It doesn’t feel faster. It certainly doesn’t feel ‘wicked fast’ compared to my five year old system.” I pointed out to her that what she had was more power, not more ‘faster’. I told her to try doing more than one thing at once. It took awhile for her to get the hang of this, but one day recently she called and started raving about how ‘powerful’ her new system was compared to her old one. What she had learned how to do was to get three or four long running tasks to run in the background while continuing to do her interactive day to day tasks &lt;EM&gt;without any noticeable degradation in interactive performance&lt;/EM&gt;!&lt;/P&gt;
&lt;P mce_keep="true"&gt;As a second example, for Christmas I built my wife a new dual core system because she was complaining about her system being too slow and crashing all the time. It was a thing of beauty with twice the CPU, twice the memory, and five times the capacity and twice the bandwidth of her old disks. The processor was two generations newer with a 20% faster clock and over four times the memory bandwidth. I was ready for a big hug and profuse thanks for my intelligence and craftsmanship. Boy was I in for a disappointment. What I got was, “It isn’t any faster.” I am a victim of the core war!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;The lights are on, but there’s no parallel home.&lt;/STRONG&gt;&lt;BR&gt;Well my personal tragedy was nothing compared to what will happen to any software developer or corporation that depends on their fortune or fame to flow from people using their product and liking the experience. That is, it will be tragic for those who do not start to think parallel for every step of every phase of every program that they write and design in parallel not try to graft it in afterwards. Just as with security, and network awareness, you don’t get good results trying to add in parallel later. You must start in parallel and continue in parallel and only go serial as a last drastic measure and then only for the shortest possible time. Sadly, even in my own backyard of High Performance Computing the number of programs that have tried to graft in parallel rather than design it in is appalling. What they end up with is often what I call the ‘Silence of the Lames’. That is, a lame parallel port that doesn’t scale or doesn’t speed up their program nearly as much as is possible.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Now you might say that this only works for scientific programs with massive amounts of data. Well, sorry Charlie, if your product is something as ‘serial’ as a document processing program like Microsoft Word, you had better be thinking how you can use those extra cores to improve the user experience. Why? Well as I said in the beginning: Code parallel or die! &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;For the want of a nail, the shoe was lost; for the want of a shoe the horse was lost; and for the want of a horse the rider was lost, being overtaken and slain by the enemy, all for the want of care about a horseshoe nail.&lt;/STRONG&gt;&amp;nbsp;&lt;EM&gt; - Benjamin Franklin&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P mce_keep="true"&gt;That’s all for now. I enjoyed writing this and hope to hear from some of you about what you think of my ‘Parallel Imperative’ and what you can personally do about it.&lt;BR&gt;So, never stop studying and I’ll blog at you later.&lt;/P&gt;
&lt;P mce_keep="true"&gt;- Frank&lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=16113" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/HPC/default.aspx">HPC</category><category domain="http://port25.technet.com/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://port25.technet.com/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/Dev+Center/default.aspx">Dev Center</category><category domain="http://port25.technet.com/archive/tags/App/default.aspx">App</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</category><category domain="http://port25.technet.com/archive/tags/Frank+Chism/default.aspx">Frank Chism</category></item></channel></rss>