论文部分内容阅读
并行计算一度是高性能计算(HPC)的同义词,但是现在它的含义有必要拓展一下了。在处理器多核化成为趋势后,并行思维被置于前所未有的高度,并且扩展到通用的企业级及消费类应用。现在,并行计算更是拓展到了嵌入式领域。
几年来,处理器厂商和软件厂商都在努力发展并行计算,持续投入研究;软件开发人员更是在危机意识与拥抱机遇的双重驱动下密切关注并行计算。高校也开始培养并行思维。现在,阶梯式发展的软件正处于完全变革前的爬坡阶段。
在多核环境下,不仅操作系统需要改造、优化甚至重新设计,应用程序同样需要从串行编程向并行编程过渡。然而,传统的两种并行编程模型存在严重缺陷,应用开发人员目前最期待的就是获得简单易用的并行编程语言和编程环境。
在并行计算的倡导者当中,英特尔担起了牵头者的重任。尽管按照安迪·比尔定律(软件很快会耗尽硬件性能),似乎倡导并行计算应该是软件厂商更热衷的事。但是,只有有效实现并利用较高的线程并行度,多核的潜能才能被充分释放出来。英特尔希望这一进程能再快些。
“帮助开发者提高软件性能,是英特尔在软件开发和并行编程领域的工作重心和必然选择。”英特尔首席软件讲师兼软件开发产品总监仁达敬(James Reinders)在接受本报记者采访时说。
爆炸性增长的数据需要更多的核和更多的并行化应用来处理,这使得原有的一些串行应用程序遇到了性能瓶颈。仁达敬认为:“应对挑战的手段就是并行化应用程序。原有的串行编程已走进了死胡同,将来的趋势一定是并行编程无处不在。”
英特尔在工具软件方面,为并行编程面对的HPC、消费及嵌入式应用、通用Windows应用都做好了准备。“针对HPC的英特尔集群工具可以将计算扩展到上千个处理器;英特尔并行开发套件也完全满足了在Windows上开发应用的并行编程需求。”仁达敬说。
并行编程虽难,但也有事半功倍的办法。在仁达敬看来,并非所有并行编程都是成功的,原始线程模式、不可移植的并行扩展模式以及非标准的并行扩展模式都很难保证并行编程的三大要求——可靠性、扩展性、保护投资。他给出的建议是:使用英特爾开发的多线程构建模块(TBB)、并行开发套件、编译器以及多线程检查器。TBB已于5月5日推出了3..0版本。
对于应用前景,仁达敬很自信,“2006年我们开发了面向任务编程的TBB并使之开源,中国很多学者很快接受了这种并行编程的新技术,并且引入了很多行业。TBB在真实应用中实现了出色的性能提升。
Autodesk媒体和娱乐事业部产品总监Kevin Tureski用亲身应用证实了仁达敬的观点。“我们使用了TBB,使Maya应用在英特尔8核处理器上实现了7倍的性能提升。这样的超过1000万行C 代码的大型应用做多线程化可是一件极困难的事。”
在三大要求的基础上,英特尔软件确立了今年将在并行领域要做的三件大事:“扩充TBB的并行编程模式,将扩充的模式和新功能加入英特尔并行开发套件,将套件中的创新功能引入传统的英特尔高性能软件当中。”仁达敬说,在未来,英特尔收购获得的相关新技术CILK,以及英特尔中国研究院面向众核应用开发的Ct技术都将陆续产品化,为并行编程增添新动力。
几年来,处理器厂商和软件厂商都在努力发展并行计算,持续投入研究;软件开发人员更是在危机意识与拥抱机遇的双重驱动下密切关注并行计算。高校也开始培养并行思维。现在,阶梯式发展的软件正处于完全变革前的爬坡阶段。
在多核环境下,不仅操作系统需要改造、优化甚至重新设计,应用程序同样需要从串行编程向并行编程过渡。然而,传统的两种并行编程模型存在严重缺陷,应用开发人员目前最期待的就是获得简单易用的并行编程语言和编程环境。
在并行计算的倡导者当中,英特尔担起了牵头者的重任。尽管按照安迪·比尔定律(软件很快会耗尽硬件性能),似乎倡导并行计算应该是软件厂商更热衷的事。但是,只有有效实现并利用较高的线程并行度,多核的潜能才能被充分释放出来。英特尔希望这一进程能再快些。
“帮助开发者提高软件性能,是英特尔在软件开发和并行编程领域的工作重心和必然选择。”英特尔首席软件讲师兼软件开发产品总监仁达敬(James Reinders)在接受本报记者采访时说。
爆炸性增长的数据需要更多的核和更多的并行化应用来处理,这使得原有的一些串行应用程序遇到了性能瓶颈。仁达敬认为:“应对挑战的手段就是并行化应用程序。原有的串行编程已走进了死胡同,将来的趋势一定是并行编程无处不在。”
英特尔在工具软件方面,为并行编程面对的HPC、消费及嵌入式应用、通用Windows应用都做好了准备。“针对HPC的英特尔集群工具可以将计算扩展到上千个处理器;英特尔并行开发套件也完全满足了在Windows上开发应用的并行编程需求。”仁达敬说。
并行编程虽难,但也有事半功倍的办法。在仁达敬看来,并非所有并行编程都是成功的,原始线程模式、不可移植的并行扩展模式以及非标准的并行扩展模式都很难保证并行编程的三大要求——可靠性、扩展性、保护投资。他给出的建议是:使用英特爾开发的多线程构建模块(TBB)、并行开发套件、编译器以及多线程检查器。TBB已于5月5日推出了3..0版本。
对于应用前景,仁达敬很自信,“2006年我们开发了面向任务编程的TBB并使之开源,中国很多学者很快接受了这种并行编程的新技术,并且引入了很多行业。TBB在真实应用中实现了出色的性能提升。
Autodesk媒体和娱乐事业部产品总监Kevin Tureski用亲身应用证实了仁达敬的观点。“我们使用了TBB,使Maya应用在英特尔8核处理器上实现了7倍的性能提升。这样的超过1000万行C 代码的大型应用做多线程化可是一件极困难的事。”
在三大要求的基础上,英特尔软件确立了今年将在并行领域要做的三件大事:“扩充TBB的并行编程模式,将扩充的模式和新功能加入英特尔并行开发套件,将套件中的创新功能引入传统的英特尔高性能软件当中。”仁达敬说,在未来,英特尔收购获得的相关新技术CILK,以及英特尔中国研究院面向众核应用开发的Ct技术都将陆续产品化,为并行编程增添新动力。