微软和 Intel 最近宣布在未来 5 年内联合投资 2 千万美元到并行计算领域。这笔资金将由 University of California Berkeley 和 University of Illinois 的两家并行计算研究中心获得。同时 Berkeley 和 University of Illinois 会分别向各自的研究中心投入 7 百万和 8 百万美元。
这个研究计划的目的是发展出能更有效地在多处理器系统上运行的软件,它是多核处理器潮流发展的结果。如果把工作分布到多个核心或者多个处理器上,那么多项任务就可以同时执行。UC Berkeley 的研究人员在一份白皮书中断言:
现在的常规想法是每一代芯片都把核心数量翻一倍。[……] 我们的看法是对于 2 到 8 个处理器的系统来说,用这种方式实现并行的软硬件是可行的,但当处理器数量达到 16 到 32 个的时候,就很可能遇到收益递减的瓶颈,正如在指令级实现并行化的情况。 [本项研究] 的目标应该是每个芯片超过 1000 个核心。
微软和 Intel 都有各自的并行计算研究项目,这次联合起双方的力量是为了确保位将来多核技术带来的强大计算能力做好准备。Intel 的万亿规模计算研究项目就把目标放在制造出数百个核心的处理器。但如果在处理器上运行的软件伸缩性不佳,即使芯片有100 个核心也没多大帮助。Microsoft 因此也拿出了 Parallel Computing Initiative 。按照公司副总 S. Somasegar 的说法,它会“在发展过程中贯彻并行计算的远景、策略和创新,实现完全个人化的计算体验,驾驭多核架构的计算能力”。
微软并行计算开发者中心的第一项成果是 Parallel Extensions to .NET Framework 3.5, CTP ,这个类库可以为使用任何一种.NET 语言编写的程序增加并发支持。
Parallel Extensions 是一个托管编程模型,用于数据并行化和任务并行化,并可对统一在共同的工作调度程序之下的并行硬件进行协调。. Parallel Extensions 使开发者更容易编写出充分发挥并行硬件的优势的程序,不但能随着核心及处理器数量的增长而提高性能,而且避免了许多旧有并发编程模型的复杂性。
微软的 Parallel Computing Initiative 还有另一项成果,就是 PLINQ(Parallel LINQ)。它使 LINQ 能对数据库进行多个并行的查询,请参阅 InfoQ 过去的 Microsoft, Intel to invest $20M in parallel computing
评论