微软的面对并行计算的解决方案
面对多核时代的到来,最为全球最大的软件公司,微软当然不会坐着等天上掉馅饼。在上图中我们可以看到,微软为并行计算提供了完整的解决方案。

图2,微软对并行计算的支持
首先在开发工具上,在即将发布的Visual Studio 2010中,它提供了并行计算调试工具和性能分析工具,开发者可以利用这些工具轻松地完成应用程序的并行化工作。在库的层次上,针对非托管代码,微软提供了Parallel Pattern Library(PPL)和Agent Library,而对于托管代码,微软则在.NET Framework中提供了丰富的并行计算扩展,其中包括Parallel LINQ(PLINQ),Task Parallel Library(TPL)和Coordination Data Structures,在运行时层次上,有使用非托管代码开发应用程序时可用的并发运行时(Concurrency Runtime),也有托管代码的任务调度器(Task Scheduler)。有了这些丰富的开发工具,函数库和运行时的支持,我们可以轻松地将合适的业务逻辑并行化,从而充分地利用多核心CPU的性能。
除了上文所提到的微软应对并行计算的解决方案,实际上,微软在并行计算开发的整个生命周期,都提供了相应的工具和Framework对其进行很好的支持,从设计和建模到应用程序的调试,从应用程序的性能优化到最后的性能验证。

图3,完整的生命周期支持
总之,借助Visual Studio 2010所泰来的微软并行计算解决方案,我们可以轻松实现软件的并行化,充分利用多核CPU所带来的性能提升,从而再次吃上“免费的午餐”。