云计算(高性能计算发展与应用)

hnust2010

贡献于2012-03-02

字数:0 关键词: 分布式/云计算/大数据

1 综合评论 另类云计算,另类物联网 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 陈榕 02 浅析云存储 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 薛刚 05 第37次全球超级计算机TOP500排行榜⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 杜晓梅 李利 10 高性能计算领域的若干关注点——ISC'11侧记 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 寇大治 12 高性能计算机 Cray公司新一代高性能计算机——XE6系统 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 杜晓梅 陈皖苏 14 高性能计算技术 高性能计算软件开发中的瓶颈问题探讨 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 陈军 19 超大规模媒体存储与计算的基础平台 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 曹强 谢长生 23 虚拟集群动态构建技术和方法 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 曾龙海 张博锋等 36 虚拟化电源管理及其技术 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 易星宇 翁楚良 40 在GPU上使用Monte Carlo方法解决欧式期权定价问题 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 徐磊 徐莹等 45 高性能计算应用 矫直机矫直过程的三维非线性有限元仿真 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 丁峻宏 李根国等 49 高性能计算在材料科学中的应用 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 胡双林 52 分子动力学软件GROMACS在GPU上的应用 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 寇大治 徐磊等 57 分子反应动力学理论及其软件的发展 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 韩克利 61 超级计算中心 国家超级计算天津中心 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 朱小谦 64 要闻集锦 D-Wave公司出售首台商用量子计算机 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 肖湄 35 ORNL利用废热为超级计算机芯片降温⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 赵凡 56 德国科学家创数据传输的世界纪录 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 王旦 63 超级计算机“星云”实测超千万亿次 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 魏嘉 67 Cray发布最高性能达50P的新一代超级计算机⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 李苏 肖湄 67 超级计算机让动画逼近现实 ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ ⋯ 魏嘉 68 目 录2 《高性能计算发展与应用》 2011年第二期 总第三十五期 另类云计算,另类物联网  陈 榕 上海科泰华捷科技有限公司 上海 201203 chen2rong2@163.net “云计算”和“物联网”是最近IT领域的两个 热点话题,但是Wikipedia上似乎也没有清晰定义 这两个名词的含义。在许多人的概念中,云计算将 浏览器作为“瘦”客户端,利用互联网门户的服务 器阵列“云”来完成计算任务。而物联网则是利用 现代互联网的基础设施,将大量传感器和智能终端 设备连接到互联网门户服务器的所谓“机器到机 器”(M2M)的网络。 早在1970年代IBM360主机时代,人们已经开 始利用虚拟机(VM)来均衡任务负载。那时几乎 所有大型机(Main-Frame)都用串口线连接着上百 个“哑”终端(Dummy Terminal),按时间、按内 存、按硬盘使用量计费,即采用所谓“Utility Computing”计费模式。 我1987年夏天在美国伊利诺大学超级计算机应 用中心(NCSA)实习的时候,我校与普林斯顿、康 奈尔、卡内基-梅龙、加州圣地亚哥等五所大学的超 级计算机中心通过卫星连接,让北美各地的科学家 们拨号上网,分享计算资源。我们现在使用的浏览 器就是1992年在NCSA发明的。 从1990年代开始,PC逐步渗透进中国百姓生 活。现在绝大多数程序员和IT从业人员从来没有使 用过大型机,也不太清楚PC之前的计算机发展史。 如果按照媒体上关于“云”和“物联网”的宽泛描 述,难道我们的IT产业在穿越时空,重返“恐龙年 代”? 什么是“云” 冯· 诺伊曼团队在1945年到1952年间,为设计 通用电子计算机定义了二条基本原则:程序加载到 内存运行;计算机采用层次化结构存储,见下图。 让我们试想一下,把PC机的“C:\”盘符用互联网门 户域名(Domain Name)来替代,变成类似“Abc. com://”的形式,由此我们可以定义所谓“云盘”的 概念。 我们知道,传统计算机的硬盘存储量远大于内 存,内存的存储量又远大于寄存器。而CPU访问寄存 器的速度远快于访问内存,访问内存的速度又远快 于访问硬盘。关键的要点是硬盘的访问速度要足够 快。加载一个应用的速度在0.2秒之内就是快,0.5秒 是中,0.8秒是慢,1秒之后就不能叫“足够快”。软 盘和磁带机就达不到“足够快”的要求,不能作为 计算机运算的一部分,而只能放在一旁,作为备份 用途。 随着宽带互联网和3G移动互联网技术的发展, 不论是桌面PC还是3G智能手机,都已经能在足够快 的时间内,直接从互联网门户网站加载应用,本地 硬盘作为缓存(Cache)。MSN.com等社交网站,有 管理员,有N个用户,每个用户都有自己的存储空间 和访问权限,用户通过窗口与社交网站交互。现在 媒体上描述的“云”与70年代的Main-Frame有许多 类似之处,如计算资源分享等。 我们以为,像一台计算机那样工作的互联网门 户就是一朵云。译成英文:“A portal which works as a single virtual computer is a cloud.”换个说法,云其 实就是台计算机,也就是“A cloud is a computer.”传 统计算机有硬盘、总线、内存等,许多人花费毕生 精力研究它们。云计算机也不例外。云后面成千上 万个实体计算机/服务器已经不再“通用”,而是作 为云计算机的存储、CPU等基础元器件(IaaS),以 及为认证、收费、安全、管理等后台服务提供专用 功能(PaaS)。远程机器提供“软件构件”是Web服 务。3G移动终端的CPU,门户网站服务器的多CPU, IaaS和PaaS服务器的多CPU,形成多进程,非对称型 注:转载自《计算机学会通讯》3综合评论 的计算机系统。 我们特别强调,当一个3G移动终端正在运行 Abc.com的应用时,其CPU属于Abc.com云计算机的一 部分,它可能直接运行Abc.com云盘存储的程序,也 可能作为该计算机的图形显示窗口,将Abc.com门户 的“主”CPU产生的结果,以“流”的形式展示出 来。同一个3G终端在运行Xyz.cn的应用时,其CPU又 属于Xyz.cn云计算机的一部分。这种动态融合众多 客户端CPU的统一云计算机模型,从根本上有别于 1970-1980年代“瘦客户端+服务器”运算模型。一 个极端的例子是采用P2P协议的云计算机。 再说说盘符,从70年代的CP/M(MS-DOS是从 那里山寨来的)开始,A:、B:、⋯就作为盘符。C:盘 一般是通过IDE协议访问,E:盘可能是通过USB协议 访问,X:盘没准是TCP/IP连接的网络盘。不难想象, 采用的通讯协议与运行的程序形成所谓“正交”关 系(Orthogonal Relationship)。我们是否可以得出结 论:研究JSON、REST、IBinder、DBus等技术与云计 算机编程模型没有关系?进一步说,用http://、ftp:// 等作为云计算机的地址空间,就像“电子流动方向 是从正极流向负极”一样,都是历史的误会。 什么是“云计算” 谈到云计算、普适计算等名词,不难从“计 算”两字联想到图灵机的计算模型,歌德尔(Kurt Gödel)的可计算性理论。图灵机描述了计算模型, 而冯氏体系架构实现了图灵计算模型。“计算”说 的是“道”,而“架构”讲的是“术”。可计算性 理论讲的计算,速度无穷快,内存无穷大。那么 Map-Reduce和Hadoop真的对“云计算”里的计算有 意义吗?计算讨论的是模型问题、极限问题,不应 该与工程问题相混淆。没有Map-Reduce的云计算, 用移动终端做计算的云计算,我们姑且称为“另类 云计算”。 曾几何时,浏览器一键点击,把远在天边的网 页拉到用户眼前,带来一场巨大的IT产业变革。既 然冯·诺依曼说“程序也是数据”,类似用URL指 定HTML网页,我们可以用URL来定位二进制程序代 码模块。在移动通讯领域,推送短信(SMS——Short Messaging Service)、彩信(MMS——Multimedia Messaging Service)既是服务。要是能推送程序,也 就真正达到了软件既是服务(SaaS)的目标,见上 图。 浏览器统一了互联网数据与本地数据访问的模 型。云计算就是要统一互联网软件与本地软件运行 的模型。 从70年代UNIX以来,每台计算机后台启动几 十个守护进程(Demons),应用程序使用的互联网 业务必须限制在这个Demons集合之内,并且大部分 Demons不会每次被用到。我们可以看出,传统的 PC编程模型问题多多:Demons浪费资源,启动慢, 藏污纳垢,纵容病毒泛滥。用户想要上网使用新的 互联网业务又面临Windows、Linux等主流PC操作 系统的安装、认证、删除、重新开机等重重困惑。 其实人们早在90年代初期就意识到软盘时代遗留下 Demons的问题,并试图通过各类“按需启动”的构 件技术来解决。微软的COM技术,IBM的SOM技术, OMG的CORBA等构件技术都有20年左右的历史了。 近年来,随着构件与软件服务技术不断成熟, 更重要的是,随着宽带移动互联网发展,人们终于 有了脱胎于PC产业,从移动终端及云计算后台的 角度,重新定义如何写软件的机会,而不必过多顾 虑应用向后兼容的问题。苹果公司的iOS,谷歌公 司的Android,惠普公司的WebOS、诺基亚和Intel的 MeeGo、微软的Windows Phone 7等操作系统方兴未 艾。计算模型要通过计算平台来支撑,而通用计算 平台就是操作系统。这也就是操作系统行当沉寂 15年之后又突然火爆的原因。真可谓,机不可失, 时不再来。 云计算的核心思想是“分享软件服务”。让 用户可以通过各类移动或固定终端,随时随地“浏 览”云计算机提供的软件服务。朋友之间通过社交 网络,互相“推送”软件服务。用户无需关心软件 服务的安装及运行细节。诸如病毒沙箱、自动认 证、软件升级、数字签名等一些列问题都交给云计 算机的管理员来负责。用户只需要确认加入某个云 计算服务社区的账号及密码,一键点击软件或信 息,就开始与包含数据和动画的“服务”进行交 互。我们预见一场比浏览器更为深刻的IT产业大变 革“山雨欲来”。 软件服务从云(Cloud)上来,在端(Client)上 跑。微软一直倡导“云+端”,发展Azure和Phone7两 个新型OS,但在中国几乎无人响应。过气的微软 讲话,也许还是有道理的。常言道:兼听则明。谷 歌不遗余力鼓吹“云”,但也致力研发两个OS, ChromeOS和Android,从云和端两头掘进,试图打 通“云端合一”的大一统软件运行环境。苹果公司4 《高性能计算发展与应用》 2011年第二期 总第三十五期 干脆就把云和端用一套封闭环境打包销售了,干净 利落,避免应用软件开发商给最终消费者带来各种 迷茫。 云计算编程还要通过语言,毕竟语言表达思 想。C/C++用来编写移动终端上的非流动性程序以及 流动性的游戏及业务引擎。Java类语言用来编写对效 率要求不太高的流动性服务构件。HTML/JS等脚本语 言面向长尾用户,提供个性化及网络化服务,动态 拼装第三方的业务引擎。三种语言通过反射技术自 动翻译、沟通。我们定义:服务构件=构件+自描述 信息。云编程=服务构件+拼装脚本。 云上下雨,自然不能像原来安装Office软件那 样,一坨就是2-3百兆。一条彩信300KB,那么最大 的“雹子”就是300KB。而且,雨必须从不同的云上 下来。雨点就是一个一个功能(服务)构件,编译 好的二进制代码,可能是CPU指令,也可能是Byte- Code。HTML/XML/JS等脚本语言要在客户端动态将 服务构件拼装成应用。 SaaS,即软件作为服务,其目的是为了消灭软 件。人们为一篇写得好的小说付钱,而不是为了印 刷技术和纸张付钱。那谁应该为word付钱,老百姓还 是电子书出版商?一段视频,mp4格式,每个终端要 事先预装mp4解码器,百姓先为解码器买单,这个模 式已经渐渐衰亡。标准永远是大公司利益较量的结 果,费时费钱。解决问题的答案就是实现按需推送 解码器。 什么是“物联网” 传感器、无所不在的嵌入式智能系统的发展极 大促进社会进步。部署有限个事先规定数量的传感 器和智能终端,用传统网络联接技术就能完成,因 此IOT(Internet of Things)在国外的学术界并没有太 大反响。如何部属动态进入特定环境的任意智能终 端,让传感器与智能终端临时组成资源共享的计算 网络?我们以为,以普适计算理论为基础的物联网 研究才是重点发展方向。 物联网是两张网叠加,一张传感器物理链接 网,一张软件协议网。二者之上才能构建协同操作 的物联网应用。软件协议网有些必要条件是不可避 免的,如软件一定是构件化的,用以封装在传感器 里面。每个构件一定有全球唯一命名(URI),构件 一定是用脚本来拼装的,物联网软件开发需要API和 SDK。 面向对象技术曾经给软件界带来很大的变革。 二进制代码的封装,继承,多态,反射,面向方面 编程(AOP——Aspect Oriented Programming),等 新兴软件开发技术势必成为普适计算的组成部分。 纵向提取代码公因式叫继承,而横向提取代码公因 式叫Aspect。宠物店里面猫和狗笼子都有个标签,注 明价钱、产地、售后等。标签作为对象就是Aspect。 Aspect都是在特定语境(Context)下才有意义,学 校里学生有学号,医院里面病人有病例等。构件进 入一个Context时,事先声明的Aspect就会自动创建, 并与其聚合。产生于特定Context的构件,指定的 Aspect会与生俱来。 云既然是用互联网域名命名的,由物理单机或 者多机组成的一台虚拟抽象的计算机。那么我们可 以认为物联网的计算基础模型就是“云计算机的驱 动程序模型”。这个定义不符合当今主流舆论对物 联网的描述,因此也最好理解为我们对“另类物联 网”的定义。云计算编程框架支持Aspect也是出于对 未来物联网、普适计算等方面应用的考虑。 回头看,UNIX驱动模型是最简化的面向对象 编程模型。1970年代,UNIX利用open()、close()、 read()、write()和ioctl()等几个标准的接口函数,通 过“间址操作”,抽象地描述了所有计算机的外 设。二进制代码继承,可以让包含软件的传感器 动态“挂上/摘下”云计算机运行的编程框架( Framework),形成协调的互动关系。现代面向服务 的构件技术已经能很好地描述任何第三方厂家开发 的同步、异步、正向、反向的构件程序调用关系。 如果能做到任意外设的热插拔,我们对这个问题的 理解就深了一层。 互联网从逻辑上讲是移动互联网的子集,互联 网能做的事情,移动互联网都能做,而位置服务( LBS)就不太可能在传统互联网上实施。再者,移动 互联网应该是物联网的子集,毕竟人人相连,人物 相连,物物相连,都超不出“Internet of Things”。 iPhone和Android引领的移动互联网软件技术已经开始 超越传统互联网,对此电信产业人士还有点措手不 及。毋庸讳言,现在的物联网公司集中在传感器、 物流等行业,而物联网软件技术离超越移动互联网 软件技术还有点为时过早。 结束语 本文视角有些另类,观点未免偏颇,目的无非 是抛砖引玉,期望引起读者的思考并不吝斧正。愿 意进一步了解构件化及面向方面编程的读者,可以 从www.elastos.com下载Elastos2.1 SDK及文档,并尝试 寻找支撑作者观点的一些蛛丝马迹。5综合评论 浅析云存储  薛 刚 上海超级计算中心 上海 201203 gxue@ssc.net.cn 引言: 随着云的兴起,作为云架构中数据的存储体,云存储变得越来越热,大家众说纷“云”。 根据IDC的数据,到2013年,云存储服务的增长率预计将超过所有其他IT云服务。在未来三四 年内,云服务的市场规模将从现在的174亿美元增长到442亿美元,其中云存储的市场比例将从 目前的9%增长到14%,也就是说云存储的市场规模将接近62亿美元。 1. 什么是云存储 从根本上来说,云存储技术是一种实用型服 务,它可以为众多用户提供一个通过网络访问的共 享存储池。云存储不是一个设备,而是一种服务。 具体说来,它是把数据存储和访问作为一种服务并 通过网络提供给用户。云存储是可以调整的,它们 可以很轻松地扩展或根据客户需求定制。云计算是 提供计算能力,相应的,云存储是提供存储能力。 云存储是在云计算概念上延伸和发展出来的 一个新的概念,与云计算类似,它是指通过集群应 用、网格技术或分布式文件系统等功能,将网络中 大量各种不同类型的存储设备通过应用软件集合起 来协同工作,共同对外提供数据存储和业务访问功 能的一个系统。 云存储可以帮助用户解决日益增长的数据的可 访问性、安全性、移动性和成本问题,还可以帮助 明确定义与数据所有权、归档、发现和搜索相关的 角色和职责。围绕数据存储评估、保证和审计的服 务水平协议(SLA)也将得到一致而明确的定义。 2009年4月,全球存储工业协会(SNIA)宣布 成立了云存储技术工作组(TWG),目前TWG已拥有 140多名成员。同年6月,该工作组发布了第一个工 作文档《云存储使用情境和参考模型》。根据该文 档,TWG在2009年夏天提出了云数据管理接口( CDMI)标准。CDMI规范致力于帮助云用户、服务 提供商、开发者和IT硬件/软件厂商简化云存储的各 个方面。更准确地说,云数据管理接口定义了应用 程序将用于在云中创建、搜索、更新和删除数据组 件的功能接口。客户端将可以发现云存储服务的功 能,并利用云数据管理接口来管理封装器和其中的 数据。此外,通过云数据管理接口还可以在封装器 和它们的数据组件上设定元数据。云数据管理接口 也可以用于行政管理和管理型应用程序,以便管理 封装器、账号、安全访问和监视/账单信息,甚至还 可以用于其他我们所熟知的协议所访问的存储,比 如SAN、NAS、FTP、WebDAV和HTTP/REST。云数 据管理接口规范1.0版正在寻求SNIA批准。 在云数据管理接口规范最初草案发布之后, SNIA成员很快就在2009年10月成立了云存储行动 (Cloud Storage Initiative,CSI)组。该CSI将与TWG一 起规范云存储技术发展的国际标准。CSI的主要目 标就是成为云存储标准推广的权威组织,CSI正致力 于通过教育厂商、开发人员和用户群体来达成这个 目标。CSI的创始成员包括Actifio、Bycast、EMC、 Hitachi、HP、LSI、NetApp、Olocity、Sun、赛门铁克 和Xiotech。 2. 云存储技术架构 无论存储虚拟化也好,还是集群存储、 SAN+NAS等都是一种技术,二者之间没有必然的联 系。但是从架构上看,云存储会利用到现有的存储 技术。例如存储虚拟化,云存储可以借助该技术构 建庞大的存储池,屏蔽底层存储差异,从而对外提 供一致的服务。 云存储并没有更多技术上的突破,它只是更好 利用了现有的存储技术,更好进行了发挥,对外提 供统一的存储外包服务。从形式上看,与软件SaaS服 务有些类似,所不同的是云存储所提供的存储管理6 《高性能计算发展与应用》 2011年第二期 总第三十五期 和服务。 与传统的存储设备相比,云存储不只是一个 硬件,而是一个网络设备、存储设备、服务器、应 用软件、公用访问接口、接入网、和客户端程序等 多个部分组成的复杂系统。各部分以存储设备为核 心,通过应用软件来对外提供数据存储和业务访问 服务。云存储系统的结构模型如下: 图1 云存储系统的4层结构模型 2.1 存储层 存储层是云存储最基础的部分。存储设备可以 是FC光纤通道存储设备,可以是NAS和 iSCSI等IP存 储设备,也可以是 SCSI或SAS等 DAS存储设备。云存 储中的存储设备往往数量庞大且分布于多个不同地 域,彼此之间通过广域网、互联网或者FC光纤通道 网络连接在一起。 存储设备之上是一个统一存储设备管理系统, 可以实现存储设备的逻辑虚拟化管理、多链路冗余 管理,以及硬件设备的状态监控和故障维护。 2.2 基础管理层 基础管理层是云存储最核心的部分,也是云存 储中最难以实现的部分。基础管理层通过集群、分 布式文件系统和网格计算等技术,实现云存储中多 个存储设备之间的协同工作,使多个存储设备可以 对外提供同一种服务,并提供更大更强更好的数据 访问性能。 CDN内容分发系统、数据加密技术保证云存储 中的数据不会被未授权的用户所访问。同时,通过 各种数据备份和容灾技术和措施可以保证云存储中 的数据不会丢失,保证云存储自身的安全和稳定。 2.3 应用接口层 应用接口层是云存储最灵活多变的部分。不同 的云存储运营单位可以根据实际业务类型,开发不 同的应用服务接口,提供不同的应用服务。比如视 频监控应用平台、IPTV和视频点播应用平台、网络 硬盘引用平台,远程数据备份应用平台等。 2.4 访问层 任何一个授权用户都可以通过标准的公用应用 接口来登录云存储系统,享受云存储服务。云存储 运营单位不同,云存储提供的访问类型和访问手段 也不同。 尽管云存储有这样四层结构的划分,并且有一 些尖端的技术也正处在研发阶段,例如EMC所宣布 的道里(Daoli)可信基础架构项目,旨在提供可信的云 计算平台,使用虚拟化和可信计算技术,支持对单 个主机计算机环境进行隔离,使之适合租借给多用 户。简单说,道里项目就是解决云计算下的安全问 题。   3. 云存储发展需要的技术 从云存储结构模型可知,云存储系统是一个 多设备、多应用、多服务协同工作的集合体,它的 实现要以多种技术的发展为前提。总共可以分为六 类:宽带网络的发展;WEB2.0技术;应用存储的发 展;集群技术、网格技术和分布式文件系统;CDN内 容分发、P2P技术、数据压缩技术、重复数据删除技 术、数据加密技术;存储虚拟化技术、存储网络化 管理技术。 3.1 宽带网络的发展 真正的云存储系统将会是一个多区域分布、遍 布全国、乃至遍布全球的庞大公用系统。使用者需 要通过ADSL、DDN等宽带接入设备来连接云存储, 而不是通过FC、SCSI或以太网线缆直接连接一台独 立的、私有的存储设备上。只有宽带网络得到充足 的发展,使用者才有可能获得足够大的数据传输带 宽,实现大量容量数据的传输,真正享受到云存储 服务,否则只能是空谈。 3.2 WEB2.0技术 Web2.0技术的核心是分享。只有通过Web2.0技 术,云存储的使用者才有可能通过PC、手机、移动 多媒体等多种设备,实现数据、文档、图片和视音 频等内容的集中存储和资料共享。Web2.0技术的发 展使得使用者的应用方式和可得服务更加灵活和多 样。 3.3 应用存储的发展 云存储不仅仅是存储,更多的是应用。应用存 储是一种在存储设备中集成了应用软件功能的存储7综合评论 设备,它不仅具有数据存储功能,还具有应用软件 功能,可以看作是服务器和存储设备的集合体。应 用存储技术的发展可以大量减少云存储中服务器的 数量,从而降低系统建设成本,减少系统中由服务 器造成单点故障和性能瓶颈,减少数据传输环节, 提供系统性能和效率,保证整个系统的高效稳定运 行。 3.4 集群技术、网格技术和分布式文件系统 云存储系统是一个多存储设备、多应用、多服 务协同工作的集合体,任何一个单点的存储系统都 不是云存储。 既然是由多个存储设备构成的,不同存储设备 之间就需要通过集群技术、分布式文件系统和网格 计算等技术,实现多个存储设备之间的协同工作, 使多个的存储设备可以对外提供同一种服务,并提 供更大更强更好的数据访问性能。如果没有这些技 术的存在,云存储就不可能真正实现,所谓的云存 储只能是一个一个的独立系统,不能形成云状结构。 3.5 CDN内容分发、P2P技术、数据压缩技术、重复 数据删除、数据加密技术 CDN内容分发系统、数据加密技术保证云存储 中的数据不会被未授权的用户所访问,同时,通过 各种数据备份和容灾技术保证云存储中的数据不会 丢失,保证云存储自身的安全和稳定。如果云存储 中的数据安全得不到保证,也就没有人敢用云存储。 3.6 存储虚拟化技术、存储网络化管理技术 云存储中的存储设备数量庞大且分布在多不同 地域,如何实现不同厂商、不同型号甚至于不同类 型(如FC存储和IP存储)的多台设备之间的逻辑卷 管理、存储虚拟化管理和多链路冗余管理将会是一 个巨大的难题,这个问题得不到解决,存储设备就 会是整个云存储系统的性能瓶颈,结构上也无法形 成一个整体,而且还会带来后期容量和性能扩展难 等问题。 云存储中的存储设备数量庞大、分布地域广 造成的另外一个问题就是存储设备运营管理问题。 虽然这些问题对云存储的使用者来讲根本不需要关 心,但对于云存储的运营单位来讲,却必须要通过 切实可行和有效的手段来解决集中管理难、状态监 控难、故障维护难、人力成本高等问题。因此,云 存储必须要具有一个高效的类似与网络管理软件一 样的集中管理平台,可实现云存储系统中设有存储 设备、服务器和网络设备的集中管理和状态监控。 4. 云存储的分类 云存储分为公共云存储与私有云存储。公共云 是一种即付费即使用的存储服务,由第三方提供。 它的所有组件都处于客户的防火墙之外,共享的基 础设施是彼此分隔的,可以通过安全的网络连接来 访问。公共云存储技术与私有云存储技术之间的差 别在于用户连接云的方式不同。 公共云存储技术供应商如亚马逊及其S3服务一 般会按存储容量按月收费,同时还会因传输数据而 收取一定的带宽使用费。公共云客户不需要配备物 理存储硬件或任何特殊的技术知识。云存储技术服 务供应商管理着存储基础设施,将存储容量构建成 存储池,以满足众多客户的需求。用户们一般通过 网络连接访问其存储的数据。 私有存储云通常建立在一家公司的防火墙的后 面,需要用到该公司所有或授权的硬件和软件。所 有的企业数据都保存在公司内部并完全由内部IT员工 控制。那些员工可以将存储容量构建成存储池,供 公司内部的各个部门或不同的项目组使用。私有云 也可以像公共云一样通过向存储池增加服务器的方 式轻松而迅速地增加存储池的存储容量。 5. 云存储技术特点 云存储在架构上具备数据共享、大容量(PB 级)、低成本的特点。云存储在技术是存储技术的 集大成者,具备虚拟化、数据压缩、重复数据删 除、基于策略的管理等先进存储技术,除此之外, 云存储还有以下几个主要特点: 5.1 云存储的透明性 当我们使用某一个独立的存储设备时,我们必 须非常清楚这个存储设备是什么型号,什么接口和 传输协议,必须清楚地知道存储系统中有多少块磁 盘,分别是什么型号、多大容量,必须清楚存储设 备和服务器之间采用什么样的连接线缆。为了保证 数据安全和业务的连续性,我们还需要建立相应的 数据备份系统和容灾系统。除此之外,对存储设备 进行定期地状态监控、维护、软硬件更新和升级也 是必须的。如果采用云存储,那么上面所提到的一 切对使用者来讲都不需要了。云状存储系统中的所 有设备对使用者来讲都是完全透明的,任何地方的 任何一个经过授权的使用者都可以通过一根接入线 缆与云存储连接,对云存储进行数据访问。 5.2 云存储的可扩展性 扩展可能是一个云存储供应商存储基础架构最 重要的一方面了,不仅是扩展的规模,还有管理这8 《高性能计算发展与应用》 2011年第二期 总第三十五期 种扩展的简便性。供应商能够比客户自己更快速且 在更低管理成本基础上扩展,这样才有可能盈利。 理想情况下,合作伙伴选择的存储系统应该是类似 于供应商提供给用户的“付费即增长”的形式提供。 仅仅需要通过增加节点的数量,可以增加额外 的存储处理能力和存储I/O带宽。与传统系统相比这 种架构的挑战在于,系统添加更多容量与其他组件 的增加是不成比例的。这导致了两个问题,首先, 供应商不得不在初期就过量采购存储带宽和存储处 理能力,为后续某些扩展保留余地。这一个问题, 因为如果供应商可以选择等待的话,以后处理能力 和存储I/O带宽的成本就会越来越低。第二个问题 是,在某些时候,传统系统中容量的增加速度会超 过其他方面。结果是留给用户的降低的性能、需要 升级或者采购新的系统。 升级是有问题的,虽然有些系统不必迁移就可 以升级。存储控制器或者NAS头很容易被替代。当然 是成本很高的,特别是环境正在经历大多数云存储 供应商期望的快速增长。第二个选择就是添加额外 的系统,不过这也是存在挑战的,因为这样供应商 就不得不管理多个存储系统。尽管据称全局文件系 统可以解决这一问题,不过它是针对数据路径的, 而不是管理路径。与配套结合的NAS头相比,单一的 集群有一个进行配置和数据保护等存储管理操作的 一个点。 在能够满足云存储供应商的扩展性需求之后, 第二个最大问题就是保持费用在正常范围内。云存 储供应商应该不断进行比较,以控制内部存储成 本。云存储服务必须能够严密监测成本保证增值项 超过任何价格差。 首先就是观察隐形成本,除此之外,保证供应 商可以做到严格检查成本也是很重要的。云存储系 统应该可以可靠地利用高容量驱动器,然后添加重 复数据删除和压缩等技术来优化容量利用率。事实 上,取决于供应商所提供的服务类型,压缩也可能 是最重要的技术,因为重复数据删除提供的机会可 能是有限的。根据定义,让重复数据删除有效的前 提必须是有冗余数据。压缩提供了对所有数据集的 优化,而不是根据有无数据冗余而定的。能够同时 利用这两种空间优化技术最终将大大减少空间需求。 5.3 云存储的安全性 安全是大多数云存储新用户最关注的问题。云 存储供应商应该确保以加密或者安全的形式提供了 从客户到设备的传输。存储本身设计应该运行加密 而不会影响性能。而且它还应该能够处理云存储的 搭建基础——多租户环境。最后,在标准环境中, 它应该具有能够一次写入多次读取(WORM)存储的能 力以满足法规要求。同样的,这种WORM技术也应 该是可以识别多租户的,因为有些用户需要这种功 能,而有些人是不需要的。针对每种要求部署独立 的系统会打破这种成本模式。 数据丢失是不能被接受的,如果发生的话可能 会设计相关的惩罚。如果存储系统采用SATA接口技 术来降低成本,那么这就更加重要了。标准RAID对 存储供应商来说也许是不够的,单是部署一个完 整的镜像成本太高,可能会打破价格模式。与标准 RAID技术相比,较新的RAID 6技术存在的挑战是, 驱动器容量不断增加,出错的可能性也随之增加, 驱动器重建的时间也越来越长。Permabit的RAIN- EC提供的数据保护技术可以大规模地进行扩展,提 供更全面的数据保护的同时,利用存储集群来缩短 驱动器故障之后重建所需的时间,防止RAID环境典 型的读取故障。 此外,存储系统应该能够复制来自多站点的 数据,同时利用上面提到的重复数据删除和压缩功 能来控制带宽成本。云存储是从用户那里提取的, 数据中心故障的容忍度要比内部用户更低一些。而 且,因为这种提取,切换服务的能力也是供应商必 须承认的一个事实。在被寄予了过高期望的云存储 环境中,数据中心停电要比简单的数据丢失更不能 被接受。 6. 云存储适用范围 云存储技术最擅长处理大量非结构化数据和归 档数据,比如信用卡、抵押贷款申请或病历数据等 等。目前的公共云还不能安全可靠地处理那些需要 一直保持快速网络连接的交易文件或数据库。 在目前环境下,云存储技术只适用于对网络延 迟要求不高的应用环境。备份、归档和大量文件数 据都很适合储存在云中,它们对响应时间没有什么 要求。另一方面,数据库和其他对性能要求很敏感 的数据只不适于使用云存储技术,因为网络延时对 数据库应用来说太严重了。 使用云存储还要警惕以下应用环境:  单个文件过大;  小文件数量过多;  文件的访问频率超过了链接协议的支持范围;  扩展云供应商有时会关闭预读缓存引擎,使 终端用户数据恢复很慢。 7. 实施云服务的五个阶段 7.1 集中管理IT9综合评论 实现规模经济和成本构成可视化,并有效控制 IT服务。 7.2 基于关键业务需求提供标准云服务 为消耗大量资源的应用程序支持提供特殊的解 决方案。提高质量、减少预配置时间、降低成本和 风险的关键在于一致性。标准化是成功进行整合和 实现自动化的前提。 7.3 虚拟化并整合物理资源 虚拟化和资源整合能够增加资产利用率和存 储效率。任何级别的基础设施都可以实施虚拟化; 统一的存储、统一的光纤、虚拟化的服务器,由于 应用程序和数据均十分灵活,资产利用率得到了提 高,资产寿命循环管理得到了简化。资源池使产品 市场化速度更快,并大量降低成本。 7.4 自动化环境 一旦云服务和云过程实现了标准化,基础设 施也实现了虚拟化,自动化就可以随之而来。自动 化工具能够提高数据提取能力,简化整个工作流管 理,使之更有效率。 7.5 自服务和API的委托控制 控制权回到企业/用户手中是云服务模型成功 部署的标志。在应用程序整合和拥有自服务能力以 后,应用程序管理员和拥有者可以根据需求实现存 储的弹性供给,根据企业情况选择不同的性能和数 据保护级别,并在应用程序出现异常时自动恢复。 不过这也会大大提高对管理员反应能力的要求。要 想最大化实现和利用云服务,需要整个组织的协助 才能推进各个阶段的顺利进行。 8. 使用云存储需考虑的事项 8.1 可行性 确定云存储在企业内部是否切实可行需要严谨 的思考。首先,需要对数据中心的数据进行分析, 从而确定有多少数据可以转移到云。然后,确定数 据如何转移到云。最初的一部分数据应该是简单的 拷贝过去的;其他数据可能需要借助某些工具按照 事先设定好的策略进行迁移。最后还需要考虑经济 性以及成本。 8.2 外部云还是内部云 明确使用外部云还是内部云。外部云比较适合 重视成本控制和拒绝风险的企业, 外部云的本质是 服务,成本与数据存储量和合同时间长短有关。而 内部云几乎需要传统内部存储需要的一切成本,包 括底层的存储基础架构和软件,还有设施维护、软 件前端服务以及为潜在数以千计客户管理存储等投 入,成本较高。 8.3 考虑网络延迟 网络延迟是选择内部云还是外部云时必须要考 虑的因素。外部云依靠互联网,主要适合第4层到第 6层的数据。与其对应的是,内部云由于本地内部互 联网的带宽较高,因此可以用于第3层以上的数据存 储。由于数据是通过内部网传输的,现有网络承载 能力和潜力也应当作为一项考虑因素,主要是因为 网络延迟会带来一些麻烦的问题。 8.4 容量规划 对于大部分企业来说,存储需求的弹性是决定 内部云存储容量的重要因素。有些厂商可能会预测 未来数据量将无限增长,并推销快速扩展能力、容 错能力、动态扩展以及容量增长规划等特性,这些 其实都是需要慎重考虑的。云不是解决数据无限增 长的灵丹妙药,而是需要有效管理的商品。 9. 云存储面临的挑战 云存储正成为未来存储发展的一种趋势,但云 存储的发展也将面临不少挑战。首先,云存储中心 的建设需要大量的投入,普通企业很少有这么大的 实力,而大型企业已经有自己的IT设施,是否愿意舍 弃原先的IT设施,对企业的信息化系统,存储系统进 行重新布置,需要的投入非常巨大。其次,虽然国 内已经建立了部分云存储中心,但大部分客户都是 政府或者大型企业,客户群比较局限,盈利能力较 弱,在国内用户没有达到一定数量的情况下,如何 维持一个云存储数据中心是个非常大的难题。最后 就是云存储服务的可靠性,目前云存储服务的的可 靠性还无法达到企业级的阵列要求,如何确保用户 数据的绝对可靠也是云存储需要解决的挑战。10 《高性能计算发展与应用》 2011年第二期 总第三十五期 第37次全球超级计算机TOP500排行榜  杜晓梅 李 利 江南计算技术研究所 无锡 214083 第37次全球超级计算机TOP500排行榜于2011年 6月16日在德国汉堡市发布。日本的“K”系统夺得 了此次TOP500排行榜的第一名,这台系统由日本富 士通公司生产,安装在日本理化研究所(RIKEN)。 其Linpack性能为8.162Pflops,峰值性能为8.773 Pflops。该系统使用了548352颗富士通自主研发的 SPARC64 VIIIfx 处理器,其中并没有使用GPU加速核 心。 中国的天河1A此次下降到第2名,其各项指标 不变,Linpack性能仍为2.57Pflops;美国最大的系 统Jaguar(美洲豹)从上次的第2名下降为第3名, Linpack性能仍为1.76Pflops;全球首台千万亿次系统 Roadrunner(走鹃),在此次排名中下降为第10名, 也就是说此次TOP500的前10台系统的Linpack性能均 超过了1Pflops。 表1 本届TOP10排名情况 排名 安装地点/ 国家/时间 系统/处理器/制造商 峰值性能 实测性能 (万亿次) 功耗 (千瓦) 1 日本理化学研究所 (RIKEN)/日本/2011 K computer(K系统) SPARC64 VIIIfx 2.0GHz 富士通公司 8773.63 8162.00 9898.56 2 天津国家超级计算 中心/中国/2010 Tianhe-1A(天河1A) X5670 2.93Ghz 6C, NVIDIA GPU, FT-1000 8C 中国国防科技大学 4701.00 2566.00 4040.00 3 橡树岭国家实验室/ 美国/2009 Jaguar(美洲豹) Cray XT5-HE ,Opteron 6核 2.6 GHz Cray公司 2331.00 1759.00 6950.60 4 深圳国家超级计算 中心/中国/2010 Nebulae(星云) Dawning TC3600 Blade, Intel X5650, NVidia Tesla C2050 GPU 曙光公司 2984.30 1271.00 2580.00 5 东京工业大学/ 日本/2010 TSUBAME 2.0(燕子) HP ProLiant SL390s G7 Xeon 6C X5670, Nvidia GPU, NEC/HP公司 2287.63 1192.00 1398.61 6 洛斯阿拉莫斯国家 实验室/美国/2011 Cielo(天空) Cray XE6 8核 2.4 GHz Cray公司 1365.81 1110.00 3980.00 7 艾姆斯研究中心/ 美国/2011 Pleiades(昴宿星) SGI Altix ICE 8200EX/8400EX, Xeon HT QC 3.0/Xeon 5570/5670 2.93 GHz SGI公司 1315.33 1088.00 4102.00 8 劳伦斯伯克利实验室/ 美国/2010 Hopper(霍珀) Cray XE6 12核 2.1 GHz Cray公司 1288.63 1054.00 2910.00 9 法国原子能管理局 (CEA)/法国/2010 Tera-100 Bull bullx super-node S6010/S6030 Bull公司 1254.55 1050.00 4590.00 10 洛斯阿拉莫斯国家 实验室/美国/2009 Roadrunner(走鹃) BladeCenter QS22/LS21 Cluster , PowerXCell 8i 3.2 GHz / Opteron DC 1.8 GHz IBM公司 1375.78 1042.00 2345.5011综合评论 排名前十位的系统与上次榜单相比变化不大, 除新上榜的“K”系统外,其他九台系统均为六个 月前上榜的系统。其中,上次排名第10位的“天 空”系统和排名第11位的“昴宿星”系统经过升级 后,此次排名上升到第6和第7位。TOP10的具体情况 如表1所示。 本次TOP500榜单中,前10台系统有3台使用了 GPU加速核心,分别是中国的天河1A、星云和日本 的燕子2.0;所有500台系统中,有19台使用了GPU加 速核心,其中12台使用Nvidia芯片,5台使用Cell处理 器,还有2台使用ATI芯片。 此次TOP500榜单的进入门槛再次提高,从上次 的31.3Tflops上升到40.19Tflops。进入前100名的门槛 性能从上次的75.76Tflops增长到此次的88.92Tflops; 此次排名第500的系统,上次排名为第262,系统更 新的速度已经超过了前几次的平均水平。此次上榜 的所有500台系统的总性能为58.88Pflops,6个月前为 43.7Pflops,一年前为32.4Pflops。 此次TOP500排名中,有29台系统的功耗都超 过了1MW;性能排名第1的“K”系统,功耗也最 大,为9.89MW。此次TOP500所有系统的平均功耗 为543KW,6个月前为447KW,而一年前为397KW; 此次TOP500所有系统的平均能效为248Mflops/W, 6个月前为219Mflops/W,而一年前为195Mflops/ W。TOP10系统的平均功耗为4.3MW,六个月前为 3.2MW,平均能效从六个月前的268Mflops/W提高到 464Mflops/W。能效最高的5台系统分别为能效为2079 Mflops/W的蓝色基因/Q原型机(排名第109位)、 能效为892Mflops/W的 IBM DX360M3 系统(排名第 54位)、能效为852 Mflops/W的HP ProLiant SL390s系 统(排名第5位)、能效为824.6Mflops/W的富士 通“K”系统(排名第1位)以及能效为774Mflops/ W的IBM QPace系统(排名第406、407和408位)。 表2 TOP500系统保有量前10名国家 排名 国家 系统保有量 比率% 总实测值 (万亿次) 1 美国 256 51.2 25280.4 2 中国 62 12.4 7176.5 3 德国 30 6.0 3242.1 4 英国 27 5.4 1872.1 5 日本 26 5.2 11182.2 6 法国 25 5.0 3180.7 7 俄罗斯 12 2.4 1341.6 8 加拿大 8 1.6 640.1 9 澳大利亚 6 1.2 400.4 10 意大利 5 1.0 464.0 最新的榜单中,美国系统保有量仍排名第1, 但数量继续减少,从上次的274台下降为256台;中 国继续保持第2,系统保有量从上次的41台上升为 62台,其后分别是德国30台、英国27台、日本26台、 法国25台。表2所示为系统保有量位于前10名的国 家。 最新TOP500的系统规模也继续扩大,此次500台 系统的平均并行水平为15550核心/每系统,6个月前 为13071核心/每系统,而一年前为10267核心/每系 统。此次,处理器规模在8193~16384个处理器的系 统数量大幅增加,从上一次的96台增加到224台, 成为500台系统中使用最多的规模。处理器核数在 4097~8192个的系统数量位居第二,从上一次的 291台减少到195台。而系统规模在2049~4096个处理 器核的系统规模继续大幅减少,从一年前的111台, 到六个月前的60台,此次则减少到只有20台。其他 系统规模的系统数量变化不大。 在系统数量方面,IBM和HP仍牢牢占据领先 地位,分别有213台和153台系统上榜。数量为两位 数的公司包括Cray(29台)、SGI(19台)、Dell( 13台)、Oracle(12台)和Bull SA(10台)。其他厂 商的系统数量都在个位数。 此次上榜的500台系统中,使用Intel处理器的系 统仍然是绝对主流,有387台,占77.4%,但相比上 次的79.6%略有下降;使用AMD处理器的系统数增加 为65台,占13%,上次为57台;使用IBM Power处理器 的系统从上次的40台增长为此次的45台,占9%。采 用Sparc处理器和NEC处理器的系统仅为2台和1台。 值得一提的是,采用Intel公司的Westmere处理器的系 统数量迅速增加,从上一次的56台增加到178台。 此次上榜的系统中,使用六核或更多核心处 理器的系统从上次的95台增加为此次的212台,占 42.4%;使用四核处理器的系统从上次的365台下降 为此次的231台,占46.2%。 使用千兆以太网的系统仍是主流,从上次的 228台增加到233台,使用InfiniBand的系统从上次 的213台减少为205台;采用其他互连技术的系统数 量仍比较少,有29台系统采用了拥有专利技术的互 连,23台系统采用了定制互连;采用其他六种互连 类型的系统寥寥无几。使用InfiniBand的系统性能总 和为23Pflops,是使用千兆以太网系统性能综合的 2倍,后者为11.6Pflops。12 《高性能计算发展与应用》 2011年第二期 总第三十五期 高性能计算领域的若干关注点 —— ISC'11侧记  寇大治 上海超级计算中心 上海 201203 dzkou@ssc.net.cn 摘要: 高性能计算领域的发展日新月异,无论是硬件性能还是软件技术,尤其是在与高性能计算 应用发展的相辅相成之下,在最近若干年都取得了持续的发展和长足的进步。本文通过一年一 度的ISC'11会议(International Supercomputing Conference)[1]了解到的一些信息,就高性能计算领 域近期的一些新的关注点,包括新的发展和新的变化作了简要的综述。因为会议涉及的范围很 广,本文主要把重心放在与应用和新技术相关的一些方面。 1. 简介 一年一度的ISC会议本年度依然在德国汉堡 召开,其中包括发布了第37次全球高性能计算机 top500[2]的排名,会议主要围绕高性能计算领域相关 的方面开展了一些培训、专题、报告、展览和交流 讨论。 2. 高性能计算应用的关注点 除了对传统的一些应用领域的关注,包括材料 科学、生物生命科学、航空航天领域等,同时有一 些新的关注点。例如本次会议对脑科学在高性能计 算中的应用给予了很大的关注,其它包括对气象天 气学的应用有了一些创新性的研究和进展进行了介 绍,也涉及到了关于新能源的开发在高性能计算中 的应用,高性能计算对社会学的一些研究的渗透等。 例如,关于人脑科学的研究。二十世纪人们关 于脑科学包括脑疾病已经进行了深入的研究,并产 生了大量的数据,但是针对这些数据的计算分析工 作却进展缓慢,到了二十一世纪,三方面的技术进 步使这项工作的进一步推进成为可能:首先是脑科 学数据的获取,在过去的二十年里,人类基因组计 划的实施使得我们可以大量的自动化获取人类组织 结构各个层次的数据;第二项进步来自信息化的推 动,随着计算机科学、数学和统计学的发展,人们 逐渐掌握了分析已有数据的方法,进而发现海量数 据的相关性,揭开控制大脑机能的重要结构和功能 集团,这时候最新的研究工作就可以进入通过对已 有数据的分析和预测未知信息的时代了;第三项进 步是基于模拟和计算的高性能计算方法的引入,这 才真正使得以上的工作成为可能。近年来,超级计 算机的计算能力已经达到P级别(1015),在可期待 的未来几年将会达到E级别(1018),计算能力的极 大增加使得科学家们可以系统的计算一个完整的生 物体系。人类大脑项目(Human Brain Project)就是 基于这三方面的技术进步而促进催生的,该项目能 够对大脑建模并模拟计算,这使得神经科学家和药 物科研者可以利用已有的一些数据和信息进行进一 步的计算和研究,实际上当前的挑战已经不再是能 不能就人类的大脑进行模拟和计算,而是如何让模 拟和计算工作真正的更有效的为实际的医学服务, 这也就促成了前所未有的、全球性的高性能计算科 学家和医学科研工作者的合作。 同样,对气象和天气预报也有着重点的关注。 例如德国气象服务机构(German Weather Service, DWD)和气象研究所(Max-Planck-Institute for Meteorology,MPI-M)联合开发了一种气候预测的 模型和标准(ICON),这一标准基于网格,利用 有限差分结合有限体系和离散解决了动态的计算运 动微分方程,这使得计算和预测的体系可以满足网 格小于一公里甚至更小。虽然这样的网格尺寸依然 对全球性的网格计算建立和预测有困难,但已经可 以就地区化的计算做出十分细化的处理和预测了。 这一计算包括可以选择单向或者双向的网格划分, 后者意味着在更大的时间尺度范围内使用了更精细 的网格划分,一些示踪变量(例如:湿气、云和降 雨量)就采用了这种有限差分结合有限体系和离散13综合评论 的处理方法,这使得在一定的复杂度下保证了相应 的精度需求。目前,全套基于物理模型的数值天气 预报已经完成,关于海洋模拟的模块也正在开发之 中。为了有效的使用当前和未来的计算机体系架 构,这一工作采用MPI和OpenMP混合并行化的方 法,同时为了最小化计算通信的开销,对MPI部分 包括OpenMP的并行部分都采用了优化,例如使用了 水平的动态显式求解技术以避免全局的数据交互, 这一技术的采用很大的减少了并行计算的时间。此 外,计算还采用了并行I / O的方法,这一特定的处理 模块为频繁的异步读写进行了优化。 另外,会议对百万量级并行度的应用开发和部 署也很关注,这包括对百万量级数学库的支持和开 发。关于应用的开发途径,人们开始关注独立的软 件商如何进入高性能计算领域,这样的关注点预示 着高性能计算、并行计算已经开始进入寻常的生活 生产当中,随着多核的逐步发展到普及,众核的引 入,独立的软件开发商已经开始进入并行计算的领 域。这包括传统软件开发中常见的对软件结构、软 件效率和鲁棒性的研究已经开始深入的向并行软件 的开发转移。 3. 高性能计算技术的发展 对高性能计算技术的关注依然保持了传统上对 存储的研究、对网络的研究和并行文件系统一些方 面。同时在可视化、云计算等一些方面也都有了一 些探索和工作。尤其是云计算方面,出现了大合作 的趋势,一些主要的计算中心和机构开始出现一定 程度的联合,包括之前我们已经了解到的加拿大七 个计算中心整合的 Compute Canada 项目,欧洲的 PRACE项目等。欧洲由于各国之间地理上相对比较 集中,这样一些重要计算中心之间开始建立起高速 的网络,这使得资源的共享包括联合的调度等成为 可能,也开始出现一些有高性能计算特点的云计算 项目。 伴随着一些混合架构的超级计算机的出现,最 主要的关注点集中在于一些异构技术相关的软硬件 方面。例如对GPU、FPGA包括Intel公司开发的MIC (Many Integrated Core)[3]架构等一些广义上的众核 技术的关注。GPU的关注已经由最初的讨论硬件架 构、体系结构开始集中的转向软件环境的建立和优 化,应用的开发和移植等方面,各大计算中心和机 构都开始在GPU的开发上建立和部署力量,并出现了 一些成果,照此趋势来看,众核的体系架构和软件 架构已经逐步的在高性能计算的领域内建立起来, 未来可能会有的一些局部的调整,但更可能是一些 适应性的变化。从大的方向上来看,向量化的处理 大规模数据并行问题的思路已经在高性能计算领域 内建立起来了。另一个值得关注的是Intel公司开发的 MIC(Many Integrated Core)架构,Intel已经给出了原形 机,并基于其强大的软件开发环境的支持能力给出 了简便易行的解决方案,未来将给出基于22纳米技 术超过50个核心的产品,预计单节点的计算性能将 超过1Tflops,实际上现有的展示机已经很接近这一 计算能力了。在混合架构和协处理上,FPGA技术依 然努力在高性能计算领域发展,我们一直了解其巨 大的计算协处理能力,但FPGA只能针对性的应用在 一些特定的计算领域,同时需要复杂的编程和应用 实现。而最近看到的一些进展在于软件和应用的实 现上,基于FPGA已经出现了所谓高层次的编程实现 方法和框架[4],能够更便利的实现应用的移植,这对 于FPGA的未来发展意义重大。同时FPGA也已经在一 些特定的计算领域内有了突破的发展,例如几个主 要适用领域包括金融计算、石油、天气和生物基因 计算领域,尤其是金融和石油两个领域,金融领域 主要在于其对计算的时效性需求非常苛刻,而石油 领域其计算规模异常庞大,且主要是高度向量化的 数据并行计算。已经开始有一些大的金融公司和石 油公司采用FPGA来完成其工作。按照当前高性能计 算的发展方向来看,随着向量化的大规模部署和应 用,FPGA在未来也会在这一混合化和异构化的高性 能计算平台上占有重要的一席之地。 4. 结论 本文基于ISC'11大会的一些信息就高性能计算领 域当前的一些关注点进行了简要的综述,主要包括 对GPU和FPGA包括Intel公司的MIC(Many Integrated Core)架构等一些协处理和加速部件的关注、未来的 混合架构包括基于混合架构的应用开发和发展、云 计算在高性能计算的实现和挑战等一些方面。 参考文献: [1] ISC'11: http://www.supercomp.de/isc11/ [2] TOP500: http://www.top500.org/ [3] MIC: http://www.intel.com/technology/architecture-silicon/mic/ [4] MaxCompiler: http://www.maxeler.com/14 《高性能计算发展与应用》 2011年第二期 总第三十五期 Cray公司新一代高性能计算机——XE6系统  杜晓梅 陈皖苏 江南计算技术研究所 无锡 214083 1. 系统概况 在2010年11月发布的最新一期TOP500排行榜 中,Cray公司新上榜的两台系统“Hopper”(霍珀) 和“Cielo”(天空)分别以1.054Pflops和816.6Tflops 的实测性能位于排行榜的第5位和第10位。这两台新 系统都基于Cray公司最新推出的新一代高性能计算 机—— XE6系统(如表1所示)。 表1 “Hopper”和“Cielo”系统规格表 规格 Hopper Cielo 峰值性能/ Linpack性能 1288.63Tflop/ 1054Tflop 1028.66Tflop/ 816.6Tflop 每瓦特实测性能 362.2 Mflops/W 276.81Mflops/W 互连网络 Gemini Gemini 处理器 12核AMD x86_ 64 Opteron 8核AMD x86_64 Opteron 应用领域 科研 科研 体系结构 MPP MPP 操作系统 Linux Linux “Hopper”超级计算机(如图1所示)以已故的 海军少将Grace Hopper命名。Grace Hopper曾经参加 了二战,不仅是一位海军少将,同时她还是一位计 算机科学家。她发现了计算机程序中的第一个Bug, 同时也创造了计算机世界最大的Bug——千年虫( Y2K)。她实现了第一个编译语言和编译器,创造了 世界上第一种商业编程语言COBOL,并为之后的高 级程序设计语言定义了模型,被称为“编译语言之 母”。 图1 “Hopper”超级计算机 “Cielo”是前十名中唯一一个没有图片公布 的超级计算机系统,Cielo来自西班牙单词,意为天 空。该系统是为美国国家核安全局(NNSA)的下一 代超级计算机。Cielo超级计算机平台由Cray承建,为 美国国家核安全局的三个实验室提供支持(包括洛 斯阿拉莫斯国家实验室、圣地亚国家实验室和劳伦 斯利弗莫尔国家实验室)。美国国家核安全局将使 用这些新型超级计算机系统来确保核安全,并进行 先进的计算机模拟。Cray公司还表示,这项长期、多 阶段项目的协议有可能还会进一步扩大。 2. XE6系统的主要技术特点 2.1 采用全新可扩展互连架构 “Hopper”和“Cielo”系统都采用了Cray公司全 新的互连架构“Gemini”,每两个计算节点之间有一 个Gemini路由和通信芯片,每颗芯片提供48个交换接 口和160GB/s切换带宽,并支持 3D Torus 互连。每个 双插槽节点通过HyperTransport 3.0技术与Gemini互连 相连接。这种直连结构打破了商用网络固有的PCI瓶 颈,并提供了每节点20GB/s的峰值带宽。Gemini与 Seastar的拓扑对比如图2所示。 图2 Gemini(下)和SeaStar(上)拓扑 Gemini互连架构(如图3所示)可全面改进超级 计算机系统内的数据传输,支持多核心处理器,消 息传递率提升100倍,延迟降低2/3。Gemini路由器的 无连接协议从数百个核心扩展到了数十万个核心, 而商用互连的点对点连接方法所需的缓冲存储器的15高性能计算机 数量并没有增加。 图3 Gemini可扩展互连架构 2.2 充分发挥系统弹性优势 Cray XE6系统的一个很大的特点就是具有弹性 (resiliency)。Gemini互连是为大规模系统而设计 的,失效问题是可以被预计出来,并且发现错误后 应用程序必须运行直至成功完成。Gemini使用ECC来 保护主存和数据路径。ECC和Gemini自适应路由硬件 提供了改进的系统和应用程序弹性。一旦有路径失 效,自适应路由硬件将自动屏蔽掉。如果丢失两个 互连间的连接性,HSS会自动进行重新配置。 高性能软件Cray Linux Environment v3(CLE3) 配备了NodeKARE(Node Knowledge and Reconfigura- tion)。如果用户程序非正常中止,NodeKARE会自 动在所有相关计算节点上运行诊断程序并清除任何 不健康程序。后继作业可以只分配到健康节点并可 靠运行直至完成。 Cray XE6系统还配备了冗余电源和电压改变模块 用来增强可靠性。Lustre文件系统可管理对象存储器 目标失效和元数据服务器失效。软件失效用于提供 给所有重要的系统软件功能。 2.3 实现自适应超级计算理念 自适应计算是Cray系统的一大特点,此次Cray XE6系统可在一个系统内实现超大规模和系统兼容 性,并可提供完整的工作量灵活性。用户可以购买 独立机器来运行高度可扩展定制工作量和业界标准 的ISV工作量。CLE3通过新的CCM来完成。CCM接受 机器外兼容性和ISV软件的Linux/x86版本。作业提交 时,用户可以请求用CCM配置CNL计算节点,利用有 效的服务来完成,以此确保Linux/x86的兼容性。服务 是动态的,并适用于用户单个作业。 Cray XE6系统还支持其他文件系统和数据管理 服务。客户可以选择Lustre并行文件系统或其他选 项,包括连接到现有的并行文件系统。Cray数据虚拟 化服务接受其他不同文件系统(包括NFS、GPFS、 Panasas和StorNext)连接到 Cray XE6 的计算和登录节 点。Cray的数据管理组也为Cray XE6用户提供备份、 归档和数据寿命管理的解决方案。 3. XE6系统的硬件构成 3.1 基本结构 “Hopper”和“Cielo”都采用了Cray最新的Cray XE6架构(如图4所示),整套系统由大量机柜组装 在一起,最多可提供上百万个处理核心。该系统具 有业界领先的弹性和卓越的可扩展性技术,其设计 可满足可扩展性、可靠性和灵活性等方面的需求。 图4 Cray XE6机柜 Cray XE6 可从现有的XT5、XT6系统升级而来, 采用AMD公司的Opteron 6100系列处理器,可选8核心 或12核心型号,每个机柜最多192个处理器、1536个 或2304个核心、峰值性能12.2~20.2Tflops,每个计 算节点32GB或者64GB Reg ECC DDR3内存、带宽 85.3GB/s。该系统加入大量增强新特性,比如改进 的网络弹性、成熟的软件生态系统、Cray Linux Environment第三版操作系统(基于SUSE Linux SLES11)。其详细参数如表2所示。 3.2 处理器结构 Cray XE6系统采用了AMD Opteron 6100系列处理 器,其开发代号为“马尼库尔(Magny-Cours)”, 基于两颗六核心“伊斯坦布尔(Istanbul)”,并采 用新的1944针 Socket G34 封装接口,不过非核心( Uncore)部分发生了很大变化:内存控制器升级支持 标准DDR3-1333和低压LV-DDR3-1333,并且为了控 制缓存一致性做了多方面的增强。 存储器方面,AMD Opteron 6100内部的节点拥有 两个DDR3通道,整个处理器支持四通道存储器,理 论峰值带宽42.7GB/s,不过北桥速度只有1.8GHz,因 此两个64位北桥合力带宽也不过28.8GB/s,这也是为16 《高性能计算发展与应用》 2011年第二期 总第三十五期 表2 Cray XE6规格表 处理器 8核或12核64位AMD Opteron 6100系列处理器,每机柜92个 存储器 存储器带宽:每个计算节点85.3GB/s 计算机柜 核数:每个系统机柜1563或2304个处理器核 峰值性能:每个机柜12.2~20.2Tflops 互连 每两个计算节点1 Gemini布线和通信ASIC 每个Gemini芯片48个开关端口(每个芯片160GB/s) 3D Torus互连 操作系统 Cray Linux环境(元件包括SUSE、Linux SLES11、HSS和SMW软件) 超强可扩展模式(ESM)和机群兼容模式(CCM) 编译器、数据库和工具 PGI编译器、Cray编译器环境、PathScale 支持Fortran77、90、95,C/C++,UPC,Co-Array Fortran MPI2.0,Cray SHMEM,其他使用CCM的标准MPI数据库 Cray Apprentice、Cray PAT 和Cray编译器 外部I/O接口 Infiniband,10Gigabit Ethernet,Fiber Channel(FC)和Ethernet 磁盘存储 整行FC相关的磁盘阵列,支持FC和SATA磁盘驱动 并行文件系统 Lustre、数据虚拟化服务可支持NFS、外部Lustre和其他文件系统 功率 根据配置每个机柜45~54.1KW 电路需求:三相wye,电压在480/277伏为100AMP,在400/230伏为 125AMP(三相、地线(L),大地线(G)) 冷却 空冷、气流:3000cfm(1.41m3/s),进风口:底部,出风口:顶部 可选ECOphlex液冷 尺寸(机柜) 高2362mm×宽572mm×深1441mm 重量(最大) 空冷每机柜725kg,液冷每机柜907kg 噪声级别 每米75dBA 了保持功耗的代价。 图5 AMD Opteron 6100处理器的结构简图 图5是12核心AMD Opteron 6100处理器的结构简 图,其中左侧四条虚线代表四个内存通道,中间实 线代表内部HT缓存一致性连接,右侧四条实线代 表外部缓存HT连接,下方一条竖线代表非一致性 I/O HT连接,其中粗线是HTx16带宽、细线是HTx8带 宽。 AMD Opteron 6100系列采用了第二代直连架构 (DAC2.0),每个处理器内部的两个内核(Die) 或称节点(Node)之间拥有多达24条HT总线直接相 连,完全不存在带宽瓶颈问题,优于Intel当年通过 外部前端总线连接两个内核的做法。该设计使存储 器带宽加倍并提供AMD前一代2P服务器接近2倍的I/ O带宽。该处理器系列将与新一代AMD服务器技术兼 容,其技术特点包括: ·8核或12核,100GB/s的高存储器带宽; ·每个处理器支持4个存储器通道(达到DDR3- 1333); · 新的AMD-P 2.0功效特点,包括C1E Power State和CoolSpeed技术; ·新的可靠性—可用性—可服务性(RAS)特 点,减少了停机时间并保证在线应用。 AMD Opteron 6100 处理器采用GlobalFoundries 45nm SOI工艺制造,每个内核/节点的核心面积为 346平方毫米,总共集成18.08亿个晶体管,一级缓存 每核心64+64KB,二级缓存每核心512KB,三级缓存 共享12MB,支持四条HT 3.0 x16总线,每连接最高带 宽6.4GT/s,支持四通道LV & U/R DDR3-1333内存, 内存通道 内存通道 外部缓存HT 连接 外部缓存HT 连接 内部HT缓存一致性连接 非一致性I/O HT连接17高性能计算机 每通道最多三条内存条,每处理器最多12条,支持 AMD-V虚拟化技术。 3.3 节点设计 每个Cray XE6刀片包括4个具有高可扩展性的计 算节点——每刀片96个处理器核,每机柜2304个处 理器核。每个计算节点具有两个AMD Opteron 6100系 列处理器(8或12核),并配备自己的存储器和 Gemini通信接口,可高效运行24个MPI任务。它在 一个计算节点内可运行OpenMP,在节点间可运行 MPI。 每个Cray XE6节点(如图6所示)都配置了32GB 或64GB的DDR3存储器,计算节点上的存储器已被登 记,并且存储器控制器提供了4倍的器件正确性,在 保持插入部件的可升级性、可服务性和灵活性的同 时,确保了可靠的存储器性能。 图6 计算节点示意图 图7 两个Cray XE6节点和Gemini互连 如图7所示,Cray XE6节点由两个AMD Opteron “Magny Cours”12核系列处理器组成。图中的结构 一面连接到Cray Gemini ASIC,其中包括一个高基路 由器和两个网络接口核心,另一面连接到两个节点。 每个 Gemini ASIC 支持两个 Cray XE6 双处 理器节点。每个节点包含24个核(峰值性能为 210Gflops)。Cray XE6可配备8核AMD Opteron 6100系 列处理器,提供一个16核计算节点(峰值性能为 140Gflops)。这种选择可为每个核提供85GB/s的节点 存储器带宽。可用存储器规格为每节点32或64GB。 四个存储器和两个 Gemini NIC / 路由器都位于一个独 立的Cray XE6刀片中,这样消除了对外部转换机柜的 需求。Cray XE系列支持将处理器升级到AMD Opteron 6200系列(代号为“Interlagos”)。 每个Cray XE6节点具有以下设计特点: ·两个多芯片模块,总共四个AMD Opteron处理 器裸片; ·8个DDR3带宽的通道; ·24(或16)个计算核心,共计24MB的L3缓 存; ·通过HyperTransport 3.0技术连接的处理器; ·提供更高扩展性和性能的HyperTransport Tchnology Assist监听滤波器。 3.4 可扩展I/O Cray XE6 I/O子系统(如图8所示)扩展是为满 足大部分数据密集的应用的带宽需求。新设计的Cray XIO服务刀片提供了四个I/O节点,每个节点具有一个 6核AMD Opteron 2000系列处理器,16GB的DDR2存 储器和一个 PCI-express GEN2 接口。XIO服务刀片提 供的峰值I/O带宽为32GB/s,支持使用Ethernet、Fibre Channel或Infiniband接口的到网络和存储器件的连接 性。Cray用户数据存储架构包括RAID6阵列,直接连 接到Cray XIO节点,或通过外部SAN和完全的多路径 失效。Oracle Lustre文件系统通过这些阵列管理文件 操作。这种高度可扩展的I/O结构使用户可通过挑选 适当数量的阵列和服务节点来配置带宽和数据容量。 图8 Cray XE6可扩展I/O 3.5 集成硬件监督系统 Cray的硬件监督系统(HSS)集成了硬件和软件 部件,用来提供系统监控、错误鉴定和恢复。Cray XE6超级计算机系统的HSS可监控并管理所有主要硬 件和软件部件。除了在硬件或软件失效时提供恢复 服务,HSS还控制开机、关机和启动顺序,管理互 连、重新对失效互连连接布线,并为系统管理员发 送机器状态。Cray XE6系统也支持热交换能力,使系 统操作员可在不中断有效工作的情况下清除并修复 系统刀片。 3.6 ECOphlex冷却技术 Cray XE6系统将采用高效机柜,它支持一种灵活18 《高性能计算发展与应用》 2011年第二期 总第三十五期 的液冷方法。这种机柜的相变蒸发器冷却使用了惰 性气体r134a,同类似规格的水管比,这种方法可将 散热效率提高10倍多。利用标准的空冷或液冷高能 效机柜和ECOphlex技术,Cray XE6系统可降低冷却成 本并增强数据中心设计的灵活性。每台高能效机柜 可配置相变蒸发器冷却式盘管,当经过机柜时,可 吸取气流的所有热量。 ECOphlex技术可调节大范围的水温,因此一个 现代的数据中心大大减少了操作冷却器的次数,这 样可节省用电成本。 4. XE6系统的软件组成 4.1 可扩展编程 Cray XE6系统除了通过标准的编程语言C、 C++和Fortran来支持MPI,Gemini互连对分区全局地 址空间编程模型还可进行直接硬件支持,包括UPC、 Co-array Fortran和Chapel。Gemini允许远程参考,在 这些编程模型中进行流水线作业,这样可带来性能 数量级的提升。 每台Cray XE6系统包括一个为提高编程人员效率 和应用扩展性与性能而设计的完全集成的Cray编程环 境和工具。这种特点丰富、易于使用的编程环境促 进了可扩展应用程序的开发。所支持的并行编程模 型包括MPI、Cray SHMEM、UPC、Co-Array Fortran和 OpenMP。MPI实现可支持MPI 2.0标准,并为使用Cray XE6系统中的Gemini互连而优化。Cray的性能分析工 具CrayPat和 Cray Apprentice2 使用户可以分析资源使 用,并消除瓶颈和负载不平衡的问题。 4.2 可扩展软件 Cray XE6系统采用Cray Linux Environment v3 (CLE3),这是一套高性能软件,包括基于SUSE Linux的操作系统,可运行大型、复杂的应用程序, 并可扩展到超过100万个处理器核心。Linux环境中有 一个计算核心,即计算节点Linux(CNL)。当运行 高度可扩展应用程序时,CNL可在超级可扩展模式 (ESM)下运行,保证了操作系统服务不会干扰应用 可扩展性。优化设计可扩展到超过20万个核,并且 可以在Cray XE6系统上扩展到超过100万个核。 CLE3同之前 Cray Linux 环境相比增加了以下能 力: ·改进的Lustre支持; ·更好的多核节点支持; ·改进的网络弹性、可服务性和节点替换; ·改进的用于其他并行文件系统的并行I/O兼容 性支持(数据虚拟化服务),包括GPFS和Panasas。 CLE3可使 Cray XE6 系统运行并行应用程序的任 意模式:ESM或CCM。 ESM是CLE2的改进版本,采用轻量级、低噪声 核心,以及Cray自己的通信协议和MPI的优化版本。 ESM的新特点包括Linux Core Assignment(LCA), 其独立的处理器核心可在工作运行时进行分配,并 处理所有Linux OS进程。CCM模式的兼容性更强,采 用标准的SUSE Linux版本,是ISV友好的、标准的通 信层。目前,CCM工作可扩展到200个节点。ESM和 CCM可在系统中同时运行。 5. 结束语 Cray XE6高性能计算机于2010年5月份推出,该 计算机包含Cray全新的Gemini系统互连功能,旨在为 高性能计算这一新兴、扩大的用户群体提供生产级 千万亿次(Petascale)计算能力。用户可以很方便地 从Cray XT5和Cray XT6系列升级至Cray XE6系统,该 系统具有更高的网络性能、包含更多增强特性。这 些业内领先特性融合在一起,为Cray XE6用户带来了 集真正可扩展性能与生产级可靠性于一身的超级计 算机系统。 Cray公司表示,目前已经有多家高性能计算中 心签订了XE6系统的购买合同,包括韩国气象局、美 国能源部国家能源研究科学计算中心(NERSC)、 美国国家核安全局、美国国家海洋和大气管理局 (MOAA)、英国工程和自然科学研究委员会( EPSRC)。此外,作为美国国防部高性能计算现代化 项目的一部分,该系统还会供给美国空军研究实验 室、美国阿拉斯加大学北极地区超级计算中心 (ARSC)、美军工程研究与开发中心(ERDC)。19高性能计算技术 高性能计算软件开发中的瓶颈问题探讨  陈 军 北京应用物理与计算数学研究所高性能计算中心 北京 100094 chenjun@iapcm.ac.cn 摘要: 随着高性能计算软硬件支撑环境日益复杂化,并行软件开发已成为大型科学工程计算 (CSE)的主要瓶颈。本文介绍了高性能计算软件开发活动、以及该过程中的活动人员——高 性能计算开发人员的特征;结合大量前人的实践和我们的经验,研究高性能计算软件开发中 的瓶颈问题,并探讨了其中的一些技术途径。 关键词:高性能软件开发,科学与工程计算,验证与确认,可移植性,软件工程 1. 简介 随着超级计算机向成千上万核发展,以及新型 体系结构的出现,高性能计算领域迎来了繁花盛开 的时代。然而只有加入软件,并行机才能真正发挥 作用。随着底层软硬件支撑环境的日益复杂化,并 行软件开发已经成为大型科学与工程(CSE)计算的 主要瓶颈[1]。 当前,CSE软件开发面临的主要问题包括:  要求解的科学问题日益复杂;  并行机体系结构多样化、层次化、复杂化。 目前并行机体系结构最主要的特征是多核和异构。 例如,“天河一号”和星云中均采用了CPU和GPU混 合架构。  用户需求变化多端。大部分需求根据之前的 代码和团队经验获得。当代码日益庞大、平均经验 水平下降时,需求分析的重要性将越发明显。  缺乏有效的软件开发工具。目前有许多孤立 的软件开发工具,例如,vi编辑器、TotalView调试工 具等;诸如Eclipse这样的集成开发环境也陆续研制 出来,但是由于其扩展性、以及还未能很好地匹配 CSE软件在并行机上的典型工作流程,目前还未能大 范围推广。  缺乏验证与确认(V&V)手段。由于许多模 拟没有“正确”答案可以比较,CSE领域中的V&V比 其他领域更难。 为研究这些瓶颈产生的原因,有必要重新了解 高性能软件开发过程、以及参与这些软件开发的人 的共性特征,节2将介绍高性能软件开发过程和特 征。节3结合大量前人的实践经验和我们自身的体 会,研究高性能软件开发中的瓶颈问题,并探讨可 能的技术途径。最后总结全文。 2. 高性能软件开发过程和特征 在科学计算软件开发项目中,典型的七个开发 阶段如图1所示。 图1 科学计算软件开发中的七个典型步骤 在问题描述阶段,包括制定目标、识别用户 群、需求分析、定义一般性方法策略等;在开发途 径阶段,需要辨别所需的算法、选择编程模型、对 软件进行详细的设计(包括体系结构设计)等;在 开发代码阶段,包括编写代码模块、调试、简单测 试、性能调优等;在验证与确认(V&V)阶段, 包括定义测试集、验证测试、确认测试和回归测试 等;在运行软件产品阶段,包括在并行机上调度运 行、建立要求解的模型、执行程序、存储结果和运 行优化等;在分析计算结果阶段,包括多次完整的 运行求解计算结果、分析和比较执行结果、酝酿下 一次运行等等;在制定决策阶段,包括标识不确定 部分、提出新的假设、做出新的决策等等。 在这七个典型步骤中,并不完全独立,相互之 间有重叠关系,且互相之间有多次迭代过程,在每 个步骤中也常见多次迭代。前三个阶段(问题描述、 开发途径和开发代码)主要由软件开发人员完成,20 《高性能计算发展与应用》 2011年第二期 总第三十五期 后三个阶段(运行软件产品、分析计算结果和制定 决策)主要由用户完成,而验证与确认阶段则由两 者共同完成。 在科学计算领域,由于开发者必须对相关应用 领域较深厚的了解和拥有相应的知识储备,但通常 的软件开发人员不必是领域专家。因此,科学软件 开发人员通常也是最终用户。 在2008年10月~11月期间针对科学家展开的问卷 调查结果[2]中,来自全球40个国家、约2/3的具有博士 学位、超一半的学术研究人员的反馈表明,84.5%的 人认为开发科学软件对自己的研究很重要;平均每 个科学家在科学软件开发和使用上分别花费30%和 40%的工作时间用;53.5%的人认为比过去10年花费 更多的时间在开发科学软件上。这些均表明软件开 发在科学界处于比过去更为重要的位置。 文[3]总结了高性能计算软件开发人员和用户的 特征。对于高性能计算领域中科学软件开发主体— — HPC软件开发人员,其共性包括:  大多数人缺乏正式的软件工程训练。许多 人从其他已从事多年软件开发的科学家那里获得软 件开发知识,但在软件复杂性管理等方面缺乏训 练。文的调查结果也支持了上述结论:96.9%的人 表明软件开发相关知识通过非正式的自学方式获 得,60.1%的人通过从同行那里获得相关知识,只有 13.1%的人在工作中得到了正式的培训。  许多软件的规模初始预期目标不大,但随着 它们在科学研究上的成功逐渐变大;  许多开发团队采用自身开发的代码。 同样,高性能计算用户的特征包括:  其主要目的是从事科学研究;  需要在性能和开发成本之间权衡;  对新技术的使用非常谨慎。他们更倾向于接 受能够与旧有技术共存的新技术。  通过远程访问,共享集中式计算资源。由于 超级计算机显而易见的使用和维护费用,通常它们 作为集中式资源开放给特定用户。 3. 高性能计算软件开发中的若干瓶颈及技术 途径 大量的经验[4~6]表明,高性能计算软件开发中的 瓶颈问题目前包括验证与确认、输入生成、大规模 节点上的调试、可移植性等。以下分别描述这些瓶 颈问题及探讨可能的技术途径。 (1)验证与确认(V&V) V&V仍然是科学计算软件开发的主要瓶颈。由 于高性能计算软件开发的需求大部分来自于不能做 实验的领域或实验成本很高的计算领域,且科学软 件是探索性的来帮助理解新的问题,因此很多情况 下问题可能没有一个“正确”答案。常见的验证技 术包括:  比较模拟结果与解析结果;  察看截断误差随网格步长变化的收敛速率;  将模拟结果与人工解作比较;  监测守恒量和对称性等;  将结果与已被广泛接受的软件结果相比。 在我们开发三维等离子体激光成丝不稳定性 并行程序LAP3D[7,8]中,为验证其中的流体力学计算 模块,通过计算典型模型,与精确解进行比较。这 些典型模型包括一维定常激波模型和二维双马赫模 型等;同时我们也对能量等守恒量进行诊断,并与 文献公开结果对比,采取上述方法对该程序进行验 证。图2给出了用LAP3D流体力学部分求解一维Sod模 型的结果,并与真解作对比。图3显示了LAP3D计算 出的激光自聚焦现象。 图2 LAP3D计算一维Sod模型,并与真解作比较 图3 LAP3D计算激光自聚焦现象21高性能计算技术 表1 LAP3D和NEPTUNE并行软件采用的验证与确认技术 并行软件 与精确解比较 监测守恒量 与已有软件比较 与实验比较 LAP3D 是 是 是 NEPTUNE 是 是 是 同样,在开发高功率微波三维全电磁粒子模拟 并行软件NEPTUNE[9]中,我们通过与已被广泛使用的 其他公开软件的结果以及和实验结果相比,来验证 所研制软件的正确性。 (2)生成输入 ASC经验表明,输入部分的生成也经常是软件开 发活动中阻碍生产率提高的一大要素。输入部分的 生成包括:模型输入文件生成、几何建模和网格生 成等。 在我们开发NEPTUNE并行软件中,模型输入 文件占据11页A4纸,靠手工生成如此庞大的输入数 据,非常容易出错,且难以查错。为此,我们开发 了GUI输入界面,辅助用户输入模型参数。这种从文 本方式到图形界面方式的改变,方便了用户。 另外,NEPTUNE并行软件需要处理具有复杂 几何的器件,其几何建模是极其复杂的。我们采用 CAD建模工具,对多种复杂器件实现了几何建模。图 4给出了NEPTUNE软件的GUI输入界面截图,图5显示 了典型器件MILO的三维几何图像。 图4 NEPTUNE软件的GUI输入界面 图5 MILO器件三维几何 (3)大规模节点上的调试 由于并行计算主要处理的是多个处理器上的竞 争和同步问题,因此,在小规模上测试通过,并不 意味着在大规模机器上也能测试通过。某些Bug问题 可能只在复杂情形下出现。因此,当在大规模情形 下出现期望之外的结果时,需要进行大规模机器上 的调试。 大规模调试的特点是:所需的处理器多,调试 时间短,但可能需要多次调试,这些调试的间隔时 间短。然而,目前的超级计算机的管理通常采取批 作业调度方式,需要较多计算节点的用户必须提交 任务,等待并进入排队队列。对于大规模节点上的 调试任务来说,两次调试任务等待的时间会过长。 例如,相邻两次调试可能只是修改了一个拼读有误 的变量,但在执行之前可能需要等待若干小时。 在ASC星际联盟中心,针对上述情况,他们采 取的应对措施是:每年腾出若干周末时间(约60小 时),将超级计算机的部分或全部节点以交互方式 提供给用户,专门用于大规模机器上的调试。 (4)可移植性 根据ASCI和ASC的经验,科学发现和可移植性 是科学软件开发的主要目标。根据美国三大实验室 的科学软件开发经验,科学软件经历平均三十年的 三阶段生命周期:  第1阶段:开发初始能力到初次被用户使 用,大约5~10年时间;  第2阶段:增强软件能力到支持用户大量使 用该软件,约10~30年时间;  第3阶段:衰退直至退出,大约5~10年。 与之呈鲜明对比的是,超级计算机硬件发展迅 猛,目前大约每2~3年就会有新的机器出现。软件 开发周期长与底层硬件变化快的较大反差,使得软 件的可移植性需求变得愈发重要,尤其在目前具有 多核和异构体系结构的超级计算机上更是如此。由 于验证与确认存在的难度,当需要移植到新型机器 上时,高性能用户期望能以尽可能小的代价进行移 植。一种可能的思路在于并行编程模型和编程语言 这一层次的问题解决上。如何满足高性能计算软件 的可移植性需求仍然是个开放问题。22 《高性能计算发展与应用》 2011年第二期 总第三十五期 4. 总结 高性能计算软件的开发已经成为大型科学工程 计算的主要瓶颈,也制约了高性能计算的发展。本 文介绍了高性能计算软件开发的一般过程,以及作 为软件开发主体——高性能软件开发人员与用户的 特征,并分析了在开发过程中的若干瓶颈问题。这 些瓶颈问题包括验证与确认、生成输入、大规模节 点上的调试、可移植性。本文也根据前人和我们的 经验,探讨了一些可能的技术途径。 致谢 感谢北京应用物理与计算数学研究所的赵强提 供部分图像。 参考文献: [1] R.P. Kendall, D.E. Post, Computational Science and Engineering Software Development Risks, NCAR, April 2007. [2] Jo Erskine Hannay, Carolyn MacLeod, Janice Singer, et al., How do scientists develop and use scientific software? Proceedings of the 2009 ICSE Workshop on Software Engineering for Computational Science and Engineering, pp. 1-8, 2009. [3] Victor R. Basili, Daniela Cruzes, Jeffrey C. Carver, et al., Understanding the high-performance-computing community: a software engineer’s perspective, IEEE Software, Vol. 25, No.4, pp. 29-36, 2008. [4] D.E.Post, R.P.Kendall, Software project management and quality engineering practices for complex, coupled multi-physics, massively parallel computational simulations: Lessons Learned from ASCI, International Journal of High Performance Computing Applications, Vol. 18, No.4, pp. 399-416, 2004. [5] Lorin Hochstein, Victor R.Basili, The ASC-Alliance projects: a case study of large-scale parallel scientific code development, Computer, Vol. 41, No. 3, pp.50-58, Mar. 2008. [6] Jeffrey C.Carver, Lorin M.Hochstein, Richard P. Kendall, et al., Observations about Software Development for high end computing, CTWatch Quarterly, Vol. 2, Num. 4A, pp. 33-38, Nov. 2006. [7] Chen Jun, Mo Zeyao, An efficient parallel coupling method for multiphysics numerical simulation, Chinese Journal of Computers, 30(9), pp. 1559-1566, 2007. 陈军,莫则尧,多物理数值模拟中一种有效的并行耦合方法,《计算机学报》,30(9),pp. 1559-1566, 2007. [8] Chen Jun, Mo Zeyao, Li Bin, Zheng Chunyang, Parallel numerical simulation of laser beam self-focusing and filamentation, Chinese Journal of Computational Physics, 25(2), pp. 127-132, 2008. 陈军,莫则尧,李斌,郑春阳,激光自聚焦和成丝模拟中的并行计算方法,《计算物理》,25(2),pp. 127-132, 2008. [9] Chen Jun, Dong Ye, Yang Wenyuan, Dong Zhiwei, Three-dimensional fully electromagnetic particle-in-cell parallel simulation for high power microwave sources, ACTA ELECTRONICA SINICA, 37(12), pp. 2845-2848, 2009. 陈军,董烨,杨温渊,董志伟,高功率微波三维全电磁PIC并行模拟,《电子学报》,37(12),pp. 2845-2848, 2009.23高性能计算技术 超大规模媒体存储与计算的基础平台  曹强 谢长生 华中科技大学 武汉 430074 caoqiang@hust.edu.cn 摘要: 当前信息技术和应用发展水平的迫切需要能够支持超大规模多媒体存储和计算的系统出 现,并对系统的容量、性能、扩展性、可用性等一系列功能提出巨大挑战。针对情况,在分析 现有多媒体存储系统的基础之上提出了一种超大规模媒体存储和计算的基础平台架构。然后针 对超大规模多媒体系统的性能指标和一般的优化方法。接着重点讨论了存储优化方法,通过获 取和分析针对超大规模多媒体系统的存取行为,从横向和纵向方面进行合理的数据布局优化提 高系统的性能。最后讨论两种保证超大规模多媒体存储和计算系统实现和高效运行的关键技 术,分别为面向大规模数据存储的分布式文件系统和基于存储对象的服务质量保证机制。 1. 应用需求 1.1 应用背景 信息革命推动人类社会的不断进步,表现在 各种个人和社会活动越来越离不开各种数字化信息 的获取和应用。随着信息技术的飞速发展,现有的 计算机系统具有更强的处理能力、更快的传输速度 和更大的存储容量,这种能力使得多媒体应用得到 不断普及和发展,而多媒体数据以其直观的表达形 式,丰富的语义内涵和高效的处理能力受到更多欢 迎。这种对于多媒体数据的应用发展又不断对于计 算机系统的能力提出更新的挑战。突出表现为对于 超大规模媒体信息的高效处理、传输和存储要求。 网络流量测量公司Compete发布的最新数据显 示,2009年7月份成为YouTube表现最好的一个月, 美国访问人数从7830万人增长至8510万人,增长幅度 近9%。网络调查公司ComScore发布的美国8月份在线 视频报告显示,整个8月,共有创纪录的1亿6100万 美国人在线观看了视频。同样在8月有250亿段视频 被播放,其中谷歌就占了100亿。在谷歌的这100亿 段视频中,有超过99%的是在YouTube贡献的。在 ComScore的报告中同时显示此月美国所有的网络用 户中,有近82%的有过在线看视频的经历,平均观 看时间到达9.7个小时。与这些数据相佐证,AT&T的 网络每天流动16PB的数据,Google每天处理20PB的 数据,Facebook每天存储1PB的照片,Opera浏览器每 个月处理多于1PB的数据,而BBC的iPlayer每个月有 大约7PB的数据流,Youtube存储了31PB的流媒体数 据。Cisco公司预计:到2012年每个月网络上视频流 大约为5Exabytes(5000PB)。显然,Internet的迅猛 发展迫切需要建设超大规模媒体存储与计算平台以 满足不断增长的用户需求。 除了Internet应用之外,很多应用部门也需要超 大规模媒体存储与计算平台满足其业务需求。由美 国航空航天总局(NASA)提供的哈勃(Hubble) 太空望远镜拍摄宏伟的螺旋星系M81的单幅照片大 小为689Mbytes(其分辨率为29566×15200,4.49亿 像素),而在哈勃太空望远镜服役的近20年时间里 拍摄了无数这样高分辨率的照片,这些照片数据无 疑对于星载存储系统还是地面数据处理和发布系统 都提出了挑战。另一个存在大规模媒体存储和计算 需求的是电视台或者电影制片企业的采编系统,无 论对于前端拍摄还是现场直播而言,一部高清标准 (分辨率为1920*1080的HDTV)画质的电影或者录 像无损压缩后需要大约20GB的存储容量,这还是最 终版本的数据量并不包括初期大量高清视频素材的 采编。一个直观的例子就是电视台使用10个高清摄 像机直播一场比赛,仅前端的数据采集量就是惊人 的。同样,这些高清视频数据对于后端存储系统或 者点播系统的性能和容量也产生了巨大的压力。 需要说明的是当前主要由多媒体音视频在线 点播应用对于超大规模媒体存储和计算平台提出 要求,考虑到针对它们的组织管理和存取优化策略 也同样适用于其他类型的多媒体数据。因此在本文 中将主要针对超大规模视频在线点播应用展开分24 《高性能计算发展与应用》 2011年第二期 总第三十五期 析和讨论。由于传统上主要使用视频点播系统( Video-on-Demand,VOD)或者连续流媒体系统( Continuous Media Streaming Systems)来表示媒体存储 和计算平台,因此在本文中不特别区分三种名称。 未来,将会涌现更对针对多媒体信息的需求, 包括更高分辨率的视频或者图像采集和应用,虚拟 现实等,这将持续对于大规模存储系统提出更大的 挑战。 1.2 应用需求 这些超大规模多媒体应用对于低层的存储与 计算支持平台的设计、运营和维护提出了巨大的挑 战,直接表现为: (1)容量及其扩展性。在容量上Facebook每 周用户上传的数据就达到了25TB以上。而对于全球 最大的视频平台YouTube来说,用户平均每分钟上 传视频的总时长高达20小时。这样大的空间需求给 存储系统带来了很大的挑战。因此超大规模多媒体 平台首先对于容量有极其巨大的需要。除了容量的 可扩展性,存储系统的在平台支持、应用功能、连 接性、容量、性能等全方位还需具有很强的扩展能 力。流媒体服务系统在运行过程中可能添加新的节 点,新的节点可能和已有节点的服务性能不同,即 使服务性能相同,节点容量也可能存在差异,即使 节点容量相同,后加入节点上存储的数据量也小于 已有节点,将使得己有节点的数据访问负载高于后 加入节点,如何解决这个问题,都对大规模媒体存 储平台的研究提出了很高的要求,所设计的数据存 储解决方案除了必须具备满足当前存储需求的能力 以外,还要具备易于扩张以满足未来应用中不断增 加的需求的能力。 (2)存储带宽。数万甚至数百万用户的在线 播放需要后台存储系统提供巨大的带宽,由于主要 的视频网站普遍采用的基于Flash的视频点播技术。 这种技术和基于点对点的直播和点播有非常大的不 同,所有流量全都来自于内容提供商的后台存储系 统。估计谷歌每年为YouTube所支付的网络带宽费用 就有3亿美元之多。由于网站需要对于所有多媒体信 息进行大量处理、迁移和复制,因此对于内部存储 带宽的需求更为强劲。在今年以太网联盟(Ethernet Alliance)举办的一个以太网研讨会上来自Facebook的 网络工程师Donn Lee指出Facebook数据中心的内部网 络已经成了瓶颈,现在急需100-Gigabit以太网。 (3)存储性能。除了带宽需求外,对于存储 系统的响应时间也有很高要求,例如视频的缩略图 (Thumbnails)给后台系统也带来了很大的压力。因为 每个视频平均有4个缩略图,在用户看时往往会在一 个页面上显示多个视频的缩略图,这往往会在短时 间内给存储系统带来很大的磁盘I/O压力。为了提高 性能现在系统考虑使用固态硬盘(SSD)。对于像视 频和图片这种读远大于写的I/O应用需求,固态硬盘 可以说是非常适合的。但目前固态盘的容量/价格比 还不足以使它在大规模媒体存储领域能够得到广泛 的应用。 (4)信息处理能力。对于用户上传的多媒体 数据,需要转换为相应的格式才能在网上发布,这 种转换往往要耗费巨大的计算资源,所以常常需要 专门的服务器群组来支持这种应用。例如Google的 Picaso需要把用户上传的高分辨照片转换为标准分辨 率。这种信息处理过程往往和存取过程同时进行, 因此需要系统能够同时支持高效存储和计算。另一 个方面,大量多媒体数据都需要进行版权保护或者 加密,这一过程可能需要在数据存取时增加相应的 额外处理操作,例如增加数字水印后者加密等,这 需要相当的处理能力。 (5)数据优化分布。由于现有的互联网络并发 用户访问量大、热点分布在时间和空间上不均等因 素,所以经常会造成用户访问网站响应速度差别很 大。网络很容易在一个地方形成瓶颈,造成性能严 重下降。虽然大部分网站都具有多个网络出口或者 通过集群系统提供更好的服务性能,但这对于内部 存储系统的数据分布有更高的要求,数据分布能够 根据热点的变化而进行动态改变。 (6)可用性。数据的重要性越来越高,数据存 储系统的可靠性和实用性必须不断提高,才能防止 数据内容的丢失或数据访问的失败所造成的严重后 果。超大规模媒体存储系统需要采用在线冗余技术 (多副本或者擦除编码等),以及具备通过镜像和 备份技术保证在灾难性事故中恢复的能力。 (7)数据生命周期管理。人们已经认识到信 息也有自己的生命周期,也会随着在生命周期中所 处的阶段具有不同的访问频度和重要性。在超大规 模媒体存储系统中需要管理和使用的信息量非常庞 大,而且还在继续增长。这些信息不但需要保存更 长的时间(保存期超过任何一台服务器、存储设备或 者任何一个操作系统或应用软件的寿命)。与此同 时,新法规还规定了与业务相关的电子邮件和互联 网通信的保留时间,以及这些信息的恢复速度。(例 如,仅在美国,就已出台了一万多项法规,规范信 息的存储、可用性和处置方式)。随着信息价值的变 化,有必要将信息转移到不同的联机存储介质上, 以最低的成本提供适当级别的保护、复制和恢复。 为了以最低的成本实现信息价值最大化,必须 实施数据生命周期管理以完全支持组织和机构业务25高性能计算技术 目标和服务水平的优化配置。根据信息和应用对企 业的价值进行分类,然后制定相应的策略,确定最 优服务水平和最低成本。系统能够将数据转移到相 应的服务等级,以满足企业要求。 (8)服务质量。常规的存储系统并不强制要 求提供Qos确保能力,当存储系统过载时,所有客户 端的服务延迟会增加。而对流媒体应用而言,存储 系统的服务延迟不能过大,否则会引起客户端接收 缓冲区排空,破坏了节目回放的连续性。增加客户 端的节目缓冲时间可以在一定程度上减轻存储系统 服务性能波动的影响,但是并不能从根本上解决问 题。流媒体存储系统必须提供QoS确保机制,以便在 任何时候都能向被接纳的请求提供满足QoS要求的服 务。对面向流媒体服务的存储系统而言,期望实现 的QoS目标是:l)为高优先级请求提供QoS确保。2)充 分利用存储系统的服务带宽。 (9)检索和查询效率。保存信息的最终目的是 为了信息的访问和利用,因此数据表达、组织,以 及在此基础之上数据查找方法,包括数据的浏览、 检索、查询方法。多媒体数据容量巨大,语义极其 丰富,面对海量数据人们往往难以及时准确地找到 所需数据。目前流行的数据管理系统如关系数据 库、文件系统、搜索引擎等,各有不足,尚不能完 全满足超大规模多媒体数据快速查找需求。关系数 据库的数据模式约束过于严格,可扩展性较差;而 文件系统只支持浏览和路径查找功能;搜索引擎则 只支持关键词检索,不支持浏览功能。所以,有效 的数据管理和查找方法是一个迫切需要解决的研究 课题。超大规模多媒体存储管理需要通过赋予数据 灵活的语义,建模数据和数据之间的相关关系,组 织数据成图结构,提供高效方便的数据浏览和查找 服务。 (10)易管理性。存储系统的规模和复杂度 与日俱增,导致系统维护和运营的人力成本迅速提 升,目前已经超过存储软硬件成本,成为总体拥有 成本中占比最高的因素,而且可以预见该比例仍然 会不断提高。超大规模多媒体存储系统的维护和管 理必须能够降低运营和人力成本,具有自我调优、 自我配置等各种自适应功能,以满足在规模扩展 时,保持其易管理性。 事实上针对超大规模多媒体存储和计算平台的 多个功能需求之间有可能相互制约,例如数据的优 化布局往往会占用系统的带宽,对于系统的管理性 也带来挑战。因此在实际系统中必须平衡针对系统 的多种功能需求。 2. 超大模媒体存储系统结构 2.1 传统多媒体点播系统结构 连续媒体服务器的第一篇论文出现在91年[1], 自此之后的十几年间出现了大批量的相关论文。在 这些论文的理论指导下,如雨后春笋般出现了一大 批原型系统,比如streaming-RAID[2],oracle media server[3],UMM system[4],Tiger[5],Fellini[6],Mitra[7], RIO[8],Yima[9]。此时的系统结构重点关注服务器 端,研究的问题集中在数据布局,缓冲区管理机制 和检索调度技术,目标是优化吞吐量和启动延迟。 其中,streaming-RAID提供了适合处理视频请求事 务的文件系统和适合视频流读取的磁盘访问算法。 UMN,Fellini和Mitra在磁盘簇上使用轮询调度方法控 制数据块分布,该方法在吞吐量方面优于steaming- RAID,但它会导致较高的启动延迟。RIO的数据布 局基于随机块分配,这种方法相对灵活,和轮询调 度相比有同样大小的吞吐量,优点是启动延迟更 短。UMN的调度算法更加简单,它不但可以适应磁 盘簇,而且适用于逻辑卷的条带化。Yima实现了数 据的完全分布和更高的集群可扩展性。 目前,随着流媒体服务的基础环节如服务器性 能、网络带宽、视频编码及传输技术等已取得飞速 发展,系统结构研究的重心逐渐过渡到客户端,基 于P2P网络的流媒体内容分发技术己引起国内外许多 大学的重视并纷纷开展了研究。 传统多媒体系统由三个部分组成:媒体服务 器,客户端和将它们连起来的通讯网络。媒体服务 器是整个应用系统的核心。它的功能主要体现在两 个方面:(1)对各种多媒体文件的存储管理、检索和 迁移,同时,优化存储空间的利用率及数据的读写 效率,并根据节目的访问特性及时更新和淘汰节目 源文件;(2)用户请求的服务与管理,服务器接收用 户的点播请求,向用户传送节目数据流。一方面, 服务器必须保障每个用户的服务质量;另一方面, 服务器系统必须在有限的资源状况下,支持尽可能 多的用户,扩展系统服务规模。媒体服务器是由一 台或一组提供媒体存储和媒体传输的计算机组成, 存储、处理和传输是其基本功能。 根据视频服务器在传输网络中所处的物理位置 可把系统分成两类:集中式系统和分布式系统。中 小规模媒体点播系统采用往往采用集中式结构。该 单一结构中视频节目集中存储在一台中心视频服务 器里,由它向所有请求的用户提供流媒体服务。这 一结构最突出的优点是实现和管理简单,在用户数 量不多的小规模应用上有一定的优势。但是在这种 模式下的VOD系统所能提供服务的最大用户数受到 集中式视频服务器的磁盘读取速度、处理机能力、 缓存容量输出、I/O速率和接入网络带宽的制约。采26 《高性能计算发展与应用》 2011年第二期 总第三十五期 用这种结构,即便在高速接入网上,配置高性能的 视频服务器:如耦合多处理器视频服务器,也难以 满足大规模的应用要求。 针对集中式VOD系统存在的这种瓶颈问题,目 前分布式VOD系统的应用日益增多。分布式VOD系 统把视频节目按某种策略存储在多台视频服务器 上,每台视频服务器满足一定量的用户请求数,如 果要满足更多的用户点播需求,只需要适当的增加 视频服务器的数量。因此可采用多台廉价、普通性 能的视频服务器代替一台昂贵高性能的视频服务 器,提高了系统的性价比,同时把用户分散到多台 服务器上,解决了服务器的磁盘读取速率、处理机 能力、缓存容量和输出I/O速率等造成的瓶颈问题。 合理设计VOD系统结构,还能巧妙解决接入网络带 宽对最大用户数的制约,使VOD系统更适用于大规 模应用。 相对于集中式系统,分布式系统结构采用多级 存储模式(hierarchical storage)。 即由昂贵的容量较小 的高速存储设备(内存或者固态盘)和相对较便宜 的大容量低速存储设备(磁盘或者磁带库)共同组 成存储系统. 多媒体应用程序向存储系统请求数据时, 直接向作为缓冲区的高速设备请求, 当被请求的数据 已在缓冲区时, 应用程序立即得到服务; 当被请求的数 据不在缓冲区中时, 存储系统依据一定的数据替换算 法, 将数据从低速存储设备交换到高速存储设备中, 再 向应用程序提供服务。 集群式并行VOD系统结构,它主要由总控节 点、服务节点机群和数据节点机群三大部分组成。 为了平衡数据节点的磁盘I/O,每个视频文件均打 散存储到各数据节点中,由并行流式文件系统进行 管理。同时,为保障数据安全、减轻内联网和磁盘 I/O的压力,各服务节点内部也配置一定量的磁盘空 间,临时存储当前的热门数据。 它的逻辑结构可分为三层: 第一层是总控节点,是整个服务器的信息入 口,负责接收客户端的请求,并将这些请求分配给 具体的服务节点机,在分配客户请求时应该保证服 务节点的负载平衡。 第二层为服务节点集群,集群中的各个节点 对分配来的客户请求进行处理,处理的主要内容就 是维护客户端和服务器之间的视频流,包括视频流 的建立、传输和撤消,并根据客户端的命令对视频 流的传输进行控制,实现视频服务的交互功能,如 快进、快退、慢放、搜索、随机访问等。服务节点 上通过运行基于多线程结构的服务软件来实现上述 功能,保证多视频流的稳定并发传输。在处理过程 中,当用户点播的视频数据在服务节点上没缓存 时,服务节点机还要向数据节点集群发出数据存取 命令。当需要服务更多用户时,扩展服务节点机的 数量即可。 第三层是数据节点集群。该集群构成了整个服 务器的I/O子系统,集群中的数据节点以逻辑方式构 成RAID5级的数据节点阵列,具有冗余容错能力。视 频数据的存储采用了空间分条的放置策略,即将视 频流数据文件分割为固定大小的数据段,存储在不 同结点的存储设备中,这些数据段由被称作元文件 的控制结构连接为完整意义的逻辑文件。元文件包 含了顺序读取数据段以重构视频流文件所需的全部 信息,它在放置视频流文件时生成,并被存储在单 独的节点中,服务节点机就是根据该信息对数据节 点机发出数据存取请求。 上述结构能够满足当前的中等规模多媒体点播 系统的需要,但针对上百万在线用户和上亿多媒体 文件的超大规模系统,这种“超大规模”要求对视 频服务器体系结构的设计提出了新的挑战。 (a)超大规模多媒体存储系统单个数据中心内部结构27高性能计算技术 (b)具有多个数据中心的超大规模系统结构 图1 超大规模多媒体存储和计算系统结构 2.2 超大规模媒体存储和计算平台结构 通常说的一个系统是超大规模的,往往意味着 两个方面:一方面存储的视频文件数量及其需要的 存储空间是大规模的;另一方面系统服务用户量也 是大规模的。系统必须能支持大规模的并发访问, 同时能够保证每个任务的服务质量。 如图1所示,为一般超大规模媒体存储和计算 结构,在空间方面整个系统由多个异地数据中心 (site)组成,这些数据中心通过高速专用网络互 联,主要目的是实现数据的按需部署、复制和迁 移,实现全局数据的优化分布和较高可用性,每个 数据中心都具有独立的外部网络访问点,可以为不 同地区的用户提供就近服务。 每个数据中心内部包括前端服务集群,为外部 大量用户提供高性能多媒体点播服务;后端存储计 算服务集群,提供高效的多媒体数据处理和存储服 务。两个集群之间通过高速内部网络进行互联,可 以是基于光纤通道或者Infiniband的存储区域网,也 可以是大规模的存储集群。 前端服务集群除了提供为在线用户提供正常的 媒体点播服务外,还收集用户的存取行为特征,并 把提取的用户行为特征报告给元数据服务器和存储 结点,以优化后台存储行为;同时保证不同级别用 户的服务质量,并进行内部数据缓存管理(包括本 地内存和本地磁盘系统),增加全局命中率。 存储计算服务集群的核心是元数据服务器,它 既可以是一台高性能服务器也可以是一组服务器构 成的集群结构,用于进行全局数据分配、寻址、优 化布局和重组,维护和优化系统的全局拓扑结构, 收集前端服务器集群用户存取行为,监控系统中所 有设备(网络、处理和存储部件)的运行状态和 负载情况,并提供全局多媒体数据的检索和查询服 务。另外考虑到超大规模媒体环境中,数据存在一 定的生命周期,因此合理的把处于不同生命段的数 据存放在相应的存储级别,能够极大的改善系统的 拥有、管理和维护成本。事实上,这个维护工作通 常有元数据服务器负责。 存储结点中的存储设备除了能够保存数据之 外,还应该充分利用自身的处理能力,就近进行多 媒体数据的处理,例如创建缩略图等。同时能够根 据前端服务器提供的用户行为优化自己的缓冲区和 磁盘调度机制。 除此之外,超大规模媒体存储和计算平台必须 包括多媒体数据的采集和预处理系统,减少不必要 的数据迁移量和发布延迟。事实上,在很多卫星数 据中心或者是电视台中,数据的获取、处理和发布 都通过后端存储计算集群完成。 2.3 超大规模媒体存储系统和P2P结构 与 传 统 的 客 户 机/服务器模式相比,如果把 P2P思想引入到流媒体服务中,充分发挥以往被忽略 的众多个人计算机(Peer节点)的作用,通过让它们缓 存一部分信息,行使一部分服务器的功能,使服务 分散化,从而减轻服务器的负载以及对接入网络带 宽的巨大压力。基于P2P网络的流媒体内容分发技术 己引起国内外许多大学(如美国的斯坦福大学[10]、普 渡大学[11]、伊利诺大学[12]、卡内基梅隆大学[13]、佛罗 里达中央大学[14]、俄勒冈州立大学[15]、加拿大的西蒙 弗雷泽大学[16]、韩国的首尔大学[17]、国内的香港中文 大学[18]、清华大学[19]、华中科技大学[20-25]、科研机构 (如微软研究院)等的重视并纷纷开展了研究。当前很 多国内的网络电视站点都采用P2P的结构。 但在大规模媒体存储系统中直接采用P2P结构显 然会遇到很多问题。首先所有的P2P结点都没有永久 保持数据的义务,因此在这种结构中对于非热门多 媒体数据很难长久的保存;其次P2P结构很难进行版28 《高性能计算发展与应用》 2011年第二期 总第三十五期 权保护,事实上当前大部分在P2P网络传播的数据都 有版权问题。基于上述原因,P2P结构很难成为超大 规模多媒体数据的源存储和处理主流平台。 不过考虑到P2P在发布信息过程中的巨大优势, 如果能够有效进行版权保护,在大量客户之间采用 P2P结构可以极大的改善多媒体服务的性能。这种方 案和本文提出的超大规模存储系统可以相互补充。 3. 性能指标及优化策略 3.1 主要性能指标 超大规模多媒体系统包括客户端,硬件服务 器,操作系统、流媒体服务器软件以及底层存储 设备,其性能与服务器的硬件处理性能、网络和 存储设备出口带宽以及系统的缓存机制相关。在 Gemmel[26][27]等人的研究基础上,归纳以下几个指标 来量化评估系统的性能: 最大并发用户数:指一个VOD系统可以同时提 供服务的最大用户数目。最大并发用户数主要由服 务器硬件配置和软件实现方式决定,同时也受节目 流码率的影响。 聚合输出带宽:是指VOD服务器向外发送节目 流数据时所能达到的最大发送带宽。相对最大并发 用户数而言,聚合输出带宽受节目流码率的影响很 小。 点播响应延迟:是指从用户发出点播命令开始 到接收到视频数据之间的时间间隔。如果点播响应 延迟过大,用户会难以接受,因而响应延迟是衡量 视频服务器性能的一项重要指标。两种情况会增大 点播响应延迟:一是当服务器采用某些分组技术时 (batching),会显著增加其对用户的响应时间;另 一种是当负载较重时,服务器比较繁忙,从而会推 迟对用户请求的处理,这也会增加响应时间。 点播热点支持:不同节目的点播频率近似服从 Zipf分布[28],点播频率较高的节目被称为热点节目。 热点节目的支持程度可以通过热点节目点播聚合 输出带宽和随机节目点播聚合输出带宽的比值来衡 量。点播热点支持能力是评估VOD系统性能的一项 重要指标。 数据延迟:是指流媒体数据包处理中包含的数 据解码时间。数据延迟会在客户端引起延缓现象, 情况严重时会使收到的视频质量不可接受。数据延 迟具体可以用延迟数据量和累计延迟时间两个指标 来描述。前者用于描述受到影响的数据包数目,后 者用于描述延迟的程度。 数据丢失率:数据丢失是指需要发送的视频数 据在服务器端被丢弃。发生数据丢失会在客户端引 起抖动现象(jitter),从而严重影响视频服务质量, 数据丢失和数据延迟在某些情况下难以界定(典型 的情况是采用接收顺序不确定的传输协议)。 客户端缓冲开销:由于服务器和Internet网络的 非实时性,客户端需要用缓冲来平滑抖动,客户端 使用的缓冲大小由系统的流控制机制决定。 VCR操作延迟:VCR操作是指暂停、快放、倒 放以及拖动等操作,是VOD系统的一项重要功能。 系统对VCR的支持程度可以通过VCR操作的响应延迟 来评价。VCR操作延迟是指从发出VCR命令到客户端 接收到相应目标数据包的时间间隔。这其中比较特 殊的是暂停操作。暂停操作没有目标数据包,它的 响应延迟是指从发出命令到服务器停止发送该节目 流数据的时间间隔。 以上指标均能独立地反映VOD系统某一方面的 性能。在具体实现时,可能为了满足一部分应用需 求提高某一方面的性能,但同时导致另一部分性能 的降低。 3.2 主要优化策略 优化VOD系统性能的策略和算法有很多,在 Gu等人[29]的研究基础上,总结为以下几种: VOD服务器对客户端的播放策略:VOD服务 器向客户端发送数据存在着两种可能的方式,即客 户拉模式(Client-pull)与服务器推模式(Server- push)[30]。在客户拉模式中,客户端请求它要读的每 一个数据块,服务器仅当接到来自客户方的请求之 后,才发送数据块。服务器推模式则与此不同,一 旦客户发出对某一个视频流的请求后,服务器就会 自动地、持续地向该客户发送该流的数据块。两种 不同的播放策略将对系统最大并发用户数产生不同 影响。 数据媒体块的分块大小策略:视频服务器在 存放媒体文件时,一般是将它们划分成一系列的媒 体块存放在磁盘上的。一个块可能占据几个物理磁 盘扇区,也可能占据几个磁道。在存储连续媒体块 时,通常采取CDL(固定数据长度)和CTL(固定时 间长度)两种策略。其目的是根据不同情况优化聚 合输出带宽。 数据分布策略:一旦媒体块的大小确定后,接 下来就需要确定如何将媒体数据块分布到磁盘上。 分布策略的目标是优化正常的播放,包括复制、分 条、交叉等分布算法,使用不同的算法将对点播响 应延时、热点播放等指标产生不同影响。 磁盘调度策略:由于对媒体数据的访问请求在 本质上是周期性的,因此,在VOD系统中,对磁盘 访问的调度问题可以看作是一种完成带有期限的多29高性能计算技术 个周期性任务的问题。一般来说,各种磁盘调度方 法都是按“服务周期”来处理磁盘访问请求的,这 样可以充分利用连续媒体播放的周期性特点。也就 是说,在VOD服务器的每个服务周期内,必须为每 个活动的流(负载请求)从磁盘上检索出一个媒体 块。为了最大化每个周期内的服务流数,必须以对 磁盘请求进行有效的调度,以将寻道时间降至最低 (寻道时间是存储设备在读取数据时唯一可以加以 优化的可变因素;旋转延迟是一个随机变量,无法 被优化)。磁盘调度策略主要包括FCFS(先来先服 务)、Round-Robin(轮转算法)、SCAN(电梯调 度算法)以及SSTF(最短寻道时间优先算法)等。 缓冲策略:缓冲是解决带宽瓶颈的一种简单而 有效的方法,它有两方面的作用。首先,它可以消 除CPU和存储设备处理速度的不一致性,减少访问 连续媒体时由于磁盘寻道和旋转引起的播放抖动; 其次,通过一定的策略,使得从存储设备读入缓冲 中的数据在一段时间后(在被替换出缓冲之前)能 再次被其它的负载使用,从而减少对设备读写的访 问,提高系统性能。缓冲策略在VOD系统中多体现 为多级和分层设计。 流调度策略:对于VOD系统而言,无论是服务 器还是网络、带宽等资源终归是有限的,即使当前 的主干网络有着很大的带宽,它仍然只能支持有限 的流。另外,VOD要想获得商业上的成功,必须能 够服务大量的客户。因此如何节约系统资源以提升 系统的吞吐率,是大规模VOD系统设计时要考虑的 一个主要的问题。流调度策略研究如何使VOD系统 具有良好的规模、可扩展性和性能,如何降低客户 请求对服务器I/O带宽与网络带宽的需求,如何有 效地利用系统资源等。早期的VOD系统往往是每到 来一个新的请求,服务器就发送一个单播流。这种 方式的客户延迟很小,但是带宽利用率不高,播放 同一部影片的流不能共享服务器带宽。但实际上, 绝大多数的请求是针对少量影片的,且这些请求又 往往是在黄金时间段到达的,因此,从直觉上看, 以广播或批处理等方式来服务这些请求,可能会更 为有效。近几年来,研究人员提出了一些视频流调 度策略,它们分别基于广播(broadcasting)、批处理 (batching)、缓存(caching)、流搭载(piggybacking)、流 合并(merging)等思想和原理[46]。这些策略在降低带宽 需求和客户等待时间、向客户提供交互控制、服务 的公平性等方面各有侧重。 上述这些优化指标和优化方法可以直接应用于 超大规模多媒体系统之中。 4. 存储优化技术 超大规模媒体系统包含巨大数量的多媒体数 据,可能为上百万个用户提供点播服务,而且用户 的行为特征经常随着时间变化而不断变化,因此低 层存储系统必须能够知道并理解用户的存取行为并 进行适度的优化,提高系统的整体吞吐率和改善用 户访问服务。这突出体现在两点,第一是获取数据 存取模式,第二是根据这个模式进行优化的数据布 局。 4.1 数据存取特征提取和分析 流媒体存取过程需要从存储设备上读取用户 所请求的数据。这需要从两个方面分析数据的存取 特性,第一个是对于所有数据对象而言,需要能够 区分经常访问的数据对象和很少访问的数据对象; 第二个是所有用户的存取过程在系统层面的汇聚表 现,由于系统包含多个层次,在不同层次观察到的 I/O存取行为是不同的,例如在集群系统结构中,一 台媒体服务器收到部分用户请求,在获取数据对象 地址后向对个存储结点发出请求,并把获取的数据 重整后发送给客户;而一台存储结点收到多个媒体 服务器的I/O请求进行队列处理,并从自己的磁盘子 系统读取相应数据发送给媒体服务器,因此无论在 时间还是空间上,媒体服务器和存储结点请求处理 过程都是不同的,其数据访问表现的行为也是不同 的。下面从I/O存取特性和数据对象访问热度两个方 面分析VOD的存取特征。 早期的研究表明,流媒体应用的访问特征 是“连续”、“大块”、“读”,即流媒体应用总 是对数据块进行连续的,大数据量的读请求。单个 或者少量流媒体请求产生的大块连续只读特性非常 适合磁盘的物理存取特性,并且能够通过预读机制 提高连续存取过程中缓冲区的命中率,进而提高系 统的性能。 然而基于大规模并发用户的VOD系统却并不呈 现上述规律。在多个客户端同时访问服务器时,单 客户端对数据的顺序请求到达磁盘时都变成了乱序 的随机请求。我们使用自主研发的VOD-server[31]进 行测试,结果显示,在10个客户端并发访问的情 况下,访问模式、数据块大小和读写模式并不具 备“连续、大块、读”特征,而是表现出较高的随 机性。因此,如果在大规模VOD系统中继续采用传 统流媒体应用的上述属性特征进行网络和存储系统 的优化,将难以达到满意的效果。 前面提到,大规模VOD系统中的访问是随机 产生的,若在一定的时间间隔内基于一个足够大的 用户群进行分析,将发现访问符合局部化的统计规 律,即绝大多数的访问集中在少部分的对象上,将30 《高性能计算发展与应用》 2011年第二期 总第三十五期 之称为VOD的热点访问特征。 图2 数据块非均匀访问负载和均匀访问负载的访问概率 另一个方面针对各种数据对象的访问负载是典 型的非均匀模式,文献[32][33]曾结合zipf模型讨论其 热点分布特征,但carsten等人基于大量用户和媒体 对象的研究表明,大规模VOD的热点访问特征并不 遵循标准的zipf分布规律[34],其测试结果显示,对最 热的前10部movie对象的小样本空间的分布曲线与标 准的zipf分布曲线较为接近,然而随着样本空间的增 大,实际的访问特征与标准zipf分布出现较大差异, 如图3所示。在上述研究的基础上,我们对zipf模型进 行了改进并建立对象热度模型来描述大规模VOD访 问特征。 图3 标准zipf曲线和实际热点分布曲线 4.2 数据布局优化 超大规模多媒体存储和计算平台中的数据布 局优化分为两个方面,一个是水平横向的数据分布 优化策略,也就是如何更加不同存储结点自身特性 和负载情况进行合理的数据优化放置,并能够提供 并发存取和可靠性能力;第二是在垂直纵向方面, 也就是数据在前端服务器内存缓存区和本地磁盘子 系统,存储结点内的内存缓冲区和本地磁盘子系统 以及第三级存储系统(如低端存储结点或者是磁带 库)中分布数据,在获取最优性能的同时减低系统 整体成本,这主要包括缓冲区管理和调度,多级存 储架构及其迁移。 (1)横向分布优化 在集群式并行视频服务器数据节点中数据节点 阵列类似RAID磁盘阵列结构将视频数据按条带化 (striping)分布在多个节点上来提高任务并发存取能 力,并通过冗余数据提高可靠性。将系统的每一部 影片都分段,分布到上N个数据节点上,流式拷贝时 视频文件由N个节点共同提供。这里主要涉及分段和 放置策略。 一般来讲,分段的方法有两种,即按时间分段 和按空间分段。按时间分段就是将视频文件视为一 系列的有序帧,每一个分段含有整数倍帧。采用空 间分段的方法,分段的大小相同可以是几十K也可以 是几百K。大小要根据实际的系统环境(主要是分布结 点个数、网络带宽和缓冲区的大小)选择,过大将影 响并行度,阻塞网络,对于缓冲区要求高;过小将 使读盘过于频繁,导致响应时间增加。 放置策略也有三种:循环放置(也称顺序放置), 随机放置和优化放置。循环放置就是将分段从第一 个有剩余空间的节点起依次放置到后续节点,这种 方式有可能导致负载不平衡。随机放置通过一个伪 随机函数j=f(i)(j表示节点号,i表示段号),将拆分分 段单元i存放到服务器j上,如果f (i)选择适当,这一 方法将有效地解决过载转移的问题。通过随机数生 成函数,一个种子值能够初始化一个随机数序列。 这样一个序列是伪随机的,因为它可以通过同样的 种子值再次获得。通过伪随机函数方式存放的数据 块,可以通过伪随机函数和序列的种子找到下一个 块。因此,只要存放每个文件的种子,而不用再去 存储每个块的位置。优化放置就是根据当前结点整 体的负载情况,选择负载最小的几个结点进行存 放,这种方法还也可以推广到在预测每个结点未来 负载情况之后进行选择,当前这种方法需要集中式 的元数据管理器进行负载收集、预测和统计,实现 起来较为复杂。 系统无节点故障时,数据节点阵列同时进行 N个数据上载服务,每个服务占用一条流式拷贝流, 每条流的拷贝速率是可调的,由于流式拷贝可视为 周期性运转动作,因此阵列可循环处理各个流的请 求。在每个循环中,阵列为各拷贝流从阵列上读取 一定的媒体数据,经处理后,通过网络送给服务节 点。另外,当系统无故障时,阵列将只读取检索数31高性能计算技术 据单元,而跳过所有的奇偶检验单元。 (2)缓存优化和分级存储技术 缓存是根据时间局部性和空间局部性原理,把 经常访问的数据对象或者访问概率较大的数据对象 (热点)放到能被最快访问到的地方(cache),命 中率(hit_rate)是评估缓存策略的重要指标。提高 热点数据在缓存中的命中率,对提高系统的整体性 能至关重要。首先,对热点的缓存能减少网络和磁 盘带宽的占用,通过本地缓存,减少了原本必须访 问远程服务器或者设备的请求的个数。其次,对热 点的缓存可以减少热点数据的访问延迟,已经缓存 的数据对象可以在cache中立即访问,用户可以得 到更快的响应速度。最后,对热点的缓存能提供更 高的系统可靠性。经常会出现这样的情况:由于对 热点数据的过载请求,导致系统中存储某些热点数 据对象的服务器不可访问,但是能在缓存中找到这 部分数据,通过采取一定的措施,可以恢复这部分 热点数据在其它可用服务器上的存储。在超大规模 存储系统中从前端播放服务器到后端存储结点的磁 盘,其I/O存取路径较长,会产生较高的延迟,因此 通过在存取路径中增加缓冲机制,能够非常有效的 提高请求的响应时间。 然而,传统的缓存方法假设的前提是所处理的 对象比较小,典型的如 Web cache 中HTML网页对 象,一般都小于1K字节。因此在一个多级存储系统 中,可以把数据对象缓存在源和目标之间的每一个 中间代理服务器缓存上。这种方法一般称作cache- everywhere策略。然而,对于网上的流媒体数据来 说,对它们的处理比对Web对象的处理困难得多。由 于音视频对象一般占用的存储空间都比较大,即使 数量不多也会占据大量的缓存空间,并且,传输大 文件也要占用较多的网络带宽,所以若对流媒体对 象也采用cache-everywhere策略,则会占用过多的系 统资源。 前面通过分析非均匀负载的请求分布特征,可 以在实验和理论上建立了评估访问热点的对象热度 模型,该模型帮助我们用热度值这一属性量化地定 义数据对象的访问频率(概率)。对象的热度值为 建立起高效的热点缓存、增加缓存命中率提供最直 接的依据,这对提高系统的整体性能至关重要。 可以根据给定的缓存命中率计算相应的缓存大 小,还可以根据对象的热度值设置对象在多级缓存 中的放置位置。 (3)分级存储技术 超大规模媒体存储平台中包含大量不同的存 储设备,具有不同的性能、可用性、容量和存取路 径。因此可以把这些设备按照不同的性能或者可用 性分为不同的级别,高级别的存储子系统存放最为 频繁使用的数据,而在较低级别存放过期或者不重 要的数据。从而提高系统的整体存储效率。 面向大规模媒体存储的分级存储与数据管理软 件可分为三个主要部分:分级存储代理、资源特征 代理、分级存储与数据管理服务端,其应用部署如 图4所示。 \ 图4 面向大规模媒体存储的分级存储与数据管理软件 应用部署 分级存储代理分别运行在前端服务器和存储结 点本地系统上,起两个作用:(1)收集应用需求相 关的信息,包括访问频度和访问模式,并发送到分 级存储与数据管理服务端(元数据服务器);(2) 与数据服务管理模块配合,按数据管理策略执行数 据管理操作。 资源特征代理调用存储虚拟层提供的存储资源 特征查询接口,获取存储资源特征信息,发送到分 级存储与数据管理服务端;同时,调用存储虚拟层 的虚拟化策略接口,导入并设置存储分级策略,支 持多级存储结构。 分级存储与数据管理服务端接收分级存储代理 和资源特征代理分别发送的应用需求信息和存储资 源特征信息,并基于策略规则生成数据服务管理策 略,然后通过数据服务管理模块和分级存储管理模 块分别启动数据管理和分级存储操作。另外,管理 员可以设置策略规则,包括配置时间轴策略,并提 供与存储一体化管理系统交互的接口。 5. 分布式文件系统(DNFS) 在超大规模媒体存储和计算系统中,分布式 文件系统起到关键作用,它对于超大规模媒体数据 和系统中的设备进行组织和管理。其中元数据服务 器又是其中重点和难点,因为所有的数据分配、迁 移、冗余和存取都需要它的调度和参与,并且实现32 《高性能计算发展与应用》 2011年第二期 总第三十五期 全局设备监控、存储服务质量和数据的生命周期管 理等都以它为核心。 事实上分布式文件系统是一个比较活跃的研究 方向,现国内外很多大学及研究机构还有公司等都 已经或正着手开发自己的分布式文件系统以支持那 些I/O密集型应用,以此来发挥集群系统的优势。现 已涌现出一批著名的分布式文件系统,如PVFS、 GPFS、zFS、Google文件系统、Lustre、Hadoop等。 图5 分布式文件系统的逻辑架构 图5是自行研究设计开发的分布式文件系统, 研究内容包括系统整体架构、存储对象的结构、元 数据格式和存取方法等一系列研究。重点的研究在 于数据传输、负载平衡、数据保护和数据分布策略 等;而在实现技术上,开发具有自主创新技术的海 量数据存储管理系统。目前完成客户端到存储服务 节点的数据传输模块;实现了基于OSD的文件系统, 能够对存储服务节点中的对象存储空间实施有效的 管理,并针对一些大规模媒体服务实现了性能优 化;完成了元数据服务器的元数据管理和数据分布 管理。整个分布式文件系统已经能够正常提供存储 服务,为了保证数据访问的一致性,提出并开发了 一种分布式锁管理机制。同时,该原型系统具有多 级缓存机制 由于元数据服务器采用自定义的数据结构,无 论存储结点还是客户端都能够进行方便的扩展,在 理论上没有扩展的限制。并且由于没有采用Hash型 的全局数据分布策略,而是根据存储设备性能结合 每个文件的特性进行动态优化分布,因此在扩展系 统时无需进行数据重构,这也极大的提高扩展时的 易用性和性能。由于采用多副本和重构延迟技术, 系统的可用性得到极大的提高,并且在短时失效情 况下,不需立刻启动重构机制,大大的提高的性能 和设备的使用效率。而且通过并发存取,提高请求 的平均响应时间,尤其对于大容量流媒体数据存取 具有很好的性能。 6. 基于存储对象保证存储服务质量的VOD系 统 视频点播服务(VOD)系统运行于资源共享的 开放环境中,为各类用户提供稳定可靠的视频点播 服务。然而目前的研究尚未准确了解构建在特定软 硬件平台上的多媒体点播应用负载的性能指标,特 别是缺乏对大规模多媒体系统控制方式的讨论。所 以虽然VOD作为QoS保证的服务提出,但实际上还不 具备实施有效QoS的手段,尤其针对存储过程。因此 传统存储系统由若干逻辑层次构成,层次间使用标 准的操作接口(如文件操作和数据块操作),上层 应用的行为或者语义在请求传递过程中被删除。因 此底层存储系统很难理解上层应用的行为并进行优 化。 基于存储对象的VOD系统通过把用户行为或者 其他语义通过存储对象属性的方式封装。从上层传 递到底层存储系统,其最终目标是实现用户级存储33高性能计算技术 QoS保证。具有属性管理的VOD系统用于VOD应用的 QoSS实施。属性模型中的基本功能由QoSS元数据服 务器以及对象存储设备(OSD)共同完成。 图6 基于存储对象的VOD系统结构 图7 基于属性传递的VOD系统工作流程 属性管理的VOD系统工作流程可以简单描述如 下: 前端服务器根据应用特征设置相关属性(包括 参数和策略); 元数据服务器根据系统实时运行情况设置相关 属性(包括参数和策略); 元数据服务器封装属性; 属性从元数据服务器传递到OSD; OSD解析属性,根据属性实施存储策略; OSD也可以根据系统运行情况自适应地配置参数 和策略。 该流程可以用图7表示,从图中不难看出,实现 上述系统存在两个关键问题:一是对存储系统属性 的量化分析,二是确定不同属性与存储策略之间的 对应关系。 根据基于属性的对象存储为基础,我们设计了 结合OSD T10标准和OSDfs实现对象访问接口,建立 了基于对象存储的可属性传递的VOD系统。能根据 VOD非均匀负载的访问热点分布情况自动调整底层 对象设备的缓存策略,使系统I/O性能总保持最优。 该原型系统的设计从实践上验证了属性存储系统用 于实现用户级QoS的可行性和高效性。 图8 基于对象存储的VOD系统 请求从包含VOD应用程序的应用层发出,经由 对象文件系统OSDfs转换为基于对象的访问后进入网 络传输层。网络传输层定义系统的数据传输方式和 格式,并提供面向属性和对象的访问接口。设备层 获取网络传输层解析的请求并按照对象属性的特征 分配和管理存储空间,并最终由各子系统的驱动程 序下发到实际的物理设备。元数据管理层则负责维 护文件、目录与数据块的映射关系,管理系统的属 性信息。 7. 总结 当前具有上亿数量多媒体文件和同时满足上 百万并发访问的超大规模多媒体存储和计算系统受 到越来越多的关注,也越来越多的应用到日常的社 会生活之中。这种系统对于传统多媒体存储结构提 出了巨大的挑战,需要新的软硬件结构以适应其容 量、性能、扩展性、处理能力、可管理和维护性等 诸多方面的要求。 在分析传统结构的基础上,给出了一种满足 超大规模媒体存储和计算的结构,并讨论了流行的 P2P结构。在此之上,讨论了系统的性能指标和优化 方法,重点给出了存储的整体优化思路,包括分析 和提取大规模多媒体数据访问模式,横向和纵向的 数据分布优化方法。之后结合科研实践探讨了两种 关键实现技术,面向大规模数据存储的分布式文件 系统和基于存储对象的服务质量保证机制。 参考文献: [1] D. P. Anderson and G. Homsy, “A continuous media I/O server and its synchronization mechanism,” Computer, vol. 24, p. 51-7, 1991. [2] F. A. Tobagi, J. Pang and R. Baird, and M. Gang, “Streaming RAIDTM-a disk array management system for video files,” in Proceedings of First ACM International Conference on Multimedia, 2-6 Aug. 1993, New York, NY, USA, 1993, p. 393-400. [3] A. Laursen, J. Olkin and M. Porter, “Oracle Media Server: providing consumer based interactive access to multimedia data,” in SIGMOD Record34 《高性能计算发展与应用》 2011年第二期 总第三十五期 1994 ACM SIGMOD International Conference on Management of Data, 24-27 May 1994, USA, 1994, p. 470-7. [4] J. Hsieh, M. Lin and J. C. L. Liu, D. H. C. Du, and T. M. Ruwart, “Performance of a mass storage system for video-on- demand,” in INFOCOM’95 - 14th Annual Joint Conference of the IEEE Computer and Communications Societies, April 2, 1995 - April 6, 1995, Boston, MA, United states, 1995, p. 771-778. [5] W. J. Bolosky, W. J. Bolosky and III, J. S. Barrera, J. S. Barrera, R. P. Draves, R. P. Draves, R. P. Fitzgerald, R. P. Fitzgerald, G. A. Gibson, G. A. Gibson, M. B. Jones, M. B. Jones, S. P. Levi, S. P. Levi, N. P. Myhrvold, N. P. Myhrvold, R. F. Rashid, and R. F. Rashid, “The Tiger Video Fileserver,” , 1996, p. 97--104. [6] M. C, S. N. P and O. Z. B, R. R, and S. A, The Fellini Multimedia Storage Server vol. 5. Boston: Kluwer Academic Publishers, 1996. [7] S. Ghandeharizadeh, R. Zimmermann and W. Shi, R. Rejaie, D. Ierardi, and T. W. Li, “Mitra: a scalable continuous media server,” Multimedia Tools and Applications, vol. 5, p. 79-108, 1997. [8] R. Muntz, J. R. Santos and S. Berson, “RIO: a real-time multimedia object server,” Performance Evaluation Review, vol. 25, p. 29-35, 1997. [9] C. Shahabi, R. Zimmermann and F. Kun, and D. Y. Shu-Yuen, “Yima: a second-generation continuous media server,” Computer, vol. 35, p. 56-62, 2002. [10] S. Annapureddy, S. Guha and C. Gkantsidis, D. Gunawardena, and P. Rodriguez, “Exploring VoD in P2P swarming systems,” in IEEE INFOCOM 2007, 12 May 2007, Piscataway, NJ, USA, 2007, p. 2570-4. [11] Y. R. Choe, D. L. Schuff and J. M. Dyaberi, and V. S. Pai, “Improving VoD server efficiency with bittorrent,” in 15th ACM International Conference on Multimedia, MM’07, September 24, 2007 - September 29, 2007, Augsburg, Bavaria, Germany, 2007, p. 117-126. [12] M. Zink, K. Suh and Y. Gu, and J. Kurose, “Characteristics of YouTube network traffic at a campus network - Measurements, models, and implications,” Computer Networks, vol. 53, p. 501-514, 2009. [13] A. Ganjam and H. Zhang, “Internet multicast video delivery,” Proceedings of the IEEE, vol. 93, p. 159-170, 2005. [14] T. T. Do, K. A. Hua and M. A. Tantaoui, “P2VoD: Providing fault tolerant video-on-demand streaming in peer-to-peer environment,” in 2004 IEEE International Conference on Communications, June 20, 2004 - June 24, 2004, Paris, France, 2004, p. 1467-1472. [15] V. Agarwal and R. Rejaie, “Adaptive multi-source streaming in heterogeneous peer-to-peer networks,” in Proceedings of SPIE-IS and T Electronic Imaging - Multimedia Computing and Networking 2005, January 19, 2005 - January 20, 2005, San Jose, CA, United states, 2005, p. 13-25. [16] M. Edward Yan and T. Kameda, “Generalized Fibonacci broadcasting: An efficient VOD scheme with user bandwidth limit,” Discrete Applied Mathematics, vol. 154, p. 2418-2429, 2006. [17] C. H. Lee, C. K. Choi and C. Y. Choi, and H. Choi, “Peer-to-peer proxy caching scheme for a large scale VOD system in P2P environment,” in 2005 International Conference on Parallel and Distributed Processing Techniques and Applications, PDPTA’05, June 27, 2005 - June 30, 2005, Las Vegas, NV, United states, 2005, p. 526-532. [18] K. K. W. Law, J. C. S. Lui and L. Golubchik, “Efficient support for interactive service in multi-resolution VOD systems,” VLDB Journal, vol. 8, p. 133-53, 1999. [19] W. Kai and L. Chuang, “Insight into the P2P-VoD system: performance modeling and analysis,” in 2009 Proceedings of 18th International Conference on Computer Communications and Networks - ICCCN 2009, 3-6 Aug. 2009, Piscataway, NJ, USA, 2009, p. 6 pp. [20] B. Cheng, L. Stein and H. Jin, X. Liao, and Z. Zhang, “GridCast: Improving peer sharing for P2P VoD,” ACM Transactions on Multimedia Computing, Communications and Applications, vol. 4, 2008. [21] L. Xiaofei, W. Hao and W. Song, and J. Hai, “A data storage mechanism for P2P VoD based on multi-channel overlay,” in Network and Parallel Computing. IFIP International Conference, NPC 2008, 18-20 Oct. 2008, Berlin, Germany, 2008, p. 127-37. [22] B. Cheng, L. Stein and H. Jin, and Z. Zhang, “A framework for lazy replication in P2P VoD,” in 18th International Workshop on Network and Operating Systems Support for Digital Audio and Video, NOSSDAV 2008, May 28, 2008 - May 30, 2008, Braunschweig, Germany, 2008, p. 93-98. [23] S. Wu, H. Wang and B. Cheng, and X. Liao, “Data-caching mechanism of P2P VOD based on multi-channel overlay,” Journal of Chinese Computer Systems, vol. 28, p. 1746-9, 2007.35高性能计算技术 [24] L. Xiaofei and J. Hai, “OCTOPUS: a hybrid scheduling strategy for P2P VoD services,” in Sixth International Conference on Grid and Cooperative Computing (GCC 2007), 16-18 Aug. 2007, Piscataway, NJ, USA, 2008, p. 24-31. [25] Y. Hu and Q. Li, “Peer-to-peer VOD model based on serve window,” Journal of Chinese Computer Systems, vol. 28, p. 2247-50, 2007. [26] Gemmel D and Vin H. Multimedia storage servers:a tutorial. IEEE Multimedia,1995 [27] Wright W E. An efficient Video-on-demand Model. IEEE computer, 2001,34(5):64~79 [28] Booth WD. A law of occurrences for words of low frequency. Information and control.1967,10(4).386~397 [29] 顾铁城, 陈道蓄. 影响媒体服务器性能的关键因素研究.小型微型计算机系统. 2002,23(12):1409~1418 [30] RaoS.&VinH.et al.Comparative evaluation of server-push and client-pull architecture for multimedia servers. Proceed-ings of 6th NOSSDAV,Zushi, Japan. Apr. 1996. Pages:45~48 [31] Wan Jiguang, Xie changsheng, Tan zhihu. VCL: A High Performance Virtual CD Library Server. 7th International Symposium on Optical Storage(SPIE ISOS2005) April, 2005. Pages:128~132 [32] KARAKOSTAS G,SERPANOS DN. Exploitation of different types of locality for Web caches. ISCC 2000. 2002. Pages:207 ~212 [33] BUSARI M, WILLIAMSON C. On the sensitivity of Web proxy cache performance to workload characteristics. IEEE INFOCOM 2001, 2001. Pages:1225 ~1234 要 闻 集 锦 据www.hpcwire.com网站2011年5月25日消息报 道,加拿大D-Wave公司近日与美国Lockheed Martin (洛克希德•马丁)公司签订合约,将向后者出售全球 首台商用量子计算机系统。根据合约,两家公司将展 开合作,利用基于量子退火处理器(quantum annealing processor)的计算平台的优势,解决 Lockheed Martin 公 司最具挑战的计算问题。这份长期合同包括一台系统、 售后维护和相关专业服务。 D-Wave开发的这台系统利用了量子力学的物理特 性,以一种节省成本和时间的方法解决一些传统方法难 以处理的问题,如软件检验和验证、金融风险分析、亲 缘性映射、图像中的目标识别、医学成像分类、压缩感 知和生物信息学等。 Lockheed Martin购买的这台系统代号为“D-Wave One”,采用一种名为“Rainier”的超导128-qubit(量 子位)芯片,这是首款商用量子处理器。2007年,该 公司发布了代号为“Orion”的16-qubit原型系统。当 时,D-Wave曾考虑未来系统将基于512-qubit和1024- qubit技术,但是直到目前,该公司才首次将128-qubit Rainier投入市场。 据D-Wave的联合创始人兼CTO Geordie Rose介 绍,D-Wave One采用一种“量子退火”方法来解决离 散优化问题。该技术可以用于所有类型的人工智能应用 中,如语言处理、计算机视觉、生物信息学、金融风险 分析和其他类型的高度复杂的类型匹配中。 D-Wave One基于超导处理器,这种处理器可采用 专业的过滤和防护系统屏蔽噪声,以确保处理器的环境 是极其安静的,并且在操作期间可将环境冷却到接近绝 对零度。整个系统的面积约有100平方英尺(约9.29平 方米)。 D-Wave One十分易于操作,用户可通过一种API 与系统互动,并可以通过多种编程环境对其进行远程访 问。 D-Wave One系统的总功率只有15KW,而且这种 功率要求不会随着处理器的变化而改变。该系统的售价 与大型高性能计算系统的价格差不多。D-Wave One已 用于运行大量应用,其软件由Google和D-Wave公司合 作编写。 D-Wave公司出售首台商用量子计算机 (肖 湄)36 《高性能计算发展与应用》 2011年第二期 总第三十五期 虚拟集群动态构建技术和方法  曾龙海 张博锋 张游 张丽华 上海大学计算机工程与科学学院 上海 200072 bfzhang@shu.edu.cn 摘要: 计算集群是把一组分散的计算机软件和硬件连接起来,以紧密协作完成计算任务。但是传 统的基于物理连接的高性能计算集群缺乏弹性计算能力、资源利用率低。为了灵活构建高性能 计算集群、按用户作业需求提供弹性计算资源、并提高物理机器的利用率,本文在Eucalyptus开 源框架搭建的云计算平台的基础上,利用OpenPBS集群管理软件构建虚拟集群(Virtual Cluster)。 实验证实,这种技术提高了资源的利用率、实现了弹性计算的理念。 关键词:云计算;虚拟集群;Eucalyptus;OpenPBS 1. 引言 目前,高性能计算集群在发展中面临的一些主 要问题有[1]: 1) 异构资源难以整合:不同类型的计算机资源 造成了集群系统平台的多样化,整合比较困难。 2) 软件系统维护困难:众多复杂的应用软件导 致高性能计算软件平台的维护非常复杂。 3) 系统资源不易扩展:基于有限的物理机器构 建的高性能计算集群,无法扩展出新的计算资源实 现弹性计算的理念。 基于云计算平台的虚拟集群 (Virtual Cluster,VC) 是解决这些问题的有效途径。云计算平台能够动态 的组织异构的计算资源,隔离具体的硬件体系结构 和多样化的软件系统平台,灵活构建满足不同应用 需求的计算环境,提高计算资源的使用效率,实现 弹性计算系统架构。本文主要论述基于云计算平台 的虚拟集群构件技术。 2. 云计算平台构建 云计算[2][3]是指通过网络将分散的计算资源互联 起来构建一个巨大的计算资源池,包括了分布式计 算、并行计算和网格计算等相关技术,是一种新型 的共享计算模式。云计算平台的构建主要是基于虚 拟化技术平台。 2.1 虚拟化技术 虚拟化技术[4]主要用来共享昂贵的大型机系统, 对计算机资源进行重新分配。在云计算平台中虚拟 化技术应用比较广泛的是KVM和Xen[5]。 (1) KVM是基于硬件的完全虚拟化,需要硬件的 支持(如Intel VT技术或者AMD V技术),对硬件要求比 较高。 (2) Xen支持硬件系统的半虚拟化和完全虚拟化, 兼容性比较好。这使得Xen无需特殊硬件的支持就能 够更好的实现虚拟化。本文就是利用Xen虚拟化技术 来构建虚拟集群的。 由于Xen虚拟机对硬件的兼容性比较好,并且可 以达到高性能的虚拟化,所以本文构建的云计算平 台的虚拟化技术利用Xen虚拟机来实现。下面主要介 绍Xen虚拟机在 ubuntu9.04 server 系统中的配置及使 用。 1) 安装Xen内核 在ubuntu操作系统下输入命令( 表示空格,下 同): dpkg-ilinux-image-2.6.26-2-xen-686_2.6.26- 15lenny2_i386.deblinux-modules-2.6.26-2-xen-686_ 2.6.26-15lenny2_i386.deb 其中Xen的image及modules需事先下载。 2) 安装xen管理工具 在ubuntu操作系统下输入命令: 本文受上海市教委信息化建设重点项目和上海市重点学科建设项目(编号:J50103)资助。37高性能计算技术 apt-getinstallpython2.5ubuntu-xen-desktop 3) 配置虚拟机参数 建立名为with-data的文件,其内容为: [root][data][swap] size=4Gsize=4Gsize=512M type=ext3type=ext3type=swap mountpoint=/mountpoint=/data options=syncoptions=nodev errors=remount-ro 4) 创建虚拟机 安装完成后,重新启动系统进入加载了Xen内核 的ubuntu操作系统,输入命令: xen-create-image--hostname=vm0--dhcp-- dist=redhat--arch=i386--partitions=with-data-- boot--passwd--role udev 这里需要事先创建redhat操作系统的镜像文件。 2.2 Eucalyptus平台 Eucalyptus[6]是一个用于实现云计算平台的开源 软件基础设施,主要包括节点控制器、集群控制器 和云控制器。实现云平台的搭建主要有以下几个步 骤。 (1) 主节点配置 在主节点上安装云控制器、集群控制器、存储 服务。在ubuntu系统下输入命令: apt-getinstalleucalyptus-cloudeucalyptus- cceucalyptus-walrus eucalyptus-sc (2) 计算节点配置 在计算节点上安装节点控制器eucalyptus-nc。在 计算节点ubuntu操作系统下输入命令: apt-getinstalleucalyptus-nc (3) 网络配置 Eucalyptus平台中主节点和计算节点之间的网络 通信模式为桥接模式,需要对计算节点网络链接方 式更改为桥接模式。 (4) 主节点和计算节点的身份认证 产 生s s h密钥,并将公钥拷贝到计算节点的 Eucalyptus用户目录下,实现无密码连接。 3. 虚拟集群系统构建 虚拟集群采用虚拟化技术创建多台虚拟计算节 点,从而构建出与物理集群相似的集群系统。图1是 本文给出的虚拟集群拓扑结构。 本文通过作业管理系统PBS[7]来对虚拟集群进行 管理和监控,利用虚拟化技术添加新的计算资源, 弹性构建虚拟集群,实现用户的按需计算。下面主 要介绍虚拟集群的弹性构建。 图1 虚拟集群拓扑图 3.1 虚拟集群弹性构建 当虚拟集群的计算资源不能满足用户申请所需 的计算资源时,云计算平台就动态的虚拟出所需的 虚拟机计算资源并添加到虚拟集群中以满足用户的 需求。弹性构建虚拟集群流程图如图2所示。 主要内容包括: (1) 创建虚拟机器:基于构建的云计算平台上可 以灵活的创建虚拟机器,并根据需求可以虚拟出不 同的操作系统,本实验主要创建Red Hat9.0操作系统 的虚拟机。 (2) 启动虚拟机器 #xm console vm0 将新增虚拟节点添加到虚拟集群系统: 在/etc/hosts.equiv文件下追加新增虚拟节点信息 cat vm0 >> /etc/hosts.equiv 启动新增虚拟节点执行器 #pbs_mom (3) 刷新计算资源 查看虚拟集群空闲节点信息 #pbsnodes -a |grep free 返回空闲资源数目,刷新计算资源信息。 图2 虚拟集群构建流程图38 《高性能计算发展与应用》 2011年第二期 总第三十五期 (4) 释放计算资源 待作业运行完成,注销虚拟机器 #xm halt vm0 弹性构建虚拟集群伪代码如下: If(computer_resources= need_virtualMachine_num){ For(;currentVirtualMachineNum;currentVirtualMach ineNum --){ startVirtualMachine(); } } createVirtualMachine(); addToVirtualCluster(); refreshComputerResource(); jobRun(); releaseComputerResource(); }else{ jobRun(); releaseComputerResource(); } 4. 实验验证与结果分析 为了验证虚拟集群的弹性构建及按需计算的 能力,本文利用两台型号配置相同的计算机进行实 验,实验环境如表1所示。 表1 实验环境节点配置情况 机器数 CPU 核数 主频 内存 2台 Intel(R) Core(TM) 2 Duo T6670 双核 2.20GHz 4096Mb 4.1 集群构建灵活性实验 4.1.1 传统物理集群构建 (1) 2台物理机器分别安装Redhat 9.0操作系统, 花费时间20分钟(根据机器性能略有偏差)。 (2) 安装OpenPBS2.3.6集群管理软件,构建一个 具有4个CPU计算资源的集群系统平台,花费时间 10分钟。 4.1.2 虚拟集群构建 (1) 分别在2台物理机器安装Ubuntu9.04操作系 统,花费时间20分钟(根据机器性能略有偏差)。 (2) 安装Eucalyptus,构建具有两个计算节点的云 计算平台,其中一台机器既做云计算平台主节点又 做云计算平台计算节点,花费时间20分钟 (根据机器 性能略有偏差)。 (3) 安装Xen,创建2台虚拟机,虚拟机配置为单 核CPU,256Mb内存,Redhat9.0操作系统,同时创建 两台虚拟机花费时间4分钟。 (4) 安装集群管理软件(同上)。 可以看出,除去云计算平台的构建时间,创建 虚拟集群在灵活性和耗时上具有明显的优势[8],可 以在较短的时间内同时创建多台虚拟机器,快速添 加到虚拟集群系统中。 4.2 作业运行效率对比实验 4.2.1 作业提交 分别向物理集群和虚拟集群一次性连续提交若 干作业,每个作业只需要一个CPU计算资源,本文 采用的作业测试程序为一个连续累加109次的加法程 序。代码为: #include #include int main(){ int i=0,j=0,k=0,d=0; clock_t start,finish; double runtime; start = clock(); for(i=0;i<1000;i++){for(j=0;j<10000;j++){ for(k=0;k<10000;k++){d=0;d=i+j+k;}}} Finish = clock(); Runtime=(double)(finish-start)/CLOCK_PER_ SEC; printf(“%f seconds\n”,runtime); } PBS作业提交脚本为: #!/bin/sh #PBS -N test #PBS -q workq #PBS -l ncpus=1 #PBS -l nodes=1:ppn=1 cd /usr/pbs ./test 4.2.2 作业运行效率分析 统计所有作业从递交时间到运行完成所花费的 时间 (如表2所示)。其中作业花费时间包括运行时间 和等待时间。 统计结果对比如图3所示,当作业需要核数小于 物理核数(这里为4)时,虚拟集群中的作业运行效 率不如物理集群的运行效率高;当作业需要核数大 于物理核数时,可以通过合理构建虚拟集群提高作39高性能计算技术 业的运行效率,而且随着作业需要核数的增多,虚 拟集群中的作业运行效率将明显得到提高,当作业 需要核数为16时,本文实验测得的作业运行效率可 以提高30%左右。 表2 作业运行效率对比 作业 个数 物理集群 (时间/秒) 虚拟集群 (时间/秒) 提高 效率 1 45 37 17.8% 2 46 86 -87.0% 4 90 122 -35.6% 6 171 164 4.1% 8 179 162 9.5% 10 226 207 8.4% 12 265 227 14.3% 14 316 244 22.8% 16 352 246 30.1% 图3 作业运行花费时间 这说明当作业需求核数较多时,构建虚拟集群 是一种能减少作业排队等待时间、提高计算资源利 用率的有效途径,特别是可以让需求核数大于物理 核数的大作业得到运行,从而解决了由于物理资源 不足而造成的大作业无法运行的问题。 5. 结论 本文主要设计与实现了一个虚拟集群,验证了 构建虚拟集群的可行性,与传统的物理集群相比, 虚拟集群更具灵活性。 (1) 将云计算平台和集群管理技术相结合,可以 更加方便快速的构建高性能集群系统平台。 (2) 当集群系统中的作业数量较多时,通过减少 作业排队列的等待时间,虚拟集群在作业的运行效 率上将比物理集群更具明显优势。 (3) 虚拟集群可以让需求核数大于物理核数的大 作业得到运行,从而可以解决由于物理资源不足而 造成的大作业无法运行的问题。 下一步要做的工作是,创建多样化的应用软件 平台,利用已经构建好的虚拟集群自动配置各种不 同运行环境,如MPI、PVM等,以及各种科学计算软 件,如CFX、Fluent、ACE、ABAQUS等,进而使虚 拟集群技术实用化。 参考文献: [1] 刘柏,王海文,于智.高性能计算机发展现状及我国发展高性能计算机遇到的问题[J].广西轻工业,2006,22(6):94- 95. [2] 刘鹏.云计算的定义和特点[EB/OL].[2009-2-25]http://www.chinacloud.cn/2009-2-25. [3] I.Foster, Y.Zhao, I.Raicu, and S.Lu,Cloud Computing and Grid Computing 360-degree compared[C], in Grid Computing Environments Workshop, 2008,pp.1-10 [C]. [4] R.J.Creasy. The Origin of the VM/370 Time-Sharing System. IBM Journal of Research and Development, 1981,25(5):483- 490. [5] 杨晓伟,廖光灯,胡越明 .基于Xen的X86虚拟机性能调优[J].计算机工程,2006,32(24):251-253. [6] D.Nurmi, R.Wolski, C.Grzegorczyk, G.Obertelli, S.Soman, L.Youseff and D.Zagorodnov. The eucalyptus open-source cloud- computing system. In Cloud Computing and Applications 2008(CCA08),2008. [7] Albcaus Bayucan, Robert L Henderson. Portable Batch System[M]. Symposium on Cluster Computing and the Grid, 2001. [8] 辛军,陈康,郑纬民.虚拟化的集群资源管理技术研究[J]. Journal of Frontiers of Computer Science and Technology, 2010,4(4):234-329.40 《高性能计算发展与应用》 2011年第二期 总第三十五期 虚拟化电源管理及其技术  易星宇 翁楚良 上海交通大学计算机系 上海 200240 摘要: 论文对电源管理技术做出分析,介绍了传统操作系统和服务器系统中电源管理方面所做的 研究,并分析总结了虚拟机环境下电源管理技术和传统电源管理研究的区别,从两方面讨论了进 行虚拟机电源管理研究的思路与问题,最后详细讨论了目前在虚拟机电源管理方面的研究进展。 关键词:电源管理,虚拟化,节能技术,低功耗 1. 介绍 1.1 虚拟化技术 在计算机科学中,虚拟化是对操作系统或者硬 件的虚拟化。虚拟化隐藏了真实的计算机硬件,表 现是一个抽象的计算机平台。 虚拟化在1960年为了描述虚拟机(实验性的IBM M44/44X系统)这个概念被第一次提出。对虚拟机的架 设和管理被称为平台虚拟化,现在也被称为服务器 虚拟化。平台虚拟化表现为在一个给定的硬件平台 上宿主机创造一个模拟的计算机环境(虚拟机)提供给 客户机。客户机软件对于用户应用程序没有限制;许 多宿主机允许运行真实的操作系统。客户机就好像 直接运行在计算机硬件上。虚拟机对硬件资源(如网 络,显示器,键盘,硬盘)的访问被统一管理在一个 比处理器和系统内存更有限制性的层次上。客户软 件经常被限制访问计算机周边设备,或者被限制在 较低的设备性能上,这取决于宿主机硬件访问策略 的设定。 形式上,虚拟化是构建一个将虚拟的客户系统 映射到真实的主机系统上的同态。虚拟机(VM)通 过在真实机器上增加一层软件来支持所需实现的虚 拟机体系结构。例如,在Apple Macintosh上安装虚拟 软件可以提供一个Windows/IA-32虚拟机,在这个虚 拟机上可以运行PC应用程序。通常,虚拟机可以绕 开真实的机器的兼容性限制和对硬件资源的限制, 从而获得更高的软件可移植性和灵活性[1]。 通常所说的虚拟化技术指的是系统虚拟机系统 构架,一个系统虚拟机环境能同时支持多个系统映 像,每个都运行彼此独立的操作系统和相关的应用 程序,每个操作系统控制和管理一组虚拟的硬件资 源,虚拟机资源包括处理器、存储资源和系统的I/ O外围设备等。在一个系统虚拟机环境里,主机平台 上的真实硬件资源被客户系统虚拟机共享,硬件资 源的分配和访问由软件层—— 虚拟机监视器负责管 理。虚拟机监视器拥有真实的系统硬件资源,并使 其对一个或多个客户操作系统可用,这些操作系统 轮流执行在相同的硬件上[2]。 形象的表示为图1: 图1 系统虚拟机体系结构 1.2 电源管理 电力与能耗目前正成为企业服务器系统设计考 虑的关键因素,大型数据中心系统高峰时期需要昂 贵而复杂的散热设备用来保证服务器的正常工作温 度,以防止核心过热导致的不可靠性和不稳定性。 对于大型服务器系统为了保证处理器正常工作温 度,提供可靠的温度控制耗资巨大而且难以部署。 另一方面大型服务器系统的耗电居高不下,电费也41高性能计算技术 极大地增加了成本。最近的一篇IDC报道称:全世 界每年花费在企业服务以及散热耗电上超过300亿 美元,可能超过在购买新硬件设备上花费。例如 300W的高性能服务器每年大概耗电2628KWh,散热 设备耗电1748kWh,假设电的价格是$0.10,那么一 台服务器每年的电费成本是$338[3],这甚至超过服务 器的购买成本。 一般来说,计算机电源管理有三个目标: 1. 减少总的电力开销,包括散热设备耗电花 费; 2. 增加由电池供电的移动电子设备以及嵌入式 系统的连续工作时长; 3. 对服务器系统进行有效的温度控制,防止核 心过热; 2. 虚拟机电源管理问题 虚拟化技术在企业环境以及个人环境下得到广 泛应用,然而传统的电源管理方法难以在虚拟机环 境下使用。虚拟机需要自己的电源管理技术,同时 虚拟化技术也给传统电源管理技术带来了许多新技 术,例如虚拟机迁移技术,虚拟机的电源管理技术 研究也可以参照与学习传统的电源管理研究成果, 这将更进一步的推动虚拟化技术的发展与应用。 2.1 传统电源管理技术 系统级动态电源管理技术的关键问题是在系 统性能与能耗之间进行权衡,它依赖于节能硬件基 础。目前存在着许多节能的硬件技术,其中最重要 的技术是动态变压技术(DVS),也称动态变压和变 频技术(DVFS)。另外大部分处理器都支持低功耗 的睡眠态,工业标准ACPI也提供了睡眠态支持,让 处理器进入睡眠状态(idle)也可以降低处理器、内 存、总线等设备的功耗,在处理器处于深度睡眠状 态(Deep sleep)时,功耗将显著降低。例如Intel的 处理器的深度睡眠状态的功耗大约是处理器正常功 耗的23%。这些技术构建了电源管理技术的基础,每 种技术都极大地推动着电源管理研究。 有两种得到广泛应用的工业标准,高级电源管 理(APM)和高级配置电源管理接口(ACPI)。 高级电源管理(APM)是一种基于BIOS的系 统电源管理标准,最初由Intel和Microsoft提出并在 1992发布,它提供了CPU和设备电源管理并通过设 备工作超时设定来决定何时将设备转换到低耗能状 态,可以工作在IBM兼容机上。 高级配置电源管理接口(ACPI)是一个开放的 工业标准,为了解决APM的缺陷而提出,它提供了 电源管理统一的软硬件接口,ACPI标准允许操作系 统直接控制底层硬件的功耗管理部分。在ACPI规范 下,由操作系统控制电源管理,支持ACPI标准的所 有设备可以互相通信来了解彼此的状态,并受操作 系统的管理与控制。 在操作系统电源管理策略方面,由Benini等人 提出的动态功耗管理[4],根据工作负载的变化,选 择性地将系统部件切换到低功耗状态或者关闭空 闲系统部件,以最小的活动部件数目或最小的部件 功耗来提供系统所需的服务和性能级别,一般方法 是“race-to-halt”,使用这种策略,系统以最大的性 能和功耗去运行提交的任务,当没有任务就绪时就 将处理器切换到睡眠态(deep sleep)。 另一方面,有动态电压调节策略,这种策略以 动态变压技术(DVS)为基础,基于CMOS电路的动 态功耗正比于时钟频率以及电压频率,功耗和性能 的关系可以表达为: PTurn是平均动态功耗,CL是负载电容,VDD是电 路电压,f是时钟频率。 这个公式意味着,当系统以尽可能低的频率和 电压去执行任务时,使处理器无空闲,将能获得最 好的节能,但是同时损失了性能,例如导致响应时 间过大,因此需要平衡系统性能和能耗。 在动态电压调节策略方面,Mark Weiser[5]提出节 能调度的理论,文章中提出基于预测的动态电压调 节的一般策略。DVS变压操作只在周期性的时间节点 进行,因此需要预测未来的负载情况,以将处理器 调节至合适的节能态,最简单的方式是预测当前周 期的负载和前一个周期的负载一样。在该篇文章基 础上Grunwald[6]使用概率学的方法去研究预测,J.O. Kephart[7]又在预测方法中使用机器学习的技术来提高 预测准确率。 2.2 单机虚拟机电源管理 虚拟机技术的快速发展,虚拟化技术的广泛应 用,迫切需求虚拟机节能技术的出现。当虚拟化发 展的同时,虚拟化技术给电源管理技术带来了许多 难题,也推动电源管理技术发展和进步,虚拟机迁 移技术成了解决性能和功耗矛盾的又一有力工具, 电源管理技术从此有了虚拟化视角。 传统PC在节能方面,是通过使用DVS变频技术 根据处理器的使用率去动态的调整处理器的频率。 而在现代虚拟机环境中,包含分布开来的多层的软 件栈,有虚拟机监视器、多个VM和客户操作系统。 在这种的环境下,直接集中式的电源管理并不可 行,因为设备的控制以及信息分布在系统中彼此分 离的地方。42 《高性能计算发展与应用》 2011年第二期 总第三十五期 在虚拟机系统的底层,虚拟机监视器控制着硬 件设备以及设备状态。主机和虚拟机监视器直接控 制硬件资源,但是它们没有掌握用户应用的信息, 而对于客户操作系统,恰恰相反,它对用户应用了 如指掌,但是客户操作系统没有权限去控制设备, 因为虚拟机监视器对用户操作系统是透明的,它看 不到真实的硬件。 另一方面,虚拟化技术提供了虚拟机之间的独 立性以及隔离性,虚拟机的性能表现也是相互独立 的。而电源管理将直接影响虚拟机这两种特性,造 成虚拟机间的隔离性降低,并影响虚拟机的独立性 和虚拟机监视器的透明性。 2.3 集群虚拟化电源管理 对于企业用户来说,大型数据中心以及web服务 器的电力成本昂贵,管理复杂,而且电力的成本高 昂甚至超过购买服务器的硬件成本。服务器虚拟化 的广泛应用,极大地降低了管理服务器系统的难度 与花费,但是传统的电源管理技术并不适用于使用 虚拟化技术的服务器上。企业服务器供电设备、磁 盘阵列、交换器等设备也消耗掉不少的电力,所以 节能技术需要综合考虑这些设备能耗。 虚拟化技术为企业用户提供了一个很好的工 具,即虚拟机迁移技术,通过迁移技术平衡服务器 间的负载,在系统低负载时,通过合并负载并关闭 部分服务器来达到节能目的。在正常负载情况下, 也可以通过均匀服务器负载,每个物理机都以低功 耗方式运行,来达到更好的节能。 在企业环境下,有许多的专用节能技术,例 如web服务的请求打包技术、针对磁盘阵列的节能 技术。对于单机电源管理,电压与频率需根据当前 的负载状态调整,当频率刚好满足负载时将达到最 好的节能效果。对于服务器系统不单考虑一台物理 机,需要综合各个服务器的负载状况。而虚拟机迁 移就可以提供很好的负载迁移能力。对于请求打包 技术,在低负载的情况下,让计算机集中处理打包 的请求,在空闲的时间就可以让处理器进入深度睡 眠态,这对许多企业应用来说是可行的。 3. 虚拟机电源管理研究进展 传统的电源管理技术在单一机器环境和企业环 境两个方面都得到大量研究,虚拟机电源管理者大 多从两个方向去研究电源管理问题,一个在单机系 统下从虚拟机作为特殊操作系统的角度去研究虚拟 机的电源管理方法,另一个是从集群的角度去研究 使用虚拟化技术的服务器以及数据中心的电源管理。 3.1 单机虚拟化中的电源管理 在虚拟机能耗方面,获得每个虚拟机所消耗的 电能,将各个虚拟机的能耗区分开来对虚拟机电源 管理研究将有极大的帮助。这不仅能提供很好的虚 拟机隔离性,也为上层虚拟机提供了可以控制的可 操纵的能耗。为了得到各个虚拟机的能耗并能调节 虚拟机的功耗,Jan Stoess[8]等在文章[9]的基础上, 提出一种在分布的多层OS环境中进行电源管理的方 法与框架。文章解决了几个问题,对于虚拟机监视 器,上层的虚拟机彼此之间隔离开来。怎么区别对 待,又怎么区分开不同的虚拟机的功耗,在目前的 虚拟机技术以及研究中都没能实现。如图2,该框架 以控制回路工作方式工作,在每一次控制回合,首 先得到上一个控制周期的能耗,再分别由位于特权 虚拟机Domain0设备驱动计算得到不同的虚拟机能 耗,并将该数据提交给每个虚拟机,虚拟机得到了 自己的能耗,因而它能结合自己的电源管理策略来 控制调度;由能耗管理模块分析得到的虚拟机数据 并根据策略和目标决定下个控制周期的能耗配额; 然后,让设备驱动在满足该能耗配额的情况下将设 备按能耗分配给不同的虚拟机。 图2 分布式虚拟机电源管理 这种方案解决了许多虚拟机电源管理问题, 每个虚拟机能独立做出不影响其他虚拟机的能耗控 制,使得虚拟机内的操作系统决定自己的电源管理 策略成为可能,也使得企业服务器环境下虚拟化技 术的全局控制易于实现。不过它的实现过于依赖驱 动程序,需要对现有设备驱动进行大规模修改,一 些设备能耗计算也过于复杂。为了节能的目的,过 于精细的能耗计算往往是没有必要。不过该方法给 了电源管理研究者一个新的视角,也推动电源管理 的研究。 传统的计算机上已存在着大量电源管理研究成 果与技术,如何能在虚拟机系统里利用上这些宝贵 的成果将能极大的推动虚拟化技术的发展与应用。 在虚拟机系统中,虚拟机监视器虚拟了几乎所有硬 件,虚拟机监视器可以对OS透明,但是在电源管 理特性却没有被虚拟机化。文章[10]提出一种解决 办法,他的思想是在虚拟机监视器里不仅虚拟出设 备,也虚拟出功耗特性,称作虚拟能耗,提供虚拟43高性能计算技术 图3 Virtualpower系统构架 机可以操作的电源管理驱动。因此虚拟机中的操作 系统几乎不需要修改电源管理部分,现有的技术可 以不作修改在虚拟机中使用。虚拟机监视器的电源 管理模块要综合考虑到每个虚拟机做出的能耗控 制,并能协调这些策略以达到全局电源管理目标。 该方法允许每个独立的虚拟机操作系统做出自己的 电源管理控制,然后虚拟机监视器综合它们的决定 并实际控制设备,虚拟机监视器也会为每台虚拟机 虚拟出功耗和设备状态,它的实现方法类似于Xen的 事件通道,如图3。每个虚拟机能通过虚拟设备控制 虚拟能耗,来间接控制硬件设备和ACPI。 同样为了使传统的电源管理技术能在虚拟机系 统上中使用,Huacai Chen等在文章[11]中也提出了一 种有效的解决方案。它假设在一个物理机上,大部 分它上面的虚拟机情况都相似,那么取一台合适的 虚拟机,让它直接管理设备能耗状态。这个假设在 大部分时候是成立的,因此不需要去统计每个虚拟 机的独特情况,只需关注一个虚拟机所进行的电源 管理操作。他们实现的目标是保持虚拟机的电源管 理驱动不作改变,因此有着良好的兼容性,而虚拟 机监视器可根据策略选择一个虚拟机来管理物理机 的功耗,并且可以动态的选择。该解决方法是个实 用的方案,它提供了不算精确的能耗管理,即不需 精确地根据物理机使用状况去做决策,并且当虚拟 机监视器上存在一个不配合的虚拟机,虽然它很难 成为管理者虚拟机,但是其他管理者虚拟机做出的 选择将严重影响到该虚拟机的性能。因为它并不能 根据上层操作系统的应用特征来执行能耗控制,所 以并不能取得优秀而精确的电源管理。 3.2 集群虚拟化中的电源管理 在企业应用环境中下,要考虑到供电设备的负 载,散热设备的功耗以及负载等原因,企业服务器 的电源管理要综合考虑诸多因素。如何结合本地策 略和全局策略是企业环境下电源管理与单机电源管 理的重要区别。全局策略要考虑到各个控制功能的 协调,首先确保服务的准确性,即不能超过预算的 最大功率;其次要确保稳定性,保证不能功耗状态 巨大波动;再次保证效率,达到功耗和性能之间平 衡。 而之前的解决都只局限于单个方面,没能将 这些功能结合起来研究。而这些功能又是相互影响 的,全局与局部调度策略要考虑到它们之间的相互 关联的因素。RamyaRaghavendra等人在文章[12]的 工作就解决如此问题,他实现了效率控制、服务管 理、组管理以及虚拟机控制。效率控制实现节能控 制,服务管理通过直接作用于效率控制来满足电力 负载以及散热要求的限度,组管理根据机器的具体 物理布置并作用于服务管理,例如根据其中几个服 务器是否在一个支架上来限制电力负载压力,另外 虚拟机控制通过迁移技术来对它们做出协调。将它 们从范围的大小排列为组管理、服务管理、效率控 制。组管理与该组测量的能耗形成一个反馈控制回 路,同样服务管理与该服务器测量的能耗形成控制 回路,当前控制周期根据前一周期得到的能耗数据 以及能耗预算来调整,组管理直接作用到服务管 理,而服务管理直接作用到效率控制。该方法将企 业环境电源管理的几个关键因素考虑进来,并将它 们有机的结合起来,依照层次的框架,做出了从全 局到局部的控制,又利用虚拟机迁移技术来达到负 载的协调。 文章[13]提出一种适用于使用虚拟化技术的 web服务的节能的响应时间控制框架。在该框架里, 使用两种控制回路,都用来控制虚拟机的响应时 间,在每个控制周期得到所有虚拟机内的web服务 的响应时间的信息后并根据响应时间的历史数据, 由控制规则来权衡怎样做出调节。其中一个控制回 路是一个保证响应时间均衡的公平调度策略,也保 证物理机上的每个虚拟机能得到同等的服务,当然 这是根据响应时间来衡量的,而不是传统的使用率44 《高性能计算发展与应用》 2011年第二期 总第三十五期 公平。另一个控制回路来保证整机可用性的控制策 略,它根据所有虚拟机上的web服务的平均响应时间 来判定当前的CPU处理能力是否足够,如果不够就提 高CPU的频率,否则降频或者不改变频率,这样使得 系统处理器资源达到刚好饱和状态。因此系统的关 键还是响应时间的控制,而整个策略只是在单台物 理机上操作,有很多局限性。 文章[14]提出类似的保证响应时间的节能架构。 他们在之前研究[13]的基础上,将DVS的调节放到全 局,由整个服务集群来集中控制,并给集群中的 每台物理机设定处理器频率,这样集群中所有的物 理机都是同样的处理能力了。在不提供其他机制的 情况下,这样可能会出现,有不少物理机负载太大 而又有一些物理机负载太小。好在里面提供了虚拟 机迁移的方式,由集群集中控制,称作集群层次的 CPU资源协调器,当一台集群的物理机在一段时间里 负载过重,就将其中一个虚拟机动态迁移到其他负 载低的物理机上去。当然物理机内部的虚拟机之间 的协调和文章[13]类似,都是根据响应时间来决定该 如何分配处理器资源。 4. 结语 虽然目前许多电源管理的研究被发展与研究。 但大多数研究都是在传统操作系统节能技术基础之 上,在虚拟机系统上电源管理技术也取得了突出的 研究进展。但是一般实现方法都比较复杂,并且 许多实现方法不同程度的降低了虚拟机之间的隔离 性。由于虚拟化技术以及云计算的大量应用,基于 虚拟机的电源管理研究也越来越受重视。另一方面 电费成本在企业运营总成本比重的升高使得企业环 境下的电源管理研究受到极大的重视,市场前景广 阔。 虚拟化的广泛应用以及企业服务器的节能需 求,要求虚拟机电源管理技术取得更大的突破。作 为绿色计算的最重要的几个方面,节能技术和虚拟 化技术发展都推进了绿色计算全面的发展。 参考文献: [1] R.P.Goldberg,“Architecture of virtual machines”, pp, 74-112, 1973. [2] Jim Smith,Ravi Nair,“virtual machines versatile platforms for systems and processes”, publisher: Morgan Kaufmann, 2005. [3] RicardoBianchini, RamRajamony, “power and energy managerment for server systems”, Computer, pp, 68-76, 2004 [4] Luca Benini, Alessandro Bogliolo, Giovanni De Micheli, “A Survey of Design Techniques for System-LevelDynamic Power Management”, IEEE Trans on Very Large Scale Integration Systems, pp, 299-316, 2000 [5] Mark Weiser, Brent Welch, Alan Demers, Scott Shenker, “Scheduling for Reduced CPU Energy”, USENIX Symposium on Operating Systems Design and Implementation, pp, 13-23, 1994. [6] Dirk Grunwald, Philip Levis, Keith I. Farkas,Charles B. Morrey III, and Michael Neufeld, “Policies for dynamicclock scheduling”, USENIX Symposium on Operating Systems Design and Implementation, pp, 73-86,2000. [7] J.O. Kephart, H. Chan, R. Das, D.W. Levine,G. Tesauro, F. Rawson, and C. lefurgy, “Coordinating multipleautonomic managers to achieve specified power-performancetradeoffs”,Institute of Chartered Accountants of the Caribbean, 2007 [8] Jan Stoess, Christian Lang, Frank Bellosa,“Energymanagement for hypervisor-based virtual machines”,The Advanced Computing Systems Association,pp, 1-14, 2007. [9] GauravBanga, Peter Druschel, Jeffrey C. Mogul, “Resource containers: A new facility for resource managementin server systems”,USENIX Symposium on Operating Systems Design and Implementation, pp, 1-15, 1999. [10] RipalNathuji, Karsten Schwan, “VirtualPower: Coordinated Power Management inVirtualized Enterprise Systems”, The ACM Symposium on Operating Systems Principles, pp, 265-279, 2007. [11] Huacai Chen, Hai Jin, Zhiyuan Shao, “ClientVisor: Leverage COTS OS Functionalities for PowerManagement in Virtualized Desktop Environment”, ACM/Usenix International Conference On Virtual Execution Environments, pp, 131-140, 2009. [12] RamyaRaghavendra, ParthasarathyRanganathan, Vanish Talwar, Zhikui Wang, Xiaoyun Zhu, “No ‘Power’ Struggles: Coordinated Multi-levelPower Management for the Data Center”, Architectural Support for Programming Languages and Operating Systems, pp, 48-60, 2008 [13]Yefu Wang, Xiaorui Wang,“PARTIC: Power-Aware Response Time Control for Virtualized Web Servers”, IEEE Transactions on Parallel and Distributed Systems, pp, 323-337, 2009. [14] Xiaorui Wang, Yefu Wang, “Coordinating Power Control and Performance Management for Virtualized Server Clusters”, IEEE Transactions on Parallel and Distributed Systems, pp, 245-260, 2011.45高性能计算技术 在GPU上使用Monte Carlo方法解决 欧式期权定价问题  徐磊 徐莹 寇大治 上海超级计算中心 上海 201203 lxu@ssc.net.cn  白雪 复旦大学 上海 201203 xuebai@fudan.edu.cn 摘要: GPU计算在最近几年得到了蓬勃的发展,尤其是其向量化的计算处理方式,使一些特定的 计算方法得到了极大的计算性能提升,这就包括使用Monte Carlo方法计算的一些应用领域,而 在金融计算中就大量的使用到了Monte Carlo方法来处理一些期权问题。本文针对最基本的欧式 期权定价问题,使用Monte Carlo方法实现了GPU上的移植和开发,经过测试取得了良好的计算 效果。 I. 简介 1.1 蒙特卡罗模型 蒙特卡罗也称统计模拟方法,是二十世纪四 十年代中期由于科学技术的发展和电子计算机的发 明,而被提出的一种以概率统计理论为指导的一类 非常重要的数值计算方法。是指使用随机数来解决 很多计算问题的方法。 当所求解问题是某种随机事件出现的概率, 或者是某个随机变量的期望值时,通过某种“实 验”的方法,以这种事件出现的频率估计这一随机 事件的概率,或者得到这个随机变量的某些数字特 征,并将其作为问题的解。这就是蒙特卡罗方法的 基本思想。蒙特卡罗方法通过抓住事物运动的几何 数量和几何特征,利用数学方法来加以模拟,即进 行一种数字模拟实验。它是以一个概率模型为基 础,按照这个模型所描绘的过程,通过模拟实验的 结果,作为问题的近似解。 蒙特卡罗模拟有三个主要步骤: (1)构造或描述概率过程; (2)实现从已知概率分布抽样; (3)建立各种估计量。 1.2 蒙特卡罗模拟用于欧式期权定价 蒙特卡罗模拟是一种通过模拟标的资产价格 的随机运动路径得到期权价值期望值的数值方法, 也是一种应用十分广泛的期权定价方法。1977年, Phelim P. Boyle[1]首次将模拟方法用于解决金融资产 定价问题。假设资产价值服从随机过程,如果随机 扰动过程已知,我们就可以模拟不同的随机路径, 每条模拟路径代表一种概率情况下该资产的价值。 通过模拟多条路径,我们便可以得到最终资产价值 的分布情况。如果模拟的次数非常多,那么所得 到的模拟价值便会十分接近资产的真实价值。由于 大部分期权价值实际上都可以归结为期权到期回报 (payoff)的期望值的贴现,因此,尽可能地模拟风险中 性世界中标的资产价格的多种运动路径,计算每种 路径结果下的期权回报均值,之后贴现就可以得到 期权价值。 因而,将蒙特卡罗模拟用于欧式期权定价有如 下五个步骤: (1)假设风险中性的情况下,模拟资产的价格 路径。即从初始时刻的标的资产价格开始,直到到 期为止,为股价取在风险中性世界中跨越整个有效 期的一条随机路径; (2)计算该条路径的到期回报; (3)重复前面2步,得到多条样本的期权回报 值; (4)计算第3步所有样本的均值,得到风险中 性世界中期权回报值的估计;46 《高性能计算发展与应用》 2011年第二期 总第三十五期 (5)用无风险利率将该估计值贴现。 在有效市场,风险中性的世界,金融资产的价 格服从随机游走模型,标的资产价格变化所遵循的 过程可以写作: (式1.1) 在Black-Scholes[2]期权定价模型中,期权的价格 等于 ,其中r为无风险利率,T为期权期 限,f为期权的到期回报。其期望值是在风险中性的 假设下进行计算的: (式1.2) 其中,St是t时刻的资产价格,dWt是服从随机分 布的随机变量,与历史数据无关。r和σ为t时刻的漂 移率和波动率,现实中是随时间变化的,但在简化 模型中可设为常数。根据伊藤引理,我们将式1.2变 为: (式1.3) 因系数为常数,我们可得到: (式1.4) 由于Wt为布朗运动,Wt服从均值等于0的高斯分 布,设方差为T,我们得到: (式1.5) 因而由式1.4和式1.5得到: (式1.6) 如果已知欧式期权风险中性,我们可以模拟最 终价格,对于几何布朗运动,假设风险中性,标的 资产价格的变动如下: (式1.7) 最终得到的期权价格等于: (式1.8) 其中,K是期权执行价格,r是无风险利率。 2. 计算环境与计算方法 本文采用的CPU计算环境为上海超级计算中 心魔方超级计算机,该平台采用了Quad-Core AMD Opteron™- 8347 / Barcelona处理器,计算节点有四 路四核心和八路四核心两种,单核心频率1.9GHz, L2 2M,L3 2M,bus speed 1000MHz,单节点采用 4GB*16/32根,共计64/128GB ddr2 667MHz内存。 计算的软件环境包括,八路四核心节点操作系统为 SUSE Linux Enterprise Desktop 11 (x86_64),VERSION = 11,PATCHLEVEL = 1 (kernel: 2.6.32.12-0.7- default),gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux)。四路四核心节点操作系统为 SUSE Linux Enterprise Server 10 (x86_64),VERSION = 10,PATCHLEVEL = 2 (kernel: 2.6.16.60-0.27-smp), gcc version 4.1.2 20070115 (SUSE Linux)。使用的MPI版 本为mvapich-1.0。 GPU计算环境采用了NVIDIA Tesla™ S2050, Tesla GPU的20系列产品家族基于代号为“Fermi”的 下一代CUDA架构,支持技术与企业计算所“必 备”的诸多特性,其中包括C++支持、可实现极高 精度与可扩展性的ECC存储器以及7倍于Tesla 10系列 GPU的双精度性能。Tesla™ S2050与S2070 GPU旨在 重新定义高性能计算并实现超级计算的平民化,与 最新的四核CPU相比,Tesla S2050与S2070计算处理 器以十分之一的成本和二十分之一的功耗即可实现 同等超级计算性能。本文计算采用的CUDA toolkit的 版本为4.0RC2。 3. 关于GPU计算的实现和随机数的生成等相 关的内容 欧式期权算法中使用到了随机数发生器,用 于模拟布朗运动。随机数是具有一定统计学规律, 但是抽样值不能事先确定。实际中算法生成的随机 数不是绝对的随机数,而是“伪随机数”(Pseudo random number)。这是由于“伪随机数发生器”是 从一个初始状态(种子)开始,根据确定的算法 而 生成的,因此伪随机数发生器本质上它的输出是可 以预测的。在软件中,一般都采用含有大数乘法的 递推公式所计算出的一组数值产生随机数序列。例 如C语言中,程序初始化是调用一次srand(),函数设 置随机数种子(seed),然后在需要时调用rand()函 数来产生随机数。 GPU上的随机数发生器和CPU上有一定的区别。 由于GPU中若干个线程一起并发,如果每个GPU线程 都使用rand()函数,则每个线程得到的随机数序列是 一样的。因此GPU上需要一个并行的随机数发生器, 这意味着每个线程从不同的随机状态开始,使用不 同的或者相同的随机数发生器算法,生成具有相同 统计特征的随机数序列。 CPU 平台上可扩展的并行随机数发生器( SPRNG)库提供了可能是目前最好的解决方案。 SPRNG可以在多种平台上编译,它包括若干个常用 的随机 数生成器算法,以及随机数扩展方法,在不 同的处理器上生成随机数。GPU上各线程从不同的 随机状态开始,使用相同的算法生成随机数。目前 已知有较高质量的并行随机数算法是基于梅森旋转 (Mersenne twister)[3]演算法的并行算法。Mersenne 47高性能计算技术 twister由松本真和西村拓士在1997年开发的,基于有 限二进制字段上的矩阵线性递归,可以快速产生高 质量的伪随机数,修正了古典随机数发生算法的很 多缺陷。 CUDA SDK也基于这一算法在GPU上并行生 成随机数。值得注意的是,并行Mersenne twister算法 中随机状态的生成是耗时较长,例如4096个初始状 态,在魔方单核上需要将近40分钟。这些随机种子 需要保存在GPU的显存中,供GPU线程使用。幸运的 是,CUDA上随机数发生器于2010年8月发布,提供 了GPU上随机种子和随机数序列生成,并且可以提供 均匀,正态等不同统计特征的随机数序列。 NVIDIA发布的CURAND[1]库旨在提供简单高效 的函数库,用于生成高质量的随机数。CURAND库 由两部分组成。第一部分由CPU函数库和设备头文件 (curand.h)组成,CPU函数库和其他类型CPU平台 的函数库类似,头文件主要用于声明设备端函数, 并连接库函数。随机数可以在GPU上产生,也能在 CPU端产生。当在设备端生成时,需要在CPU端调用 函数库,实际的生成随机数的工作将在GPU端完成。 生成的随机数保存在GPU的显存(global memory) 中,此时,用户可以使用设备kernels来使用这些随 机数,也可以将这些随机数拷贝到host的主存中, 供CPU使用;当在host端生成时,所有的工作都将在 CPU上完成,生成的随机数保存在host的主内存中。 CURAND库的第二部分包含device端头文件:curand_ kernel.h。这个头文件包含device端的库函数,用于初 始化随机数发生器的states和产生随机数序列。用户 在编写GPU端代码时,需要包含此头文件,在用户的 kernels中可以调用这些device端的函数。在这种模式 下,随机数可以在生成后立即被用户kernels使用,而 不用将这些随机数保存到主显存中,然后再读取使 用。 使用cuRand生成double类型的服从正态分布的随 机数示例如下: curandState state; curand_init(1234, 1, 0, &state); double rand_num = curand_normal_double(&state); 随机数的生成需要curandState作为种子,需要 使用curand_init函数进行初始化。初始化一个种子 的与生成一个随机数(调用curand_normal_double函 数)的时间开销是有较大区别的。经测试,使用 GPU分别生成8*1024*512个curandState和随机数, 每个BLOCK使用512个threads,初始化curandState用 时46.938672秒,而生成随机数所用的时间只有 0.021300秒,两者相差2200多倍。所以,在生成num_ rand个随机数的时候需要设置生成的curandState的 规模,比如num_states,然后迭代num_rand/num_ states次生成num_rand个随机数。所有的curandState放 在GPU的 global memory 中,每次迭代生成完随机数 后,将更新的curandState写入global memory中,供下 次生成随机数使用,GPU端的代码示例如下: __global__ void init_kernel(curandState *state) { int tid = threadIdx.x + blockDim.x * blockIdx.x; curand_init(1234, tid, 0, &state[tid]); } __global__ void gen_kernel(double *dev_rand_num, curandState* state) { int tid = threadIdx.x + blockDim.x * blockIdx.x; curandState local_state = state[tid]; dev_rand_num[tid] = curand_normal_double(&local_ state); state[tid] = local_state; //保存更新的curandState供 下次使用 } 接下来,需要确定生成的curandState的规模。分 别选取规模1024*512,2*1024*512,4*1024*512, 8*1024*512,16*1024*512,32*1024*512,每个 BLOCK中使用512个threads,测试curandState生成的 时间,结果如下图: 图1 curand初始化时间 经测试,随机数的生成时间是随所生成随机 数的规模线性增长的。但是,由上图可知,随着 curandState规模的增加,所需要的生成时间并不是线 性增长,在实际的优化过程中,需要根据实际的问 题规模确定随机数种子(curandState)的规模来保证 使用最小的时间开销生成随机数。 在手工移植代码的基础上,本文还试用了 HMPP软件作为辅助工具生成CUDA代码。HMPP是 由CAPS公司提出的针对异构多核的并行编程模型。 HMPP作为一个开放标准,基于一组指令,用于处 理硬件 加速器的编程模型,并且避免了GPGPU编程 的复杂性。基于HMPP指令,可以使应用程序代码 和硬件加速器之间形成 相对松散的关系,使得基于 HMPP的应用程序代码通过重新编译就可以在不同的48 《高性能计算发展与应用》 2011年第二期 总第三十五期 硬件 加速部件上运行。 4. 测试结果与分析 选取PATH数为1.78*107进行测试,CUDA版本 中,设置的curandState规模为2048*366,测试的结果 如下: 图2 计算时间比较 由上图可以看出,使用np=16的MPI版本,较串 行版本有近15倍的加速,而使用单块 Tesla S2050 显 卡,较串行版本有43.76倍的加速。 关于计算结果,由Black Scholes方程计算的解析 解为0.798,而GPU的计算结果为0.7983659,与解析 解的结果非常接近。 采用不同规模的PATH数目测试期权价格收敛速 度,测试结果如下图: 图3 期权价格模拟 当PATH数目为4194304(2048*2048)时,模拟 值非常接近与解析解。 HMPP的计算期权价格为0.800541,与解析解相 差比较远,由于采用MT19937作为随机数发生器, 所以计算的加速比与手工实现的CUDA版本没有可比 性。 5. 结论 Monte Carlo方法已经被应用于求解期权价格, Monte Carlo方法使用大量随机独立的路径去模拟期权 价格的演变,算法的这种特性决定这种计算非常适 合在GPU上进行。GPU大量的计算单元,应用于金融 计算,已经被证明具有非常高的性价比。在我们的 模拟实验中,实验结果也获得了很高的加速比,比 较传统的CPU平台,GPU在计算金融领域具有很大的 优势。 在实验的过程中也发现了精度问题,使用相同 的随机数分别在GPU和CPU平台进行计算,GPU代 码执行的结果与CPU结果的相对误差在10-15左右, 这个误差偏高。同时发现由HMPP实现的GPU代码与 CPU的结果吻合。对于导致这个精度的原因,我们会 在后续的工作中进行进一步的研究。 对于Monte Carlo方法求解期权价格问题,众多的 模拟路径之间不存在相关性,没有数据的交互。这 种问题比较适合使用多GPU进行同时计算,在使用多 GPU进行计算时,理论上性能会线性提升。同一节点 上可以使用OpenMP非常方便的使用多块显卡进行计 算。由于全局通讯的量比较小,该问题也比较适合 基于MPI,使用GPU集群进行计算。这也是我们后续 工作的方向之一。 由于欧式期权定价模型比较简单,在后续的工 作中,我们也会尝试将GPU用于更复杂期权模型的定 价,比如:美式、亚式等类型的期权定价。 参考文献: [1] Boyle, Phelim P., Options: A Monte Carlo approach, Journal of Financial Economics, Volume (Year): 4 (1977), Issue (Month): 3 (May). pp. 323-338. [2] Black, Fischer and Myron Scholes, "The Pricing of Options and Corporate Liabilities", Journal of Political Economy, Vol. 81, No. 3, (May/June 1973), pp. 637-654. [3] Makoto Matsumoto, Keio University/Max-Planck_Institut fur Mathematik; Takuji Nishimura, Keio University.Mersenne Twister. A 623-dimensionally equidistributed uniform pseudorandom number generator. http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/ARTICLES/mt.pdf [4] CUDA CURAND library. http://developer.download.nvidia.com/compute/cuda/3_2/toolkit/docs/CURAND_Library.pdf49高性能计算应用 矫直机矫直过程的三维非线性有限元仿真  丁峻宏 李根国 王惠 上海超级计算中心 上海 201203  王英杰 全基哲 宝钢股份研究院 上海 201900 摘要: 针对九辊冷矫直机模型,利用有限元隐式和显式两种仿真算法就其矫直辊对板材的矫直过 程进行动态仿真,得到不同矫直环境和计算条件下钢板矫直过程中的残余应力分布特别是矫直 辊矫直力数据,为今后进一步探求矫直机工艺参数的合理性,建立更加精确的数字仿真模型以 及实现更为高效的动态数值仿真提供数据和参考。 关键词:矫直机,有限元,显式,隐式,并行计算 1. 引言 辊式矫直机属于反复弯曲式矫直机,是目前应 用范围最广的矫直机。辊式矫直机是在压力矫直机 的基础上发明的,它的矫直原理[1]是使板带材在矫 直辊压下力的作用下,进行纯弯曲、发生弹塑性变 形,当矫直力消除、板带材弹性回复后,消除了一 部分的原始曲率。剩余的曲率则作为下一个矫直辊 的原始曲率,经过多个矫直辊的作用,剩余曲率逐 步减小、板带材最终趋于平直。 由于采用平行辊式矫直机矫直的金属板带材在 矫直变形区内受多种因素的影响以及金属板带材生 产中自身形状缺陷的不确定性, 使得对矫直过程中某 一新产品或新机型确定合理的矫直工艺变得十分困 难。通过反复试验矫直与工人经验的相互结合法往 往生产周期长, 试轧费用消耗大[2]。 计算机软硬件水平的发展给利用数值方法来模 拟矫直工艺过程带来了可能[3,4],但是,矫直计算模 型中需要考虑多种复杂因素,辊和钢板之间的接触 模拟更是影响仿真计算成功的关键,其本质是对非 线性边界的处理[5]。实践表明,由于三维建模仿真 时,整体模型单元规模尤其是接触单元数量非常大, 对计算机硬件能力要求高, 耗费的计算时间也很长。 因此,利用高性能计算资源以及不同数值模拟方法 对矫直机工艺过程进行全三维仿真,并对其计算准 确性和计算效率进行分析和研究,具有很好的指导 意义和应用价值。 2. 仿真模型 矫直机结构复杂,最主要的工作组件为九根矫 直辊,辊与辊之间间距确定后,随着待矫直钢板厚 度的不同并兼顾其他工艺参数的影响,各矫直辊需 要单独进行上调或下调,以实现连续矫直过程。钢 板采用规则的长方体,因为实际上无法测得钢板在 进入夹送辊时的曲率,采用平直的长方体来模拟, 能更好的反应矫直后钢板内应力的变化情况。 将钢板与矫直辊定义为不一样的材料。钢板采 用弹塑性材料模型,而矫直辊受若干支承辊作用, 其刚度比较大,基本不发生弯曲变形,故将其视为 刚体。用刚体定义有限元模型中的刚性部分也可以 大大减少分析的计算时间,这是由于定义刚体后, 所有节点的自由度都耦合到刚性体的质心上,但刚 体对象需要准确的输入材料特性来计算接触刚度, 并且不能在刚体上的节点处施加约束。 矫直辊在矫直过程中的运动是绕辊子轴线的转 动,故约束其自由度为:定义沿 X、Y、Z 三个方向 的位移约束和绕 Y、Z 轴的旋转约束,辊子只绕 X 轴 (轴向)转动。图1给出了一个完整的矫直过程仿真 模型以及矫直辊标号,单元和节点数均超过12万。 图1 三维矫直过程仿真模型50 《高性能计算发展与应用》 2011年第二期 总第三十五期 3. 仿真方法 在矫直过程的弹塑性有限元分析中,从算法角 度可以分为两大类,即以迭代算法求解微分方程的隐 式静力算法和差分积分方法求解微分方程的显式动 力算法[6,7]。将有限元方法应用于矫直过程研究不但 可以节省实验费用,而且因其高速性和可靠性可以 对矫直过程中不易进行实验研究的课题进行深入探 讨。物质系统的运动方程可以表达为: (1) 当得到tn时刻的位移{u}n时,为求解下一时刻的 位移{u}n+1,显式算法和隐式算法采用了不同的处理 手段。 对于显式算法,结合位移Taylor表达式和中心差 分法,可得到速度和加速度的表达式: (2) (3) 将公式(2)和(3)代入公式(1),可以得到下一时刻 {u}n+1的求解表达式: (4) 对于隐式算法来说,可结合梯形法则,得到下 一时刻速度 和加速度 表达式: (5) (6) 将公式(5)和公式(6)代入公式(1),得到 的求 解表达式: (7) 比较公式(4)和公式(7)可以看出,在隐式程序 中,以直接求解的方法求解一组线性方程组,但在 矫直过程仿真中由于接触或材料求解的复杂性,可 能难以收敛,从而导致大量的迭代,因为每次迭代 都需要求解由大量线性方程组成的方程组,不论是 时间或者是硬盘空间的需求都相当可观。 而显式算法则是由前一增量步骤继续推算动态 行为,适用于求解高速动态问题,但它需要许多小 的时间增量来获得高精度的解答。在显式方法中可 以很容易地模拟接触条件和其它一些极度不连续的 情况,并且能够逐个节点求解而不必迭代,因为其 最明显的特点是没有隐式方法中所需要的整体切线 刚度矩阵。 对于工程领域内的某些分析,使用隐式算法或 是显式算法来做求解是明确界定的;然而,有一些 静态或准静态(Quasi-Static)问题,应用这两种求解方 式都能顺利的进行模拟。虽然计算量随着模型自由 度数的增加会提出更大挑战,但在隐式计算中计算 量的增大趋势更为明显,显式计算对于大规模计算 模型的求解速度更快。对于矫直过程的三维动态仿 真的实践,将使用ABAQUS软件的隐式算法以及LS- DYNA软件的显式算法分别进行计算并作对比。 4. 计算结果和分析 矫直对象包括两种不同型号的钢板:对于 钢板型号A,其截面特征(板厚约12mm,板宽约 2.5m),材料参数包括弹性模量221GPa,泊松比 0.3,屈服应力434MPa,摩擦系数0.12;对于钢板型 号B,其截面特征(板厚约22mm,板宽约2.4m), 材料参数和钢板型号A的完全一致。 通过对计算结果分析,有以下一些认识: (1) 图2显示的是在陆续经过9辊形成的连续矫直 作用后型号A钢板上等效应力的分布情况,特别是在 1#辊至5#辊这前几个矫直辊作用下,刚进入矫直 区的钢板受到的矫直作用最为明显,出现了明显的 弯曲和反弯曲特征,在钢板表面和矫直辊接触的局 部区域,材料均进入了塑性阶段。 图2 钢板矫直过程中的等效应力分布云图(ABAQUS) (2) 通过两种不同软件算法,对各个矫直辊在矫 直过程中与钢板接触挤压产生的总接触力的数值进 行对比发现(见图3),两者的接触状态下矫直力的 变化规律和平均水平都非常接近,相差值一般在几 十牛。对于工程问题来说,两者之间的相互验证, 说明了在给定同样条件下进行的两个矫直过程仿真 结果是可信的。 (3) 隐式算法和显式算法均可以完成矫直过程 的仿真,其中隐式算法软件处理此非线性计算模型 时,需要多次调试才能实现最终计算收敛,单次工 况计算需要14个小时;而显式算法软件不存在这个 问题,通过使用多核并行加速和质量缩放技术,单51高性能计算应用 次计算工况所需时间可控制在2小时左右,而计算结 果差别并不是很大。 图3 不同算法测得的2#矫直辊中接触力对比(上为 ABAQUS,下为LS-DYNA) (4) 进一步利用显式算法软件对型号B钢板矫直 过程的模拟发现,9根矫直辊在矫直过程中的表现具 有其他一些特点,见图4。比如3#矫直辊、4#矫直辊 和6#矫直辊,除了短时间内与钢板有短促轻微接触 外,其余时间与钢板无接触,接触力(矫直力)结 果数据显示为零,7#矫直辊数据表明钢板在矫直过 程中和矫直辊始终无接触,上述仿真得到的矫直状 态的变化和实际矫直过程中的测试数据反映情况完 全一致。 (5) 通过数值仿真,可以清晰描述各个矫直辊参 与矫直过程的状态,但钢板的矫直过程模拟需要一 个比较复杂的非线性计算模型,很多矫直机的工作 细节和具体参数对计算结果的影响不小,仿真数据 和试验数据相比还存有一些差异,因此对于目前阶 段的仿真模型还有很大的研究和改进空间。比如压 下调整系统稳定性、钢板冲击特性和钢板材料性具 体能参数等多个方面的因素,对钢板矫直工艺和矫 直效果也有着很大的影响。 图4 九根矫直辊上矫直力随时间变化曲线(LS- DYNA) 5. 总结 本文以某冷矫直机设备中的矫直辊和钢板矫直 过程为重点研究对象,建立了该九辊矫直机的数字 化有限元模型,结合不同仿真算法的计算结果,对 其矫直过程进行了数值仿真和对比分析,并有以下 认识: (1) 在进行钢板矫直工艺问题计算分析时,两类 算法计算结果差别不大,但是显式算法处理大变形 接触问题的能力强,求解计算稳定性更好,故花费 在模型调整计算上的时间较少,另外再结合一些缩 短计算时间的方法,使其计算效率明显高于隐式分 析方法。因此,对于矫直问题的仿真,同样条件下 可以优先选择显式算法。 (2) 通过三维数值仿真方法对钢板矫直工艺问题 进行研究,在工艺过程再现和计算数值精度上都有 很好的表现,同时也存有不少值得进一步深入研究 的地方。通过减少试轧所消耗的费用,缩短确定矫 直工艺和方案所需的时间,从而更加有效地矫正轧 件,提高设备的承载能力和经济效益。 参考文献: [1] 崔甫. 矫直原理与矫直机械[M]. 北京:冶金工业出版社, 2002. [2] 李学通, 杜凤山, 于凤琴. 中厚板矫直过程的有限元研究[J]. 重型机械, 2005, (1): 44-46. [3] 袁国, 黄庆学, 董辉. 中厚板矫直技术发展的现状与展望[J]. 太原重型机械学院学报, 2002,23(增):40-43. [4] 周存龙, 王国栋, 刘相华等. 中厚板热矫直过程中加工硬化模量和反弯曲率的确定[J]. 塑性工程学报, 2007,14(4):133- 135. [5] 苏岚,王先进,唐荻. 有限元法处理金属塑性成型过程的接触问题[J]. 2002,7(4):12-15. [6] ABAQUS 6.6 Documentation[M]. [7] Hallquist J O. LS-DYNA Theory Manual[M]. Livermore: Livermore Software Technology Corporation, 2006.52 《高性能计算发展与应用》 2011年第二期 总第三十五期 高性能计算在材料科学中的应用  胡双林 上海超级计算中心 上海 201203 slhu@ssc.net.cn 在当今的科学研究中,计算已和实验、理论 并列为三大科学方法。随着计算技术的迅猛发展、 科学理论模型日渐成熟,高性能计算在科学、工程 和社会等领域都有了广泛应用,用它来模拟或代替 实验已成为可能。在地球地质、气象气候、测绘科 学、天体空间物理、凝聚态物理、高能物理、计算 化学、分子生物学、基因测序、材料科学等领域, 高性能计算已是必备的研究手段。特别在物理、化 学、生物、材料等相关学科中,根据目前理论发展 的基础,利用高性能计算可以观察到比实验现象更 细致的层次,或者对目前比较昂贵或无法实现的实 验观测进行理论模拟,从而帮助解释实验结果,理 解自然规律,进一步指导实验过程。高性能计算还 有助于建立新的理论。 计算材料科学 材料在广义上是指能够满足某种需要的物质, 狭义上则指具有某些物理化学性质,可用于生产制 造的物质或组分。材料科学是利用物理、化学、生 物等基础学科的知识、理论和方法来研究材料的结 构、性质、功能和应用并对其进行改造或发明新材 料的交叉学科。它受到社会需求、资源状况、技术 水平等多方面因素的极大影响,并与机械、冶金、 力学等学科关系紧密。 计算材料科学是采用理论计算的方法来研究材 料的学科。对材料科学而言,计算研究特别重要, 因为计算不仅可以深入理解材料的细节,节约研发 成本,而且在某些特殊情况下,计算可以用来代替 或指导实验。例如,材料还未能制备出来,无法测 量它们的性质;有些材料可能会对人体健康有害, 或者处在高压、超低温、强磁场等某些极端条件 下,实验测量很难实现或者耗费巨大。 对不同空间尺度的研究对象,计算材料科学有 着不同的计算模型和方法。在原子分子层次(约10-10 ~10-7米),可以了解材料的电子、光学、磁性、 热学、力学等基本物理化学性质。在该层次中,量 子力学效应显著,材料会呈现很多奇特而优异的性 质,第一性原理计算和分子动力学是成熟而广泛应 用的方法,蒙特卡洛方法也常有应用。在纳米到数 百微米的尺度(10-9~10-4米)上,经常研究掺杂、位 错、晶界等晶体缺陷,晶体、高分子材料的生长, 有机分子的自组装等现象,分子力场和分子动力学 是常用的研究方法。在微米尺度(10-6米)以上, 由于体系粒子数增多和复杂的多体作用效应,涌现 出很多新的物理作用机制,因此需要相应新的理论 和模型来描述。材料从微米尺度慢慢进入宏观尺度 后,可对其进行合适的模型化,屏蔽更小尺度的细 节,使得工程力学上的很多方法能得以应用。 对材料尤其是各种信息、能源材料的研究并不 是只研究其静态性质,还需要研究它们对外场的动 态响应。此外,在材料的生长、催化等过程中也需 要关注其动态性质。在进行动力学计算时需要考虑 时间尺度,一般材料中电子运动过程在阿秒到飞秒 量级(10-18~10-15秒),声子振动在数十飞秒到皮秒 量级(10-14~10-12秒),蛋白质折叠在微秒到毫秒量 级(10-6~10-3秒),腐蚀过程在年(约107秒)的量 级。电子运动等较快的过程通常在频率域求解含时 方程,偶尔在时间域进行直接求解。皮秒到微秒量 级的范围内,通常采用分子动力学方法进行研究, 根据不同的对象和所需要测量的材料性质,选择不 同的方法和时间步长。 材料的空间时间尺度划分并不是绝对的。要 制成一种实用的材料并确保它的特殊性能,需要对 其从原子层次到工业生产应用尺度的性质均有所了 解。这就要求进行多尺度研究,将相邻的两个不同 空间时间尺度连接起来。有时采用某种重整化的策 略,将通过第一性原理计算得到的参数直接提供给 高一级的粗粒度方法使用;或者用精确耗时的方法 来训练更高一级方法的参数,进行快速大体系的计 算,以平衡精度和速度。有时采用分而治之的策 略,即把体系分成若干区域,重要的部分如催化反 应的中心使用高精度方法,外围相连不太重要的环 境部分使用低精度方法。 随着高性能计算能力飞速提高,材料科学应用 领域大幅度扩展,更大尺度的体系、更长时间的动 力学演化、更精确的理论计算描述成为可能,高性53高性能计算应用 能计算在材料科学中的应用也更加广泛。根据国家 973重点基础研究发展计划,材料科学领域的研究主 要集中在新型储能与清洁高效能量转换材料、信息 功能材料、生物医用材料、环境净化材料与放声材 料、纳米材料、材料的服役行为及其与环境的相互 作用、基础材料改性优化、新一代结构材料、新材 料设计与探索等方面。高性能计算在材料科学中的 应用也集中围绕着它们展开。 能源环境材料应用 要解决每况愈下的能源和环境问题,需要使用 更清洁高效的能源和提高现有能源的使用效率等, 光电转换材料、储氢材料、燃料电池材料等均是当 前能源环境材料的研究热点。 氢是清洁高效的储能材料,然而其存储是个 难题。储氢材料主要有金属氢化物、复合氢化物、 化学氢化物、活化的碳材料以及金属有机框架材料 等。美国空气化工产品公司以及中科院宁波材料技 术和工程研究所根据第一性原理和分子动力学结合 实验研究了在室温下氟插层石墨复合物的氢吸附性 能[1]。相对于金属氢化物和化学氢化物而言,多孔储 氢材料一般通过范德华力物理吸附或将氢气成键轨 道的电子提供给亲电体来储氢。他们发现,氟插层 石墨复合物体系储氢是通过亲核体的电子进入氢气 的反键轨道,相比活性炭和金属有机框架材料等其 他多孔储氢材料,氟插层石墨复合物在室温下具有 更高的吸附热。 完全优化的和吸附不同量氢气的部分氟插层石墨复合 物结构 图(a)为完全优化的氟插层石墨复合物结构,图 (b)、(c)和(d)分别是一个晶胞吸附2、12和24个氢气分子 的氟插层石墨复合物结构[1] 锂离子电池的应用十分广泛,提高其能量和 功率密度至关重要。影响电池性能的一个主要因素 是,在充放电过程中电极材料的体积会发生变化。 西安交通大学金属材料强度国家重点实验室与国际 合作,通过理论计算研究了以二氧化锡纳米线为电 池负极的锂离子电池在充放电过程中的结构性质变 化。[2]二氧化锡纳米线在反应中容纳了两倍多的体积 变化。研究人员依据密度泛函理论,计算了二氧化 锡的理想剪切强度。由于反应区域高密度的位错稳 定而连续地参与成核,该区域应力和理想剪切强度 相当,使得反应前端产生了径向膨胀。进一步结合 模拟退火方法计算出的各向异性的体积变化解释并 验证了实验。另外,利用攀爬镜像轻推弹性带方法 和分子动力学,对锂离子在电池中不同区域的扩散 速度进行计算,得出锂离子在反应后的无定形二氧 化锡间隙中的扩散是决速步。 信息功能材料应用 信息技术领域的众多材料关系到人类生活的方 方面面,并且能直接影响高性能计算自身的发展。 比如巨磁电阻材料的应用推动了信息技术的发展, 与此相关的研究工作获得了2007年度诺贝尔物理学 奖。为了进一步提高计算机的性能,对更小芯片制 程、更快响应和更高容量的存储材料、高介电常数 材料、器件中不同材料之间的界面、电子输运过程 中的传热过程等的研究,以及对其他可能会深入影 响信息技术发展方向的相关材料,如多铁材料、半 金属、稀磁半导体、导电高分子、压电材料、非线 性光学材料、超材料等的研究都在蓬勃开展。 多铁材料是一种同时具备铁磁性和铁电性的材 料,使用多铁材料,有望实现在极小空间储藏大量 数据和信息。中国科学技术大学量子信息重点实验 室运用第一性原理有效哈密顿方法,研究了钇及稀 土族金属(简称R)的锰氧化物RMn2O5的相图[3]。这是 一类特殊的多铁材料,具有很强的磁电耦合,显示 出巨磁电和磁极化反转效应。为了理解这一强磁电 耦合现象,研究人员依据密度泛函理论计算不同相 的能量用以拟合类海森伯模型中自旋声子耦合、超 交换相互作用等涉及的若干参数,构建模型哈密顿 体系,并用复交换的蒙特卡洛方法模拟该体系在有 限温度下的行为。他们成功复制了体系复杂的磁性 和铁电相变的多数特征,计算得到与实验契合的随 温度的极化变化,并复制出较低温度下磁相变中介 电常数的台阶,从而帮助理解该材料相变的微观机 理。 根据摩尔定律,芯片制程将越来越小,由于 二氧化硅介电常数较低,漏电成为很严重的问题, 因此需要寻求具有更高介电常数的材料。γ相三氧 化二铝的介电常数比二氧化硅略高,而且能很好地 在硅底物上外延生长,是较好的替代材料或可作为 更高介电常数材料的缓冲。美国国家可再生能源实 验室采用了一种盆地跳跃方法来寻找硅(001)方向和 γ相三氧化二铝(001)方向的界面的最低能量结构[4]。 他们使用超晶格平板模型来模拟界面,固定上面几54 《高性能计算发展与应用》 2011年第二期 总第三十五期 层硅原子的内部结构但允许整体平移,最下面几层 三氧化二铝则保持不动,界面处分为缓冲层和跳跃 层。结合密度泛函理论,最终得到了最低能量结 构,该结构的界面处,所有硅原子都是四配位,不 仅和氧成键,而且形成了预期之外的硅铝键。随后 的电子结构计算结果表明,这个未钝化的界面有着 较大的带隙且没有带间能级,具有极好的电子结构 性质,这是干净的半导体— 金属氧化物界面。 硅基氧化铝外延薄膜(Si/Al2O3)界面优化前模型和各 层定义[5] 生物相关材料应用 生物材料与人类的生存和健康息息相关,仿生 材料或在生物中使用人工材料都已有了很大进展。 其中,具有更好生物相容性的人工材料、人造骨 骼、纳米尺度的疾病诊断和药物传递、手术修复材 料的开发和应用等已成为材料研究中新的热点。 生物体中每个细胞都有离子通道,用以控制通 过细胞膜的特定离子流。分子对离子的筛选可由空 间或电学效应控制(2003年诺贝尔化学奖就颁给了 有关电压门控离子通道的分子结构的研究工作)。 钾离子和钠离子的半径尺寸与电荷相似,生物离子 通道通过精确安排氨基酸阵列来分离它们,但目前 人工制备分离还是尚未解决的难题。中科院苏州纳 米技术与纳米仿生研究所运用分子动力学研究模仿 钾离子通道蛋白质结构,设计了一种无机的钠钾离 子可控分离纳米通道结构[5]。他们在单壁碳纳米管内 壁排布不同构型的氧原子阵列,通过调节两种离子 不同水合分子数来控制钠离子和钾离子在通道内的 密度分布。这种离子选择性机制有助于理解生物离 子通道的机理,并给纯化系统和纳米传感器等仿生 纳米流体系统的设计带来启示。 中科院力学研究所采用分子动力学模拟研究了 微米纳米尺度药物传递中的电弹性毛细现象[6]。在动 态润湿和电润湿过程中,在接触线处会形成通常只 有一个单分子层的前驱膜。以前的理论分析认为, 非滑移的边界会在接触线处导致无穷大能量耗散, 因而在前驱膜中,滑移起了主要作用,表现出扩散 行为;而在电场作用下,前驱膜有较强的极化,极 性的水分子可能被吸引到前驱膜上。通过分子动力 学模拟发现,在水滴展开过程中,前驱膜快速地以 幂指数率传播,这一快速传播是因为水分子向前驱 膜连续而快速地扩散,而前驱膜本身是非扩散、非 滑移、类似刚性的。研究人员又引入原子细节,消 除了理论上认为的接触线处非滑移引起的无穷大能 量耗散。在实验中,当液滴的尺寸超过“弹性毛细 长度”时,弹性软膜会自发包裹液滴;当系统引入 外电场时,则会发生“电弹性毛细”现象,弹性软 膜在电场力的作用下被撑开。他们进一步研究了金 表面上石墨烯包裹和展开液滴的电弹性毛细现象, 发现可利用该现象来控制微米纳米尺度药物的传递 过程。 (a) (b) 人工设计钠钾离子分离通道模型图 图(a)为侧视图,图 (b)为俯视图。每个row箭头指向红色的羰基氧的行,浅 绿色代表碳原子,钾、钠和氯离子分别是绿,蓝和黄 色。通道两侧大量红白相间的折线是水分子[5]。 其他材料应用 当前,能源、信息、生物等各种功能材料的研 究热点都聚焦在纳米尺度。纳米材料由于其特殊的 尺寸范围,正适合运用第一性原理和从头算方法, 可以从原子细节来理解结构与性质的关系,今后, 它还将是计算材料科学的主要研究对象。 除上述几类材料外,各种特殊性质的材料如高55高性能计算应用 强度材料、记忆材料,以及材料在高压、低温、强 磁场等外场作用下的响应也有了广泛研究。在高压 下,即使是很简单的材料也常会显现难以预料的性 质。通常,锂和钠都显现金属性。吉林大学超硬材 料国家重点实验室提出一种粒子群优化算法,并结 合从头算方法,通过在得到的自由能面上搜索全局 最小值来探索碱金属元素锂或钠在高压下复杂的相 行为[7]。结果显示,在60~80吉帕压强下,锂的一种 新正交结构显示出其具有半导体性质,在70吉帕压 强下,其带隙大于0.8电子伏,这一行为来源于核之 间的互相排斥以及价电子在晶体空隙处的局域化。 在85~434吉帕压强范围内,三角平面结构为主体的 各种变形相更倾向于弱金属性。 现有条件下,材料科学领域在寻找新材料的同 时,也在研究对已有材料进行更有效的开发利用, 亦使用新材料来提高反应效率并直接作用于工业生 产。例如,新的催化材料不仅能提高反应速率,增 加经济效益,而且可以降低能耗,减少有毒物质的 使用和无用副产品的产出。在载氧血红蛋白和铁硅 沸石材料中,配位不饱和亚铁离子位于蛋白质、配 体或纳米孔基质中,具有很好的反应性和稳定性, 它是酶催化和均相催化氧化反应的中心。中科院大 连化学物理研究所通过密度泛函计算、表面科学测 量和催化反应实验,利用氧化亚铁和金属界面的限 域效应研究配位不饱和亚铁活性位置在异相催化材 料中的设计策略[8]。理论计算采用一个很大的超晶 胞氧化亚铁— 铂界面模型,计算了一氧化碳和氧气 的吸附能以及界面上一氧化碳氧化反应等一系列过 渡态的能垒,并比较了不同界面表面体系下的反应 性。结果表明,氧化亚铁和金属界面限域的配位不 饱和亚铁活性位置对双氧活化非常有效。这在典型 的质子交换膜燃料电池操作条件下能高效促进一氧 化碳氧化。 计算、理论和实验的有机结合 高性能计算给材料科学研究带来极大便利的同 时,材料科学的发展也推动了高性能计算的进步。 材料科学不仅研究单种材料的性质,还必须考 虑材料之间的复合和杂化。复合杂化材料的计算通 常需要结合多种尺度的方法,例如,第一性原理、 分子动力学、蒙特卡洛方法和全局优化算法等的结 合,量子力学、分子力学、有效介质近似和有限元 方法等的结合,它们的综合运用也给高性能计算带 来了挑战。 计算材料科学需要和实验紧密结合,计算结果 能直接解释实验现象,揭示反应机理,指导实验。 这要求计算的模型尽可能接近现实,科研人员对研 究问题的理解、选取的计算方法和软件以及机器的 计算能力等决定了计算的规模和并行效率。面向应 用的高性能计算需要深入理解材料科学问题本身, 以期做出更适合的软硬件。 材料科学计算中的前后处理、可视化等发展 相对平缓。计算只是材料科学研究的手段,怎样更 容易得到所需材料的结构、性质等信息值得思考。 这要求高性能计算从单纯的计算服务向提供包括计 算、数据存取等一站式服务的云计算转变,对各种 用户界面和终端的适应、计算和数据服务的模式等 进行探索,全方位提升高性能计算的易用性。近年 来,高性能计算领域最引人注目的进展主要集中在 图形处理器和云计算两个方面,它们均与材料科学 研究紧密相关,并处在努力探索和迅速发展中。 图形处理器(GPU)对分子动力学模拟的显著 加速已经进入实际应用,异构的高性能计算刷新了 计算速度的记录。此外,专用于分子动力学模拟的 芯片硬件也已出现[9]。新的基于GPU的第一性原理 计算程序开发也正在进行中,然而,比较成熟的第 一性原理计算代码并没有像分子动力学这样迅速跟 进,这可能由于GPU在这方面的研究还不够深入,相 关开发工具和数学库不够成熟等。 关于云计算的讨论和研究一直在火热地进行, 但主要是工业界各行业内部和与公共服务相关的日 常应用,材料科学领域的应用还在探索中。计算材 料科学的研究者认为,方便安全地随时随地接入服 务器、拥有多种接入方式和终端、对用户屏蔽机器 的相关细节、图形化的数据和作业管理、更轻量级 的可视化传输、互动式的操作界面等,也许是云计 算能带来众多好处中的几个,然而这些均需要高性 能计算和材料科学界继续共同努力。 目前,高性能计算软硬件的发展与材料科学 计算的需求也存在着一些不同步。材料科学领域中 的模型、算法的发展速度在某种程度上领先于高性 能计算能力的进步,这需要高性能计算和应用领域 充分互动,发展符合材料科学需要的专用软硬件。 另一方面,科学研究包括材料科学领域也尚未很好 地利用高性能计算的进展。近年来,多核众核硬件 快速发展,而相应的并行算法、内禀支持并行及异 构的语言、编译器、操作系统、软件层面等相对滞 后,现有的材料科学代码难以改写或高效地移植以 适应新的机器。高性能计算和材料科学互相推动必 将同时改变这两个领域的现有面貌。56 《高性能计算发展与应用》 2011年第二期 总第三十五期 参考文献: [1] Cheng H S, et al. An enhanced hydrogen adsorption enthalpy for fluoride intercalated graphite compounds. J Am Chem Soc, 2009, 131:17732-17733. [2] Huang J Y , et al. In situ observation of the electrochemical lithiation of a single SnO2 nanowire electrode. Science, 2010, 330:1515. [3] Cao K, et al. First-principles modeling of multiferroic RMn2O5.Phys Rev Lett, 2009, 203:257201. [4] Xiang H J, et al. Understanding the clean interface between covalent Si and ionic Al2O3. Phys Rev Lett, 2009, 103:116101. [5] Gong X J, et al. A controllable molecular sieve for Na+ and K+ ions. J Am Chem Soc, 2010, 132:1873-1877. [6] Yuan Q Z, Zhao Y P. Precursor film in dynamic wetting, electrowetting, and electro-elasto-capillarity. Phys Rev Lett, 2010, 104:246101. [7] Lv J, et al. Predicted novel high-pressure phases of lithium. Phys Rev Lett, 2011, 106:015503. [8] Fu Q, et al. Interface-confined ferrous centers for catalytic oxidation. Science, 2010, 328:1141. [9] Shaw D E, et al. Atomic-level characterization of the structural dynamics of proteins. Science, 2010, 330:341. 要 闻 集 锦 据www.hpcwire.com网站2011年5月18日消息报 道,美国能源部下属的橡树岭国家实验室(ORNL)近 日研发了的一项新技术,可将高性能计算机工作时产生 的废热转化为电能,用来为芯片降温,提高能源效率。 该研发团队的领导者Scott Hunter表示,这项废热 转换技术不仅可用在超级计算机上,还可用于电子设 备、光伏电池,以及工作时会产生大量废热的生产系统 上,节能潜力非常巨大。 这项技术最初的研发目标,就是利用废热发电, 来冷却高性能计算机的芯片,从而帮助解决千万亿次级 超级计算机的散热问题。因为这些巨大的机器产生的大 量热能必须被转移,转移效率越高,运行状态就越好。 该技术使用了尺寸约为1平方毫米的悬臂结构能量 转换器。在1平方英寸的面积上可以安装大约1000个这 种能量转换器。尽管每个转换器产生的电量很小,只有 1~10毫瓦,但很多这样的设备集结而成的阵列却可以 产生相当可观的电能,足以为远程传感系统提供电力, 或为冷却这些系统提供帮助,以减少能耗需求。 同样的情况也出现在使用热电、压电及传统的焦 热电平台技术中。通过使用反应迅速、循环时间短的 悬臂能量转换器,Hunter的团队预计可以实现10%~ 30%的热电转换率(主要取决于废热发电机的温度), 而且重要的是,在使用标准半导体生产工艺组装的低价 平台上就能够操作。 Hunter表示,热电物质温度的快速变化是能量转 换效率的关键。ORNL的这项新技术能够利用温度的变 化(从几度到几百度都可以),从废热中产生电能。 该设备以能量收集系统为基础,具有微电子机械 系统(MEMS)的热电电容器结构的特性。当其被加热 和冷却时,会导致电流在两个方向交替流动,从而产生 电流。在该装置内,悬臂连接在一个锚上,而锚连接在 废热发电机的基座上。当基座变热时,因为双材料效应 (bi-material effect),该悬臂也会变热并弯曲,类似于 房间内和恒温箱中使用的双金属开关的原理。 Hunter表示:“热悬臂的末端接触到冷表面,也 就是冷源时,悬臂上的热会散发出去,快速散热使悬臂 迅速弹回,并再次同热表面接触,悬臂再次变冷,然后 又弹回,如此循环往复。只要热表面和冷表面之间存在 温差,悬臂就会持续在热源与冷源之间摆动。” ORNL利用废热为超级计算机芯片降温 (赵 凡)57高性能计算应用 分子动力学软件GROMACS在GPU上的应用  寇大治 徐 磊 徐 莹 上海超级计算中心 上海 201203 dzkou@ssc.net.cn  左光宏 中科院上海应用物理研究所 上海 201800 ghzuo@sinap.ac.cn 摘要: 伴随着高性能计算的发展,硬件在计算能力和功耗上的矛盾越来越突出,作为试图缓解 这一问题的协处理和众核技术的代表,GPU在最近几年逐渐风靡全球。而分子动力学计算作 为高性能计算的主要应用领域之一,一直备受人们的关注,GROMACS[1]正是分子动力学软 件的主流代表之一。本文首先对GROMACS软件的GPU版本作业一些介绍,尤其是其与原 CPU版本的区别做了一些解释。之后就利用了NVIDIA公司C2050型号GPU设备和上海超级 计算中心“魔方”超级计算平台,就一些典型的分子动力学体系分别在GPU和CPU上进行了 GROMACS软件的测试和比较,并对计算性能的区别进行了讨论。 I. 简介 高性能计算发展到千万亿次时代之后,随着计 算能力的提升,硬件功耗也以惊人的速度增长,为 了解决能耗问题,人们开始转向协处理器和众核技 术的研发,通过增加大量的计算单元和简化控制单 元,可以使一些可向量化问题的解决能力得到极大 的提高,同时很好的控制了能耗的增加。在这一思 路的指引下,最近若干年,原本应用于图形处理的 GPU设备被高性能业界推向了前台,利用其大量的图 形处理单元来向量化的处理计算问题,这一方法得 到了一定推广和应用。 GROMACS是分子动力学通用软件包,可以用于 模拟包含几百到几百万粒子体系的牛顿运动方程, 特别适用于生物分子,如蛋白质,油脂等有含有大 量复杂健作用的体系,同时由于GROMACS在计算非 键作用时(这实际上也占了模拟的主要部分)相当 快,因此也可广泛应用于非生物体系,如大分子聚 合物。关于GROMACS的相关情况已经有过一些研究 和测试[2-3]。 本文将主要围绕GROMACS软件的GPU版本,以 及其在GPU和CPU平台上的表现做出比较和评测,以 期对该软件的使用有一个更全面的了解。 2. 测试环境 1) GPU计算环境:NVIDIA Tesla™ C2050 Tesla GPU的20系列产品家族基于代号为"Fermi" 的下一代CUDA架构,支持技术与企业计算所“必 备”的诸多特性,其中包括C++支持、可实现极高 精度与可扩展性的ECC存储器以及7倍于Tesla 10系列 GPU的双精度性能。Tesla™ C2050与C2070 GPU旨在 重新定义高性能计算并实现超级计算的平民化,表1 概述了其各方面的一些特性。与最新的四核CPU相 比,Tesla C2050与C2070计算处理器以十分之一的成 本和二十分之一的功耗即可实现同等超级计算性能。 本文测试采用的CUDA toolkit的版本为3.2RC。 表1 Tesla™ C2050与C2070 GPU的一些特性 基于新一代Fermi CUDA架构的GPU 与基于最新四核CPU的纯CPU系统相比,该GPU以十分之一的成本和二十 分之一的功耗即可实现同等的集群性能。 448个CUDA核心 每颗GPU最高可实现515 Gigaflop双精度峰值性能,从而让一台工作站 即可实现Teraflop级甚至更高的性能。每颗GPU的单精度峰值性能超过1 Teraflop。 58 《高性能计算发展与应用》 2011年第二期 总第三十五期 ECC存储器 能够满足工作站计算精度与可靠性方面的关键需求。能够为存储器中的数 据提供保护功能,从而为应用程序增强数据完整性和可靠性。寄存器文 件、L1/L2高速缓存、共享存储器以及DRAM均受ECC的保护。 台式机上的集群性能 与一个小型服务器集群相比,配备多颗GPU的单台工作站能够更快地解决 大型难题。 每颗GPU最多配备6GB GDDR5存储器 更大的数据集能够保存在直接附属于GPU的本地存储器上,从而实现了性 能的最大化并减少了数据传输的情况。 NVIDIA®(英伟达™)并行 DataCache™ 能够为物理效果解算器、光线追踪以及稀疏矩阵乘法等诸多算法加速,在 这些算法中,数据地址事先都是未知的。每个流式多处理器模块均包含一 个可配置的L1高速缓存,所有处理器核心使用统一的L2高速缓存。 NVIDIA®(英伟达™) GigaThread™引擎 通过多项技术实现了吞吐量的最大化,其中包括10倍于上一代架构的高速 上下文切换、并发内核执行以及改良的线程块调度。 异步传输 计算核心在PCIe总线上传输数据的同时还能够处理其它数据,因而增强了 系统性能。即便是地震处理这类需要大量数据传输的应用程序,也能够通 过事先将数据传输至本地存储器的方法来最大限度提升计算效率。 CUDA编程环境受到各种编程语言与 API的广泛支持 开发人员无论选择C语言、C++、OpenCL、DirectCompute还是选择Fortran语 言,都能够实现应用程序的并行机制,进而利用“Fermi”GPU的创新架 构。Microsoft Visual Studio开发人员可以使用NVIDIA®(英伟达™)Parallel Nsight工具。 高速PCIe Gen 2.0数据传输率 实现了主系统与Tesla处理器之间带宽的最大化。让Tesla系统能够应用于几 乎所有具备一条开放式PCIe x16插槽且符合PCIe规范的主系统。 2) CPU计算环境:AMD Opteron™ 8347 CPU上的测试工作主要是在上海超级计算中心 魔方超级计算平台上完成的,使用了魔方高性能计 算平台的胖节点,采用了Quad-Core AMD Opteron™- 8347 / Barcelona处理器,每一个计算节点为八路四核 心,单核心频率1.9GHz,L2 2M,L3 2M,bus speed 1000MHz,单节点采用4GB*32根,共计 128GB ddr2 667MHz内存。测试的软件环境包括,操作系统为 SUSE Linux Enterprise Desktop 11 (x86_64),VERSION = 11,PATCHLEVEL = 1 (kernel: 2.6.32.12-0.7-default), gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux)。同时GROMACS使用了fftw-3.2.2数学库[4], cmake-2.8.2和openmm2.0。 3. GPU版本的GROMACS对计算的支持情况 分子动力学算法(Integrators): 可供选项有:md/md-vv/md-vv-avek,sd/sd1和 bd。需要指出的是,分子动力学 OpenMM 库中只提 供了velocity-verlet算法,所以在实际的运行过程中, 选项md,md-vv,md-vv-avek没有区别,同样sd与 sd1也没有区别。另外需要注意的是虽然选项md是可 用的,但是对于GPU版本的GROMACS选择了md不再 是使用蛙跳算法了。(注:蛙跳算法是一种优化的 分子动力学算法。在CPU版本的GROMACS上md对应 的是蛙跳算法。) 长程相互作用(Long-range interactions): 可供选项有:Reaction-Field,Ewald,PME, No-cutoff,Cut-off。 需要使用No-cutoff时,请设置rcoulomb=0和 rvdw=0。Ewald方法只支持3D几何结构,偶极矩的 校正不再支持。(这个选项不是很常用,一般使用 PME方法) Cut-off方法只支持隐式水模型的模拟。 温度控制(Temperature control): 只在integrator的选项为sd/sd1,bd,md/md-vv/ md-vv-avek的情况支持。OpenMM库只使用Andersen 热浴算法。也就是说GPU版本的GROMACS,选用任 何tcoupl,都是使用Andersen热浴算法,使用不同的 组来分开设置其平衡温度的做法不再支持,而且在 使用中需设置 tc-grps=System。 力场(Force fields): 支 持 的 力 场 包 括 AMBER 与 CHARMM。 而 GROMOS与OPLS-AA力场不支持。且在CHARMM力 场 中 二 面 角 CMAP 算法也不支持,所以在使用 pdb2gmx时,需要使用-nocmap选项。 隐式水模型(Implicit solvent): 只有在库仑相互作用力(即参数coulombtype) 设置为reaction-field的情况下才可使用。对于GB模 型,只支持OBC算法,且对于GB模型中的一些参 数,也被编译到了程序之中,不能修改。具体的59高性能计算应用 参数与其值为:obc alpha=1, obc beta=0.8以及obc gamma=4.85。 局部固定(Constraints): 在OpenMM库中,局部固定由 SHAKE, SETTLE与 CCMA结合而实现。局部控制的精度由SHAKE强度面 控制,即由设置参数shake_tol控制。 周 期 性 边 界 条 件 ( Periodic Boundary Conditions): 只支持正方盒子下的 pbc=xyz 与 pbc=no 两种情 况。 压强控制(Pressure control): OpenMM 使用蒙特卡洛稳压算法。所有的 pcouple参数都能接受。 模拟退火(Simulated annealing): 不支持。 拉拽算法(Pulling): 不支持。 局部限制(Restraints): 无论是距离、方向、角度还是二面角的限制均 暂不支持。(注:restraint与前面的constraint不同之 处是,restraint是将这些值固定在一个范围内,而 constrain是将其固定在某一个值。) 自由能计算(Free energy calculations): 暂不支持。 空间势能限制(Walls): 不支持。 非平衡分子动力学(Non-equilibrium MD): 不支持acc_grps选项。 空间电场(Electric Fields): 不支持。 混合量子力学与分子力学(QMMM): 不支持。 4. 测试方法 Gromacs从4.5版本开始支持GPU加速的分子动力 学模拟,GPU部分的计算使用了斯坦福大学生物医 学计算研究中心(Simbios NIH Center for Biomedical Computation at Stanford)的OpenMM库的加速支持, Gromacs和OpenMM两个部分均是开源的。当前 Gromacs对GPU的计算只能少部分的支持,同时在已 经支持的领域内也不是全部都能获得很好的加速效 果,例如,本文同时测试了针对GPU有良好加速性能 的隐式解法体系和针对GPU加速效果并不是很好的考 虑长程相互作用的PME方法体系。 在硬件上,当前版本的Gromacs仅支持NVIDIA公 司的GPU硬件,并需要CUDA环境的支持,同时不能 支持多GPU卡的并行计算。 本文的测试工作采用了Gromacs4.5.1,并使用了 两个典型的 GROMACS GPU 测试用例:dhfr-impl- inf和dhfr-solv-PME,前者为隐式解法的体系,因为 没有全局的相互作用而有非常好的并行加速效果, 后者为考虑了长程相互作用的PME方法体系。测试结 果给出平台每天可完成的分子动力学步数(ns/day/纳 秒每天为单位,越大越优)。 5. 测试结果与分析 表2给出了两个计算体系在不同的硬件环境下 的性能比较,测试结果的每个数据都是从5次以上 的重复测试中选出的最优值,其中CPU上分别采用 了从1个到32个线程的测试计算,GPU上分别采用了 ECC校验打开和关闭的测试计算。另外在图1中分别 给出了两个计算体系在不同的计算条件下的计算能 力对照柱状图。表3给出的是两个计算体系在不同的 硬件环境下的加速比,对应的在图2中分别给出了两 个计算体系在不同的计算条件下的加速对照柱状图。 表2 两个计算体系在不同的CPU 线程和GPU上的性能比较 ns/day CPU GPU 1 4 8 16 32 ECC/on ECC/off inf 0.728 2.894 5.438 9.286 14.160 69.050 75.842 PME 0.936 4.130 7.783 14.513 24.525 9.825 10.722 表3 两个计算体系在不同的CPU 线程和GPU上的加速比 ns/day CPU GPU 1 4 8 16 32 ECC/on ECC/off inf 1 3.98 7.47 12.76 19.45 94.85 104.18 PME 1 4.41 8.32 15.51 26.20 10.50 11.4660 《高性能计算发展与应用》 2011年第二期 总第三十五期 图1 两个计算体系在不同的CPU线程和GPU上的性能对 照柱状图 图2 两个计算体系在不同的CPU线程和GPU上的加速对 照柱状图 由表2、3和图1、2可以看到两个不同特点的 计算体系表现出了不同的计算效果。正如之前对计 算体系的介绍,对于inf体系,因为是隐式解法的体 系,没有全局的相互作用,表现出了非常好的并行 加速效果,尤其在GPU上表现出非常出众的加速比, 在ECC校验关闭的情况下甚至达到了一百倍以上的加 速效果。而对于PME体系,其全局通信的计算需求使 GPU上的计算效果表现平平,只表现出十倍的加速效 果,这一计算能力只是略优于CPU在8线程的情况。 6. 结论 本文就分子动力学软件GROMACS在GPU上的应 用做了介绍,到目前为止,与传统的CPU版本相比, GPU版本还有很多特性得不到支持,另外有一些参数 的设置甚至和CPU版本有一些差异,这可能会影响到 GROMACS-GPU应用的推广。另外,本文就两个有代 表的计算进行了跨平台的测试,在全局通信较少的 体系在GPU上表现出了较好的加速效果,而全局通信 较多的体系则表现一般,所以我们建议使用者也要 针对不同的研究体系做出一定的取舍和选择。 总之我们应该看到GPU版本所支持的计算特性 在逐步的增加,同时其良好的性能和相对较低的 硬件功耗和价格,这些都能让我们对GROMACS在 GPU上的应用发展有着良好的期待。 参考文献: [1] GROMACS: http://www.gromacs.org/ [2] 王丙强,分子动力学软件GROMACS,高性能计算发展与应用,2007,19(2),39 [3] 寇大治,左光宏,nPME对GROMACS性能的影响,高性能计算发展与应用,2010,33(4),65 [2] FFTW: http://www.fftw.org/61高性能计算应用 分子反应动力学理论及其软件的发展  韩克利 中科院大连化学物理研究所分子反应动力学国家重点实验室 大连 116023 摘要: 本文总结了我们研究小组20多年来在分子反应动力学方面理论及其软件的发展,包括基 于“瞬时碰撞模型”导出的产物分子转动角动量与反应物转动角动量以及轨道角动量之间的关 系式;把准经典轨线方法用于计算反应产物的转动取向;发展了非绝热含时波包方法等。 关键词:瞬时碰撞模型,准经典轨线,立体动力学,非绝热,含时波包 众所周知,理论与计算化学的发展离不开计算 方法和计算软件的发展。因此发展有效的理论计算 方法以及高效率的计算化学软件是理论化学家要解 决的首要问题。计算化学最成功例子就是高斯软件 包,它的创建者 John Pople1998 年获得了诺贝尔化学 奖,而高斯软件包已经广泛地被用于研究物理、化 学、生物、材料等领域,不仅理论学家使用它,实 验学家也广泛使用。计算化学软件的重要性显然是 不言而喻的。 理论与计算化学主要包含三个方面的内容: 处理电子运动的量子化学、基于统计力学的理论化 学、求解核运动方程的理论化学动力学。理论化学 动力学主要有四个方面的理论计算方法:基于量子 力学的量子动力学、以牛顿力学为基础的经典轨迹 方法、在经典理论中引入量子效应的半经典理论、 以及基于统计力学的过渡态理论。相对量子化学的 大量商用程序,很少有商业化的反应动力学程序, 从事分子反应动力学研究的科学家一般都是自己发 展计算方法,自己编写程序。 我们是上个世纪八十年代末开始从事分子反应 动力学的理论研究的。所进行的第一项工作是发展 了 “瞬时碰撞模型”,导出了产物转动角动量表达 式[1,2]。 (1) L是反应物轨道角动量, , rAB和rCB是B原子分别指向A原子和C原子的单位矢 量。µBC是BC分子的约化质量,而R指排斥能。这个 表达式已经广泛地被用于解释化学反应过程的矢量 相关。 第二项工作是把准经典轨线方法用于研究立体 反应动力学,编写了相应的程序[3-5]。该程序主要是 利用经典轨线方法,研究三原子反应体系的立体反 应动力学,可以计算反应截面、反应产物的振转分 布、平动分布、角度分布、以及转动定向与取向, 最大的特点是可以研究反应过程的矢量相关,计算 程序目前已经被国内外同行广泛使用。 第三项工作是我们利用密度矩阵理论导出了确 定对称陀螺分子转动取向的理论公式,并导出了激 光诱导荧光方法确定多原子分子转动取向的理论公 式。对称陀螺分子是多原子分子的最简单情况,而 且很多非对称陀螺的多原子分子可以近似看成对称 陀螺分子或者展开成对称陀螺分子的迭加。因此, 导出用偏振的激光诱导荧光方法确定对称陀螺分子 转动取向的理论公式,基本上就可以确定大多数多 原子产物分子的转动取向。这项工作的一个典型例 子是当对称(或非对称)陀螺分子吸收圆偏振光与 吸收线偏振光,其分子的角分布不一样,吸收圆偏 振光后其角分布为[6]: (2) 这里: 第四项工作是把含时量子波包方法用于研究强 激光场中的分子动力学问题,并将这一方法发展成为 研究强激光场中电子运动的阿秒动力学[7-9]。我们从 1997年开始把含时波包方法用于研究强飞秒激光场下62 《高性能计算发展与应用》 2011年第二期 总第三十五期 的分子动力学[9],并已经在国际刊物上发表近十篇学 术论文。最近我们把这种方法用于研究强场下阿秒分 辨的量子动力学。这是一个描述电子和原子核波包运 动的阿秒分辨的精确量子力学方法,并采用此法首 次计算了在强激光场下,电离电子与D2+离子再碰撞 几率与实验结果符合较好,并阐明了D+离子的产生机 制, 从而给出了D2分子在强场中量子纠缠的清晰物理 图像,证明了D+离子主要来源于第一光周期内第一次 电子返回引起的D2+的解离。2008年我们把这一方法 编写成可以供国内外同行使用的计算机程序[10],这将 会对这一学科的发展有一定的促进作用。 第五项代表性的工作是把含时量子波包方法用 于研究非绝热化学反应动力学[11-14]。由于电子的运 动速度比原子核快得多,现在处理大多数原子分子 碰撞问题的理论主要是基于波恩-奥本海默(BO) 近似,即把核运动和电子运动分开处理。通过电子 结构计算可以得到原子或分子间的相互作用势,即 势能面。在此基础上可开展动力学研究。当不同电 子态的势能面间相互作用很小时,其反应过程是绝 热的,动力学研究可以完全不用考虑核外电子的运 动。但当势能面间的相互作用很大或发生交叉,即 可能会发生非绝热动力学过程时,进行动力学研究 就必须考虑电子的运动。此时,动力学计算必须要 求解势能面间相互耦合的薛定谔方程。因此,进行 非绝热量子动力学研究一直是富有挑战性的课题。 近两年,我们已经成功地把含时波包方法应用于处 理涉及多个电子态的非绝热化学过程。相对于非含 时方法而言,含时方法物理概念简单明了,物理图 像清晰,既具有经典的直观性又具有量子力学的准 确性,而且计算量小,易推广到较大的反应体系。 在过去的研究中,含时波包方法已经被广泛地应用 于单个绝热势能面的三原子和四原子体系的动力学 研究中,但对涉及多个势能面的非绝热反应的研究 则鲜有报道。现在我们已经可以把含时非绝热计算 方法应用于研究非绝热化学反应、非绝热光解、以 及非绝热碰撞传能。我们2006年应邀发表在Int. Rev. Phys. Chem. 25(2006)201上面的文章,对我们的非绝热 量子含时波包理论进行了介绍和评述。这篇综述论 文发表后,得到了国际同行的重视,许多国际同行 主动与我们进行合作研究。例如:最近我们与美国 西北大学化学系教授、美国国家科学院院士、J. Phys. Chem.主编 George Schatz[15]、美国加州理工学院化 学系、量子散射领域的奠基人 Aron Kuppermann[16]等 国际同行一起发表学术论文。2008年应邀在 Phys. Chem. Chem. Phys. 上发表了Perspective文章,主要综 述了我们对“化学反应中的科里奥利耦合效应”的 贡献。2009年,被邀请在Journal of Computational Chemistry30(2009)305上发表量子动力学与变分过渡 态比较的综述性文章。 2009年我们与加州理工William A. Goddard III教 授合作对有机半导体材料载流子输运机制进行了研 究[17]。载流子迁移率各项异性是有机电子材料的内在 属性之一,在无外部条件影响下,它只与构成该有 机电子材料的分子的本身特性,以及这些分子相互 间排列堆栈结构体系有关。一直以来科学家都致力 于研究电子材料本身分子特性以及分子间排布结构 与载流子迁移率之间的关系。但是,由于有机半导 体材料的种类多样性、结构复杂性、状态不确定性 和弱相互作用等,使得建立载流子各项异性的模型 比较困难。我们提出一种把电子材料内部各个堆栈 方向的分子间电子耦合强度投影到空间任意方向的 方法,推导出有机半导体材料中载流子各项异性方 程: (3) (4) 我们的方程建立起有机电子材料载流子迁移率 与重要微观电子材料参数----分子间电子耦合( 电荷跃迁积分)与分子内振动耦合(电荷转移重组 能),以及有机材料内部分子堆栈体系参数之间的 关系。这个方程不但可以用来预测有机材料载流子 迁移率最大值的方向,而且通过此数值方程可实现 设计高电子性能有机材料。 最近我们开始编写基于紧束缚方法的含时密度 泛函计算程序,这个方法可用于研究复杂分子体系 的电子激发态问题。通过这些国家自然科学基金项 目,我们编写了一些分子反应动力学计算程序,这 些程序已经被许多同行使用,使用我们的计算软件 发表文章院校及科研单位有大连理工大学、山东大 学、中国科学院武汉物理与数学研究所、台湾高雄 应用科技大学、吉林大学、兰州大学、澳大利亚昆 士兰大学、荷兰Leiden大学、美国明尼苏达大学、新 加坡南洋理工大学等50多个。 建议:为了促进国内科技工作者使用我国科学 家自主编写的科学计算软件,建议国家自然科学基 金委设立专项基金,资助科学计算软件的推广。形 式可采用软件编写单位和基金委共同资助的方式, 主要资助博士毕业不久的青年科技工作者,每人得 到的资助额度不一定很高,但被资助项目要尽可能 的多,真正起到推广的作用,对我国的整体科研水 平将会有很大的提高。63高性能计算应用 参考文献: [1] Han K L, He G Z, Lou N Q. Chin. J. Chem. Phys. 1989, 2: 323. [2] Li R J, Han K L, et al. Chem. Phys. Lett. 1994, 220: 281 [3] Han K L, He G Z, Lou N Q. Chin. Chem. Lett. 1993, 4: 517. [4] Han K L, He G Z, Lou, N Q. J. Chem. Phys. 1996, 112: 8699. [5] Wang M L, Han K L, He G Z. J. Chem. Phys. 1998, 109: 5446. [6] Han K L. Phys. Rev. A 1997, 56: 4992. [7] Zhang H, Han K L et al. Chem. Phys. Lett. 1997, 271: 204. [8] Meng Q T, Yang G H, Sun H L, Lou N Q. Phys. Rev. A, 2003, 67: 063202 [9] Hu J, Han K L, He G Z. Phys. Rev. Lett. 2005, 95: 123001. [10] Lu R F, Zhang P Y, Han K L. Phys Rev E 2008, 77: 066701. [11] Xie T X, Zhang Y, Zhao M Y, Han K L, Phys. Chem. Chem. Phys. 2003, 5: 2034. [12] Chu T S, Zhang Y, Han K L. Int. Rev. Phys. Chem. 2006, 25: 201 [Invited Review article]. [13] Chu T S, Han K L. Phys. Chem. Chem. Phys. 2008, 10: 2431 [Invited Perspective Article]. [14] Ju L P, Han K L, Zhang, J Z H. J. Comput. Chem. 2009, 30: 305 [Invited Review Article] [15] Chu T S, Han K L, Schatz G C. J. Phys. Chem. A 2007, 111: 8286 [16] Chu T S, Han K L, Kuppermann A et al. J. Chem. Phys. 2009, 130: 144301 [17] Wen S H, Li A, Song J L, Deng W Q, Han K L. Goddard W A III. J. Phys. Chem. B 2009, 113: 8813 要 闻 集 锦 据www.hpcwire.com网站2010年5月23日消息报 道,近日,德国卡尔斯鲁厄理工学院(KIT)的科学家 们成功地在一束激光上实现了每秒26TB的数据传输速 率,相当于在一秒钟内传输700张DVD光盘的内容,创 造了新的数据传输世界纪录。 在此次实验中,由Jürg Leuthold教授领导的KIT科 学家小组打破了他们自己在2010年创造的每秒10TB数 据传输纪录。此次更高速率的突破归功于新的数据解码 处理。这种新的光电解码方法基于最高数据速率的光学 计算,但需要把高数据速率拆分为可以进行电子化处理 的小比特率。这种比特率的光学缩减是必需的,因为没 有一种电子处理方法可以达到每秒26TB的数据速率。 Leuthold的小组使用正交频分复用(OFDM)技术 来记录数据编码。多年来,这一方法已成功地应用于 移动通信,它基于快速傅里叶变换的数学原理。Leu- thold表示:“我们所面临的挑战在于,要实现每秒传 输26TB数据,则数据处理的速度也要相应提高,且不 是一千倍,而是一百万倍。决定性的创新概念就是数学 程序的光学实现。”光学计算不仅速度极快,而且能耗 很低,因为只有激光和几个处理步骤需要能源。 Leuthold表示:“几年前,即使对于配备了激光器 的系统而言,每秒26TB的数据传输速率都被认为是空 想,而且不会有任何应用。每秒传输26TB数据,意味 着可以同时传送多达4亿个电话。当时没有人需要它。 但是现在,情况不同了”。 当前,视频传输已在互联网上占据了主导地位, 它要求非常高的比特率,而且需求还在不断增加,可以 预见,新的数据处理和传输技术将成为未来的技术研究 重点。 德国科学家创数据传输的世界纪录 (王 旦)64 《高性能计算发展与应用》 2011年第二期 总第三十五期 国家超级计算天津中心  朱小谦 国家超级计算天津中心 天津 300457 1. 中心背景及建设情况 高性能计算发展水平是衡量一个国家科技综合 实力的重要指标,世界各主要发达国家都将高性能 计算机的研制和应用作为科技与经济发展重要的战 略制高点,我国也大力加强高性能计算技术的研究 和应用。以国家高技术研究发展计划(863计划)信 息技术领域“高效能计算机及网格服务环境”重大 项目“千万亿次高效能计算机系统”为基础,国家 科技部于2009年5月批准成立国家超级计算天津中心 (NSCC-TJ,简称天津中心),由天津市滨海新区和 国防科技大学合作共同建设。共建天津中心是贯彻 落实胡锦涛总书记关于走军民融合式发展道路指示 精神的重大举措,是充分发挥国防科技成果对国家 战略性新兴产业发展的牵引作用、为国民经济建设 服务的成功实践。 天津中心的目标是:构建天津市滨海新区高端 信息产业基地;为天津、环渤海湾,乃至全国范围 的企业和科研院所提供高性能计算服务;提高国家 科技创新能力和促进产业技术创新。 国家超级计算天津中心实行理事会领导下的主 任负责制,由设备运行管理部、系统技术支持部、 应用推广部、应用研发部等业务部门和人力资源 部、财务部等行政部门组成。目前,天津中心有员 工30人,其中硕士及以上学历20人。 国家超级计算天津中心位于天津经济技术开发 区泰达服务外包产业园天河楼,使用的建筑面积约 8500平方米。 图1 国家超级计算天津中心 天津中心于2009年6月启动建设,得到了国家 科技部、天津市、滨海新区和国防科学技术大学的 高度重视和大力支持,配套基础设施建设和业务主 机研制两条“战线”齐头并进、进展顺利。2009年 12月,“天河一号”一期系统(TH-1)的部分系 统作为第一批计算资源落户天津中心,开始为用 户提供计算服务。2010年6月,完成了包括机房、 电站、制冷站、机房配电、机房空调等配套基础 设施的建设任务。从2010年7月开始,先后完成了 “天河一号”二期系统(TH-1A)的安装、调试和 LINPACK测试。“天河一号”超级计算机在2010年 11月发布的第36届世界超级计算机TOP500排名中位 列世界第一。此后,天津中心基于“天河一号”系 统逐步开展用户大规模试用和应用推广工作,目前 已经取得重大进展。 图2 “天河一号”TOP500世界第一证书 2. 中心资源 天津中心目前主要安装了四台高性能计算机系 统,分别为TH-1A系统,系统A(TH-1),系统B和 系统C。 TH-1A系统 TH-1A系统于2010年9月在国家超级计算天津中 心升级完成,参加2010年11月世界超级计算机TOP 500排名,位列世界第一,实现了从亚洲第一向世界 第一的重大跨越,取得了我国自主研制超级计算机 综合技术水平进入世界领先行列的历史性突破。TH- 1A系统装机使得天津中心成为我国首个拥有千万亿 次计算机的超级计算中心,也是世界上少数几个拥65超级计算中心 有千万亿次计算机的科研和公共服务机构之一。 图3 TH-1A系统 TH-1A系统主要配置如下:  CPU和GPU相结合的异构协同并行处理体系 架构  峰值计算性能4.7PFlops,LINPACK实测性能 2.566PFlops  由7168个计算节点组成,包括14336个英 特尔至强 X5670 CPU,7168个英伟达 M2050 GPU, 2048个自主FT-1000 CPU  采用“天河”高速互连系统,点点单向带宽 80Gbps  内存总量为262TB,磁盘总容量2PB  支持MPI 、OpenMPI和MPICH2等;支持C、 C++、Fortran77/90/95、Java语言,CUDA编程模型  高效的资源管理系统 系统A(TH-1) “ 天 河 一 号 ” 系 统 从 2 0 0 7 年 开 始 研 制 , 于 2009年9月完成了一期系统研制,峰值速度为每秒 1206万亿次双精度浮点运算(TFlops),是我国首台 千万亿次超级计算机。 目前,天津中心部署了“天河一号”一期部分 系统(系统A,TH-1),主要配置如下:  由256个计算节点组成,共计512个英特尔至 强E5450 CPU,主频3.0GHz  采用高速Infiniband互联  内存总容量8TB,磁盘总容量128TB  支持C、C++、Fortran,Java,MPI等编程语 言及模型,适应各种应用软件 图4 系统A(TH-1) 系统B(集群系统) 系统B(集群系统)主要配置如下:  8个8路8核CPU节点,共64个英特尔X7550 CPU  节点内存256GB,系统内存总容量2TB  节点磁盘600GB*2 SAS存储,共享磁盘14TB  千兆以太网互联 系统C(云计算系统) 系统C(云计算系统)主要配置如下:  16个双路4核E5450 CPU节点和64个双路6核 X5670 CPU节点  内存总容量2.75TB,磁盘总容量144TB  千兆以太网互联  部署云计算平台 天津中心目前安装部署的商业或开源软件如表 1所示,主要用于科学计算、工程仿真、生物医药等 应用领域。 表1 天津中心部署的应用软件 计算结构力学分析软件: LS-DYNA 生物医药领域: NAMD ANSYS.Multiphysics GROMACS 计算流体力学分析软件 FLUENT DESMOND CFX AUTODOCK OpenFOAM DOCK NUMECA EGO 天体物理软件 Gadget2 计算材料科学: LAMMPS 计算化学领域: Nwchem DL_POLY Gamess ESPRESSO CP2K SIESTA CPMD SMEAGOL 气象领域: GRAPES GULP WRF PWSCF MM5 ABINIT 66 《高性能计算发展与应用》 2011年第二期 总第三十五期 3. 中心已开展的服务领域 国家超级计算天津中心紧紧围绕国家战略性新 兴产业和滨海新区支柱性产业的发展,在高端装备 制造、土木工程设计、新能源新材料、生物医药、 石油勘探、动漫与影视制作、气象预报、遥感数据 处理、金融风险分析、海洋环境工程等领域开展应 用。目前,天津中心与企业、科研院所和高校开展 合作,注册用户超过110个,为100多家用户单位提 供了高性能计算服务。这些应用工作的开展,充分 表明“天河一号”超级计算机系统具有强大的计算 能力和系统稳定性,也表明天津中心已经初步具备 了持续提供高性能计算服务的能力。 “十二五”期间,根据国家发展战略和天津滨 海新区产业布局,结合滨海新区及环渤海地区现有 的产业特点和应用需求,天津中心将利用自身的计 算资源优势,推广和建设以下应用平台: (1)高端装备制造设计平台:天津汽车模具有 限公司、天津一汽等企业已经成为中心用户,依托 该平台开展工程仿真设计方面的应用。 (2)生物医药信息处理平台:天津中心已与 天津国际生物医药联合研究院签订合作协议,并联 合南开大学药学院、化学院、天津大学药学院等单 位,共同构建国家生物医药信息处理平台,开展生 物医药分子动力学模拟和虚拟药物筛选工作。 (3)动漫与影视渲染平台:天津中心已与中新 生态城国家动漫产业示范园签订合作协议,共同建 设中国一流的动漫设计基地。现已完成前期技术测 试和准备工作,正进行软件部署和系统配置优化。 (4)石油勘探数据处理平台:天津中心已经与 中石油签订合作协议,并联合中石化、中海油等有 关部门为我国主要油田提供陆地和海洋地震数据的 二维和三维资料处理计算服务,提高石油勘探数据 处理效率。 (5)政府政务公开及服务信息化平台:天津中 心规划建设面向医疗卫生、智能交通、物联网和视 频点播等应用领域的信息服务平台。 天津中心将进一步加强与大学、科研机构的合 作,发挥各自资源和技术优势,提升高性能计算应 用水平,促进产学研结合,为天津及环渤海地区高 端信息技术产业发展、产业结构调整和社会可持续 发展提供强大技术支撑。67要闻集锦 要 闻 集 锦 我国第一台实测性能超千万亿次的超级计算机曙 光“星云”目前正在深圳超算中心安装,将于今年7月 份正式运行。 曙光“星云”由坐落在天津滨海高新技术产业开 发区内的曙光公司天津产业基地研制生产,2010年6月 1日正式对外发布,是我国第一台、世界第三台实测双 精度浮点计算超过千万亿次的超级计算机。在2010年 11月17日发布的第36届全球超级计算机500强排名中, 名列第三位。 曙光公司总裁历军表示,“星云”是中国第一台 面向未来“云计算”环境设计的超级计算机系统,强调 系统的均衡设计和资源动态调度能力,将成为我国新一 代超级云计算中心建设的主力机种。 据曙光公司介绍,按照原计划,“星云”应该在 2010年11月中旬交付深圳超算中心投入商业应用,但由 于深圳的机房工程原因,再加上气候因素影响,“星 云”交付的时间一再被推迟。经过与深圳方面的沟 通,“星云”暂时在天津“异地”为深圳超算中心工 作。由于目前安装条件已具备,今年5月,“星云”运 抵深圳超算中心,并开始安装和调试。 历军表示,超级计算机“星云”在深圳超算中心 运行后,将为深圳的信息产业综合实力、政府服务职能 信息化水平、增强城市持续创新能力和核心竞争力提供 强大的技术支撑。同时,对于推动深圳产业转型、将深 圳打造成为中国乃至亚太地区云计算发展的领先城市也 同样有着深远的影响。 超级计算机“星云”实测超千万亿次 (魏 嘉) 据www.cray.com网站2011年5月24日消息报道,美 国Cray公司于当天在美国阿拉斯加召开的2011年Cray用 户群会议上发布了旗下最新一代超级计算机Cray XK6。 这台备受瞩目的系统将是Cray公司首次在超级计算机中 采用CPU+GPU的混合结构,其中CPU将使用AMD公 司的16核Opteron 6200系列,GPU则是NVIDIA公司的 Tesla X2090;结合Cray独有的Gemini互连网络,Cray XK6的最高性能可达50Pflops。 Cray XK6系统的每个机柜最多可安装96个CPU和 96个GPU,单机柜的峰值性能最高可达70Tflops。每 个计算节点配备16GB或32GB DDR3 SDRAM和6GB GDDR5存储器。系统互连采用Cray独有的Gemini技术 和3D环网,每个Gemini路由芯片有48个交换端口,内 部交换速度为160GB/s。 Cray XK6单个机柜大小为2.362米(高)×0.572米 (宽)×1.441米(深);单机柜功耗为45~54.1kW(取 决于不同的配置);系统冷却可选用风冷或液冷,风冷 冷却的空气流速为每秒1.41立方米,底部进入、顶部排 出;液冷使用ECOphlex液冷技术。单个机柜的重量为 725kg(风冷)或907kg(液冷)。 Cray XK6系统引入了创新的统一x86/GPU编程环 境,其中包括了功能强大的工具、库、编译器和第三方 软件,它们与Cray Linux Environment操作系统紧密结 合,能大幅提高编程人员的效率。 按照计划,首台Cray XK6系统将于2011年下半年 交付给瑞士国家超级计算中心使用,目前双方还没有透 露所交付系统的机柜数和最终性能。 此外,Cray公司也声明,已知和未知的风险与不 确定性都将影响Cray XK6是否能按时推出。可能会影 响未来结果的因素包括:Cray公司能否成功完成Cray XK6的相关预期开发;Cray XK6系统能否按预期实现 用户所需要的功能;AMD Opteron 6200处理器能否按 预期提供使用;能否顺利升级使用NVIDIA 2090众核 GPU;以及其它一些未知的风险。 Cray发布最高性能达50P的新一代超级计算机 (李苏 肖湄)68 《高性能计算发展与应用》 2011年第二期 总第三十五期 要 闻 集 锦 科研人员开展工作要与大量收集来的数字数据打 交道,而要掌控堆积如山的信息就要仰仗计算机的计算 能力了,计算机性能不仅可以辅助科研工作,还可为科 研项目定性。 计算机展示强大性能 在一片漆黑的影院里,头顶上方的一块大屏幕展 现出一片清晰度类似Imax屏幕的红杉树林,观众仿佛在 树林里游荡。 观众激动不已,随后禁不住感到一阵头晕目眩。 摄像机潜入树林深处,靠近巨型红杉树的一根枝条,接 着进入一片树叶,而后钻进了一个细胞。加利福尼亚科 学院莫里森天文馆新馆上周进行的名为“生命:一次宇 宙之旅”的多媒体展示所仰仗的不仅是计算机动画制作 技术,还有大量数字化科学数据。 莫里森天文馆的这场展示可谓一次视觉盛宴。它 向人们表明,计算机强大的性能而今正在彻底改变科 学,并给科学家们提供各种科学仪器,其对当前科研工 作的重要意义相当于显微镜和望远镜之于较早期科学家 的意义。 科学家眼中的“放大镜” 当前进行科研工作仍要用到物理技术新式电子显 微镜、望远镜和粒子对撞机。但这些技术而今已与计算 机性能密不可分了。计算机性能不仅可以辅助科研工 作,还可为科研项目定性:研究对象是什么、有什么新 问题及有何答案。 在莫里森天文馆新馆放映的首部作品《脆弱的 星球》中,观众从视觉上穿过天文馆屋顶,先绕着伦 佐•皮亚诺设计的这座博物馆飞出一个优美的弧形,而 后很快飞入太阳系,开始宇宙探索之旅。过去,莫里森 天文馆老馆用家庭星象投影仪将视觉图像投映到屋顶 上。而今,支持新放映系统的是三个计算机处理系统。 这三个计算机处理系统可存储大量数据,放映系统由此 既可充当望远镜,也可充当显微镜。从小得不可思议到 大得不可想象,这座计算机化的天文馆可准确无误地对 展示物变化12个数量级。莫里森天文馆馆长、天文学家 瑞安•怀亚特说,它可从亚原子变为大型宇宙结构。 印第安纳大学计算机科学家、科学显像专家凯 蒂•博尔纳说,它就是一个“放大镜”。博尔纳用“放 大镜”这个词来形容以计算机为基础的新型科学仪器。 莫里森天文馆新馆的视觉物理仪器就属于新型科学仪 器。它们都是综合仪器,配有不同的物理仪器。这些物 理仪器安装了强大、灵活的软件程序,由此就完全变成 了一个科研工作台。为解决特定科研问题,还可通过软 件混搭改装工作台。 以多种方式重塑科研 莫里森天文馆设计的这个放大镜是为了进行教 学,但也可用于科研。其本质就是用不同方法处理巨 型数据库。博尔纳博士在《电子计算机学会通讯》(3月 号)上撰文写道,放大镜提供了各种不同的视野,由此 帮助我们综合处理相关因素,并测出模型、趋势和异常 数据,同时还可让我们获得无数的具体信息。她说,过 去,一些现象和过程对于人眼和人脑而言过大、过慢或 过于复杂,人们因此无法注意到或理解这些现象和过 程,而今,以软件为主的科研仪器使得发现这些现象和 过程成为可能。 超级计算机让动画逼近现实 (魏 嘉)

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档

相关文档