英特尔王文汉:软件产业的未来动力

真正意义的连接全球的互联网,尤其是以Web为代表的面向大众的互联网从诞生到现在不过仅仅十余年的时间,但是却取得了辉煌的成功。

美国知名市场研究公司IDC近日发表的报告称,2008年期间,全球经常使用互联网的用户将达到14亿,约占全球总人口的四分之一;到2012年时,全球网民总数量(以独立访问用户量为标准)将超过19亿,将近全球总人口的三分之一。另一方面,截至2008年6月底,中国网民数量达到了2.53亿,首次超过美国,跃居世界第一位。我国网民、宽带网民和国家域名的数量均已位居世界第一。

庞大的用户数量和丰富的应用使得互联网软件应用环境发生了巨大的变化。

软件产业的新推动力

目前,桌面互联网还占有统治地位,但随着移动通信网对数据支持能力的提升,传统互联网的业务开始逐渐向移动网络拓展。桌面互联网的普及和移动互联网的崛起使得计算产业正在从以单机为主要载体的个人计算逐渐向以PC、智能联网终端、手机等混合载体的计算模式转移。

这种混合计算模式给计算行业带来了多方面的影响:一方面,在桌面端和数据中心,对大量复杂计算和三维应用的支持使得人们对超出过去数倍甚至数十倍性能的高性能计算需求越来越旺盛,多核计算正以前所未有的速度快速普及。

另一方面,三维互联网体验正在对人们工作、通信和娱乐的模式产生着革命性的改变。类似iPhone的多点触控等新型交互技术正日益丰富着互联网终端用户的体验,手持设备功能和性能正日益丰富和强大,而互联的可视化计算正在迅速成长,并将在未来10年逐渐成为“杀手级应用”。

在这种复杂的背景下,软件产业也正从过去孤立和单一的生态环境逐渐转移到日益复杂和互溶的生态环境。在桌面端,以SOA为核心架构的Web服务正在逐渐普及。互联网应用的快速部署和灵活性需求导致了SOA这样的分层部署和模块化软件技术得到了空前的活跃和发展,而SaaS为丰富的互联网应用提供了灵活和有效的呈现手段。同时,面向互联网的新型分布式计算模式云计算也应运而生。SOA和云计算对虚拟化技术的发展起到了推波助澜的作用。软件虚拟化和能够更充分利用硬件计算资源的硬件虚拟化技术开始蓬勃地发展起来。SOA、虚拟化和SaaS都应用了软件抽象层概念,这也表明了软件技术的一个重要发展方向。

而在产业层面上,开源正成为产业发展的新浪潮。

除了Linux早已经在互联网网站操作系统中占据核心地位以外,在云计算、虚拟化、手机操作系统等等多个热门的词汇中,人们都可以发现开源的身影。而开源也开始越来越多地与英特尔、IBM、微软、谷歌、甲骨文、诺基亚等业界领先的IT和互联网公司出现在一起。

在手机和手持移动终端平台,英特尔 和谷歌先后推出了Android和Moblin开源操作系统,诺基亚也将目前占有智能手机操作系统首位的Symbian系统开源化。一股开源的浪潮正席卷业界。

软件构建均衡计算环境

40年来,在摩尔定律的指引下,IT产业取得了突飞猛进的发展。不过,尽管半导体产业已经进入45纳米时代,一个芯片上已经集成了超过10亿个晶体管,但依然不能充分满足应用的需求。IT产业在经历了前期硬件为王的阶段后,迫切需要软件产业的创新来迎合和充分利用和挖掘硬件的性能。

一方面,芯片主频受发热等条件的限制不可能无限制地提升,多核和并行计算已经成为产业发展的必由之路。不过,与多核硬件相比,并行计算在软件方面面临的挑战更为严峻。

并行计算面临两方面的挑战:如何更好地发挥多核硬件的性能是并行计算要解决的最主要问题,程序需要找到更多可以并行的部分并有效地实现硬件执行,这样在编译器、函数库、多线程工具、调试器方面就存在着巨大的创新空间;而对于并行编程来说可能面临的一个更大的障碍是:主要面向单核的串行编程转向面向多核的并行编程模式面临着极大的观念和技术挑战,很多开发人员缺乏并行编程的基本概念、经验和辅助工具,有一定的畏难情绪。这也决定了通过软件和硬件结合的平台创新是解决并行化难题的唯一可行之路。英特尔在未来的处理器硬件中将加入AVX指令集扩展,以更好地适应新型大规模并行浮点计算应用的需求,而通过并行软件工具降低了并行开发的难度,缩短开发时间,帮助开发人员平滑地由串行向并行开发过渡。

另一方面,经历了从专注于静态信息展示的Web 1.0到强调互动社区的Web 2.0,互联网下一步将走向提供更丰富和更真实体验的崭新时代,在这种背景下,互联的嵌入式和可视计算浪潮正逐渐兴起。

根据英特尔公司的初步预测,互联可视计算应用需要将服务器性能提高10倍,在客户端,CPU性能需要提高3倍,GPU则需要提高20倍,而网络传输带宽则面临更大的挑战,需要提高100倍,其中最大的带宽限制则存在于从服务器到客户端环节。

面对这种挑战,业界多家公司已经开始积极着手准备。英特尔未来将要推出一种名为Larrabee的采用IA架构的通用GPU,保持了软件开发的统一编程模式,避免了采用一般CPU/GPU混合模式采用不同编译器给软件开发的性能和复杂性带来的负面因素。Larrabee是用于可视计算的崭新架构,是一款试图融合CPU和GPU理念的产品, 在架构设计上,将GPU的高并行性和CPU的高可编程性结合起来。Larrabee初期主要面向个人电脑图形市场,支持DirectX和OpenGL,能够运行目前的所有游戏和相关程序。除了GPU以外,Larrabee还可以作为特定应用的加速器以支持多种应用。

无论是虚拟化,还是并行化和可视计算,巨大的挑战给软件创新带来了无限的机遇。而结合了软件架构、平台软件和开发者资源的IA(英特尔架构)平台更具有独特的优势:软件架构是充分发挥微处理器尤其是多核处理器优异性能的基础,平台软件则加速了新技术的集成,而开发者资源则为开发者提供了创造成长的空间,也是帮助合作伙伴发现和占有新市场的重要机会,实现合作共赢。

软件助HPC更上一层楼

一直以来,高性能计算(HPC)都走在计算科学技术和应用的最前端。因此,从HPC的技术和走势可以很好地了解和预测全球计算技术和应用的未来发展趋势。

Top 500是目前世界上衡量HPC系统计算性能和效能最为权威的榜单,一直以来都被当作国际HPC发展方向的风向标,在每年的6月和11月更新两次。从最新一期的Top 500排名来看,有两个明显的趋势,一个是异构混合系统逐渐出现,另外一个趋势是商业化的集群系统达到了400套,继续在体系结构上占主导地位。

从最新一期的Top 500排行榜上看,系统采用的主要处理器集中于英特尔、IBM和AMD三家。其中基于IA架构的有375套,占有绝对的优势,基于4核至强处理器的系统更是快速增长,从上期的0套增长到161套。而基于AMD处理器的系统大幅减少,采用Sun和Alpha处理器的机器已经彻底从Top 500上消失。

另一方面,除了采用的硬件系统平台以外,针对集群性能和效率进行优化也是HPC系统性能得以发挥的重要因素。英特尔专门推出了用于高性能计算的集群工具,内部涵盖了英特尔跟踪分析器和跟踪采集器、数学核心函数库、MPI 库和MPI 基准程序等多种集群调试工具,可以帮助集群开发和分析并行应用并优化其性能。在Top500上榜的375套IA系统中就有80套经过英特尔公司集群应用团队的专门优化。

人类对性能的追求是无止境的。英特尔目前正在研究的万亿级计算项目就是要做到在单一芯片上实现万亿级计算能力。要达到这样的计算能力,处理器芯片需要完成从多核(Multicore)到众核(Many core)架构的转变,而并行处理的难度也会变大。可以预想的是,在众核(Many core)时代,软件将发挥更大的作用。