作者:Phoenix
Microsoft一名高层昨天表示,软件开发者对多核处理器时代的来临准备不足。
Microsoft软件架构师Herb Sutter在昨天的In-Stat/MDR秋季处理器论坛会议上对台下以硬件厂商为主的观众说,“我来自软件世界,我们需要交流。”
Sutter表示,软件开发社区认识到处理器厂商被迫采用多核设计以应付高速芯片带来的发热问题,但却未能确切了解这样的设计为软件行业带来多少额外工作。
在过去一段长时间里,PC软件性能随着来自INTEL和AMD处理器速度越来越快而不断提高,开发者只需对现有软件程序作轻微改动就能坐观其性能随着硬件性能上升而不断提升。不过,多核设计概念的出现迫使客户端软件世界不得不正视并发性(将单个任务拆分成多个小块以便分别处理之后再重新组合的能力)问题。
Sutter表示,为服务器设计软件的开发者早已解决此难题,因为多核处理器和多路系统在服务器市场已经存在多年,许多这类应用程序已经被设计成多线程以利用系统的并行处理能力。但是,客户端应用程序开发者多年来一直停留在单线程世界,生产所谓的“顺序软件”。
现在的结果是软件开发者必须找出新的开发软件的方法。面向对象编程的兴起增加了汇编语言的复杂性,并行编程也需要新的抽象层次。
Scutter称Microsoft正通过一项Concur Project计划来解决这个问题。这是一个由他领导的内部开发团队,目标是重新定义这类抽象层次并将之与硬件捆绑,让软件重新获得性能随硬件提升而上升的“免费午餐”。不过,所有的软件开发者必须认识到PC软件的设计需要考虑并行性。
另一方面,芯片设计商在设计产品时能将软件开发者考虑在内对事情也有帮助。“硬件的首要着眼点应该是可编程性,而不是速度。别想当然地以为操作系统>