MATLAB并行计算:让高性能计算资源的利用更加高效
2009-04-23
作者:余 莲
提起The MathWorks公司,中国的工程师和科学家都不会感到陌生,而MATLAB和 Simulink更是广大工程师和科学家日常工作所离不开的得力工具之一。成立于1984年的The MathWorks公司显然算不上历史悠久,然而仅仅这二十多年的时间,它却迅速走进了工程师和科学家的日常“工具箱”,并发展成为世界领先的科学计算和基于模型设计的软件供应商的领导者。
从统计数字看,The MathWorks公司的客户已经覆盖世界各大洲一百多个国家超过1 000 000名顶级工程师、科学家、数学家和研发人员,他们工作在世界上最先进的技术公司、政府实验室、金融机构以及3 500所大学。庞大的精英用户群体将MATLAB和Simulink应用于不同行业,包括汽车、航空航天、无线通信和数字通信、政府研发、过程工业、电子系统、生物技术、制药业、金融分析、地球与星球科学、仪器仪表制造和能源开发等。
《电子技术应用》作为大量电子技术应用工程师交流研究成果的专业性平台,对于MATLAB自然不会陌生,MATLAB为《电子技术应用》许多作者的研究成果提供了根本性的支撑和帮助。本刊记者应邀参加了The MathWorks公司于2008年12月5日针对最新MATLAB并行计算功能召开的媒体见面会。在本次见面会上,The MathWorks公司MATLAB产品市场总监Lisa Kempler女士向与会记者介绍了The MathWorks公司科学计算平台MATLAB对于应用程序并行化所提供的不同层面的支持,以及新推出的2008b版本中MATLAB的新增特性,诠释了其广泛的应用领域和前景。

The MathWorks公司MATLAB产品市场总监Lisa Kempler女士
MATLAB并行计算功能的出现是由并行计算平台的发展而带动的,同时又是以满足用户更高的应用需求为目标的。Lisa Kempler女士介绍了一份IDC公司对高性能计算领域进行调查的统计数据:(1)100%的人在购买新的电脑时都会考虑购买多核计算机;(2)超过50%的人抱怨当前需要完成的计算量超过了当前台式电脑的运算能力;(3)在过去5年中已经购买了集群的公司中超过80%的公司认为他们的集群还需要扩大;(4)大约有55%的集群在未来2年内将要扩大其规模。这些需求主要是由规模越来越大的计算问题和数据量引起的。
IDC高性能计算(HPC)分析师吴杰称:“虽然HPC业务在硬件方面的收入在2007年达到了115亿美元的历史最高水平,但该领域的软件开发依然是阻碍这一先进硬件设备进一步推广的重要因素。”
事实上,多核计算平台已经迅速走到了工程师的办公桌上。同时,越来越多的计算集群、网格和云可以为人们提供动态的大规模计算资源,但在这些计算平台上却没有真正成熟的、能够提供高性能计算的软件环境。Lisa Kempler女士介绍说,欧洲最大的一家提供网格计算资源的公司EGEE的调查统计数据表明,在他们的用户中超过50%的人经常使用MATLAB,但只能在单机上,而不是在网格上,他们迫切需要能够在网格上使用的MATLAB。因此The MathWorks公司与EGEE展开合作,以实现MATLAB的并行化处理。
The MathWorks的最新MATLAB并行计算功能,通过各种工具箱和新型的并行化语言结构(如parfor和spmd)为用户编写并行化程序提供了不同层面的支持。针对不同计算平台的计算工具箱包括:用于单机多核(最多4核)环境的并行计算工具箱(Parallel Computing ToolboxTM),以及在集群环境中实现并行计算的分布式计算服务器(MATLAB Distributed Computing ServerTM)。
MATLAB并行计算功能的成功应用取决于它的三个基本特性:易于使用、易于扩展以及易于部署。
易于使用的特点使得用户在以前版本的MATLAB上实现的一些算法不需要做任何代码修改或只需做少量修改即可在并行计算平台上实现并行处理。易于扩展的特性在EGEE超过250台高性能计算机、有超过72 000个CPU同时工作、供7 500人使用的网格计算平台上得到了很好的体现。易于部署的特性则使得用MATLAB编写的算法可以在没有安装MATLAB的计算机上运行,从而使用户可以节省购买更多License的费用。
MATLAB并行计算功能的应用将使得更多的工程师和科学家能够更有效地利用高性能计算资源。
