Microsoft wants to make it easier for people and organizations involved in technical computing, or high powered computer applications like weather and financial modeling, to utilize the most powerful machines. Last week, Microsoft announced that a team of more than 500 people is working on making the complicated technology involved in high performance computing easier for users to take advantage of their resources, as well as resources that exist in the cloud.
This new effort is basically about making it simpler for developers to take full advantage of parallel computing, which had been the purvey of programmers in mainframe and clustered environments until multi-core processors went mainstream. These days, multiple cores are the norm rather than the exception, and most software doesn’t take full advantage of the improved architecture of modern processors. Microsoft’s push is to provide developer tools that make programming for parallel processing the norm rather than the exception.
Parallel computing can mean far more than multiple cores, and the new tools will help applications take advantage of clustered environments as well as some of the new cloud offerings like Microsoft’s Windows Azure. Azure allows organizations to rent processing power in a “just in time” model when it doesn’t make sense to build out a high performance infrastructure for short-term needs. In order to get the most out of the investment, applications run on Azure or its competitors will need to be optimized for the parallel environment, which is why Microsoft is working on making better tools available.
Parallel computing has been a part of my life for quite some time; I remember lending the processing power out on my desktops for the SETI@Home project years ago. These days, I work in education, where technical computing is a major part of what we do. Unlike some players in the High Performance Computing (HPC) space, we don’t have the unlimited funds as is the case with oil companies (I still remember the awe I felt when I saw my first Cray while working at Exxon). I can definitely see how renting processing power from Microsoft or IBM could benefit us, particularly for short-term projects that don’t justify investment into dedicated HPC components and infrastructure.
You know that HPC has gone mainstream when Cray is shipping hardware running a Microsoft operating system; but HPC is definitely still a niche market.
Do you have any applications that would benefit from being rewritten to take advantage of new chip architectures? Is HPC even something you think about in your industry? Let us know in the discussion.