首页 > 范文大全 > 正文

释放多核潜能 挑战仍在并行软件

开篇:润墨网以专业的文秘视角,为您筛选了一篇释放多核潜能 挑战仍在并行软件范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

在刚刚落下帷幕不久的秋季IDF2008上,英特尔再次展示了对未来计算趋势的判断和技术准备。而在中国,多核正处于日益普及的进程当中,其中推动与阻碍的力量是什么?未来的计算模式将是怎样的?英特尔在中国负责研发的掌门人王文汉接受了本报记者采访,分享了下一阶段的发展方向。

多核化的驱动力

据IDC新近的预测,2008年度全球发售的计算机有80%配备了多核处理器,而2009年则将全面实现多核化。王文汉认为,计算的未来一定是以多核为核心展开的。从目前已经明朗的趋势来看,围绕着多核应用,虚拟化、并行化、可视计算和开源软件正在推动着多核继续向前发展。

虚拟化技术方兴未艾,服务器、存储、网络等基础架构的虚拟化逐步在数据中心普及,不仅如此,基于数据中心的桌面虚拟化和应用虚拟化还在将虚拟化优势有力地向桌面终端推进。王文汉认为,其发展基石正是多核,多核处理器才是运行多个操作系统和应用的虚拟化服务器的理想选择。

从单核到双核、四核直到英特尔即将推出的六核至强处理器,其处理能力呈数倍的攀升态势,功耗得到了合理控制,这时的一台多核服务器可以在耗能相当的情况下,处理相当于以前数倍的并发软件任务。虚拟化技术协助处理器,精准地将不同的并发软件任务分配到不同的虚拟机上,更快速、更经济地完成多个并发软件任务的执行。不仅提供足够的性能,英特尔从硬件底层支持虚拟化技术还为提高软件运行效率提供了保证。

从技术发展中可以看到,采用英特尔虚拟化技术的VMM支持的操作系统范围比纯软件VMM解决方案更广泛,除了支持广泛的传统操作系统之外,还支持64位客户操作系统。此外,处理器虚拟化是一种硬件方案,它减少了纯软件VMM的二进制转换过程,节省了相关的性能开销,也使VMM能够按通用标准进行编写,既简化了设计,也提升了虚拟化软件工具的性能。

可视计算也成为业界共识,越来越多的行业都希望实现信息可视。如今,科学计算可视化的应用范围也从最初的科研领域走到了生产领域,比如医学成像、地质勘探、航空航天建模设计、环境科学、地理信息系统等等,不仅如此,可视计算还进入到电影娱乐、仿真游戏等日常生活方面,未来它将与几乎所有应用计算机的用户都紧密相关。王文汉表示,计算机可视方法从简单的3D透视图发展到了虚拟现实,多核处理器同样是实现可视计算的根基。

在秋季IDF2008上,英特尔高级副总裁基辛格介绍了代号为Larrabee的首款基于IA架构的众核处理器,它主要面向个人电脑图形市场,被认为是可视计算跳跃式发展的里程碑。更为重要的意义在于,英特尔架构的一致性和Larrabee架构的众核设计将是开发者尝试的开端,包括科学与工程软件在内的各种高度并行化应用都将获益于Larrabee原生的C/C++编程模型,有望引发整个行业为集成数十个、数百个乃至数千个核心的未来计算机进行软件开发和优化的热潮。

英特尔院士兼万亿级计算研究项目总监Jim Held还提出了互联可视计算应用模式。在这种模式下,用户可以在高度直观、互动的可视界面下在线分享经历和信息。最初的两大应用类型包括虚拟世界、多人网络游戏、3D影院等模拟环境,以及将现实世界图像与数字信息结合以更好地展现周围世界的增强现实。

云计算借力虚拟化

计算模式是多样化的,云计算可谓是当前的热点。有观点认为,在下一个十年里,包括软件、硬件、服务等在内的计算资源将由大众化、个人化、多点化的分布式应用向互联网聚合,计算将由“端”向“云”发展,成为云计算时代。王文汉对云计算的未来趋势表示认同,“云计算是计算模式的一个演进,它更大力度地把资源共享的模式向前推进。”比如中国教育科研网格China Grid网格的各个高校,通过网络Cernet以及China Grid,可以把高校的计算机资源充分、合理、有效地分享。

云计算是处于发展阶段的理念,它综合了网格、并行化等多种技术,而最终它将成为一种随需服务。“网格是比较‘硬’的概念,用户可以知道自己的服务来自于那里,是实实在在的机器,而云计算则被柔化过了,是一种偏‘软’的理念,中间的重要环节就是大力度的虚拟化。”王文汉表示,为了与新的计算模式接轨,英特尔在虚拟化研究方面做了很多工作。“我们不只是硬件对虚拟化支持很好,而且还要在软件方面与主要的虚拟化厂商合作,把他们需要的最底层的关键技术做好,这样有利于云计算服务商快速推进其解决方案。”

云计算所需的虚拟化引入了“抽象层”的概念,它意味着用户无需再去关注哪些资源可用或者有关为了使用它们而必须进行的调整问题。用户只需描述他们所需要的环境资源或工作空间,然后应用就自动运行在网格上,虚拟机和虚拟应用以及分布式的存储设备和网络覆盖,使虚拟工作设备映射到真实的物理资源上。

软件的并行思维

当半导体制造工艺成功实现了多核持续发展的路线之后,软件就成了最大的问题。“语言通常经过10年能慢慢被接受,比如JAVA,它还是单线程语言,多线程语言就更困难了。”王文汉表示,如今业界面临的最大挑战就是将原先仅用于高端应用开发的并行编程方式推广到所有软件开发的过程中,以打造出更多支持多线程并行化运行的应用软件,全面释放多核的性能潜力。

从全球开发者的分布情况来看,从1996年开始,软件开发人员从北美和欧洲转向亚太地区。中国软件人员每年增长比例在23%,为全球最高。同时,软件创新带来的机会也触手可及,在中国,移动办公、移动计算以及视觉计算越来越普及。尤其是视觉计算领域,无论是数字医疗、数字媒体以及金融行业的高端应用还是交互界面、计算建模等,越来越多用户迫切希望开发人员提高产品性能。对于软件来说,性能不只意味着处理速度更快,也需要同时支持更多功能,比如图形、图像更逼真,响应速度更快等。挑战显而易见,软件能否充分利用多核性能?

从传统意义上说,软件并行化往往都在高端领域应用,比如高性能计算领域以及大型事务处理,但现在多核普及,主流软件开发商必然也要转向并行编程。

并行编程成为发挥多核功能的关键。中国的软件开发人员已经意识到软件并行化是大势所趋,但问题是,从传统的串行编程过渡到并行编程,需要花费大量精力,对现有项目也会带来极大挑战。”王文汉说,“英特尔在并行编程领域,在每一个阶段都提供了相关产品,并与现有开发环境兼容,开发人员可以借此提高效率。”Abobe、Autodesk等ISV都在有效利用软件工具做并行编程。

王文汉介绍说,在第一阶段,用英特尔性能分析器先分析一下整个应用在双核或四核机器上面的性能以及运行情况。做完分析后可以用专用库函数去实现需要实现并行化或者是多线程化代码的编程,开发人员不需要再针对这一部分代码做这方面的改写,库本身实现了并行化,只要调用库就可以了。在做完上面两部分工作后,英特尔软件工具可以在第三阶段,也就是纠错阶段调试多线程化和并行化代码,提高软件编程质量。

为使并行编程更加容易和简便,今年年初英特尔了作为开放资源项目的线程构建模块2.0,它是一个C++运行时库,只需较少代码即可实现软件并行化。它还能让开发者编写的程序在不同操作系统平台间方便地移植,并保证开发出的软件在未来硬件平台处理器内核数量增多时,也无需再做任何代码维护工作。前不久,英特尔还了Parallel Studio,其套件分别用于开发、调试和调优并行程序。英特尔Parallel Studio让微软Visual Studio开发人员能更高效地进行多核编程,同时通过提供前向扩展至众核处理器确保开发人员未来的可持续编程能力。

有数据显示,中国的英特尔软件工具试用、活动参加和在线培训的人次数排在全球首位。对于中国软件企业来说,多核平台和由此延伸的并行软件的新特征、新应用可谓是难得的发展契机。